
netmsg.exe:     file format pei-i386

Disassembly of section .text:

00401000 <___crt_xc_end__>:
  401000:	55                   	push   %ebp
  401001:	89 e5                	mov    %esp,%ebp
  401003:	83 ec 28             	sub    $0x28,%esp
  401006:	c7 44 24 04 04 a0 40 	movl   $0x40a004,0x4(%esp)
  40100d:	00 
  40100e:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  401011:	89 44 24 10          	mov    %eax,0x10(%esp)
  401015:	a1 50 a3 40 00       	mov    0x40a350,%eax
  40101a:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  401021:	c7 04 24 00 a0 40 00 	movl   $0x40a000,(%esp)
  401028:	89 44 24 0c          	mov    %eax,0xc(%esp)
  40102c:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
  40102f:	89 44 24 08          	mov    %eax,0x8(%esp)
  401033:	e8 c8 7d 00 00       	call   408e00 <___getmainargs>
  401038:	89 ec                	mov    %ebp,%esp
  40103a:	5d                   	pop    %ebp
  40103b:	c3                   	ret    
  40103c:	8d 74 26 00          	lea    0x0(%esi),%esi

00401040 <__mingw32_init_fmode>:
  401040:	55                   	push   %ebp
  401041:	89 e5                	mov    %esp,%ebp
  401043:	83 ec 08             	sub    $0x8,%esp
  401046:	a1 60 a3 40 00       	mov    0x40a360,%eax
  40104b:	85 c0                	test   %eax,%eax
  40104d:	74 57                	je     4010a6 <__mingw32_init_fmode+0x66>
  40104f:	a3 70 a3 40 00       	mov    %eax,0x40a370
  401054:	a1 e0 62 41 00       	mov    0x4162e0,%eax
  401059:	85 c0                	test   %eax,%eax
  40105b:	75 5a                	jne    4010b7 <__mingw32_init_fmode+0x77>
  40105d:	83 f8 e0             	cmp    $0xffffffe0,%eax
  401060:	74 22                	je     401084 <__mingw32_init_fmode+0x44>
  401062:	83 c0 20             	add    $0x20,%eax
  401065:	89 04 24             	mov    %eax,(%esp)
  401068:	e8 73 7d 00 00       	call   408de0 <__fileno>
  40106d:	8b 15 60 a3 40 00    	mov    0x40a360,%edx
  401073:	89 04 24             	mov    %eax,(%esp)
  401076:	89 54 24 04          	mov    %edx,0x4(%esp)
  40107a:	e8 71 7d 00 00       	call   408df0 <__setmode>
  40107f:	a1 e0 62 41 00       	mov    0x4162e0,%eax
  401084:	83 f8 c0             	cmp    $0xffffffc0,%eax
  401087:	74 1d                	je     4010a6 <__mingw32_init_fmode+0x66>
  401089:	83 c0 40             	add    $0x40,%eax
  40108c:	89 04 24             	mov    %eax,(%esp)
  40108f:	e8 4c 7d 00 00       	call   408de0 <__fileno>
  401094:	8b 15 60 a3 40 00    	mov    0x40a360,%edx
  40109a:	89 04 24             	mov    %eax,(%esp)
  40109d:	89 54 24 04          	mov    %edx,0x4(%esp)
  4010a1:	e8 4a 7d 00 00       	call   408df0 <__setmode>
  4010a6:	e8 25 7d 00 00       	call   408dd0 <___p__fmode>
  4010ab:	8b 15 70 a3 40 00    	mov    0x40a370,%edx
  4010b1:	89 10                	mov    %edx,(%eax)
  4010b3:	89 ec                	mov    %ebp,%esp
  4010b5:	5d                   	pop    %ebp
  4010b6:	c3                   	ret    
  4010b7:	89 04 24             	mov    %eax,(%esp)
  4010ba:	e8 21 7d 00 00       	call   408de0 <__fileno>
  4010bf:	8b 15 60 a3 40 00    	mov    0x40a360,%edx
  4010c5:	89 04 24             	mov    %eax,(%esp)
  4010c8:	89 54 24 04          	mov    %edx,0x4(%esp)
  4010cc:	e8 1f 7d 00 00       	call   408df0 <__setmode>
  4010d1:	a1 e0 62 41 00       	mov    0x4162e0,%eax
  4010d6:	eb 85                	jmp    40105d <__mingw32_init_fmode+0x1d>
  4010d8:	90                   	nop    
  4010d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

004010e0 <__gnu_exception_handler@4>:
  4010e0:	55                   	push   %ebp
  4010e1:	89 e5                	mov    %esp,%ebp
  4010e3:	83 ec 18             	sub    $0x18,%esp
  4010e6:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  4010e9:	8b 45 08             	mov    0x8(%ebp),%eax
  4010ec:	31 db                	xor    %ebx,%ebx
  4010ee:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  4010f1:	31 f6                	xor    %esi,%esi
  4010f3:	8b 00                	mov    (%eax),%eax
  4010f5:	8b 00                	mov    (%eax),%eax
  4010f7:	3d 91 00 00 c0       	cmp    $0xc0000091,%eax
  4010fc:	0f 87 be 00 00 00    	ja     4011c0 <__gnu_exception_handler@4+0xe0>
  401102:	3d 8d 00 00 c0       	cmp    $0xc000008d,%eax
  401107:	73 67                	jae    401170 <__gnu_exception_handler@4+0x90>
  401109:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
  40110e:	74 0e                	je     40111e <__gnu_exception_handler@4+0x3e>
  401110:	89 d8                	mov    %ebx,%eax
  401112:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  401115:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  401118:	89 ec                	mov    %ebp,%esp
  40111a:	5d                   	pop    %ebp
  40111b:	c2 04 00             	ret    $0x4
  40111e:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
  401125:	00 
  401126:	c7 04 24 0b 00 00 00 	movl   $0xb,(%esp)
  40112d:	e8 8e 7c 00 00       	call   408dc0 <_signal>
  401132:	83 f8 01             	cmp    $0x1,%eax
  401135:	74 22                	je     401159 <__gnu_exception_handler@4+0x79>
  401137:	85 c0                	test   %eax,%eax
  401139:	74 d5                	je     401110 <__gnu_exception_handler@4+0x30>
  40113b:	c7 04 24 0b 00 00 00 	movl   $0xb,(%esp)
  401142:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  401149:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  401150:	ff d0                	call   *%eax
  401152:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
  401157:	eb b7                	jmp    401110 <__gnu_exception_handler@4+0x30>
  401159:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
  401160:	00 
  401161:	c7 04 24 0b 00 00 00 	movl   $0xb,(%esp)
  401168:	e8 53 7c 00 00       	call   408dc0 <_signal>
  40116d:	eb e3                	jmp    401152 <__gnu_exception_handler@4+0x72>
  40116f:	90                   	nop    
  401170:	be 01 00 00 00       	mov    $0x1,%esi
  401175:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
  40117c:	00 
  40117d:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
  401184:	e8 37 7c 00 00       	call   408dc0 <_signal>
  401189:	83 f8 01             	cmp    $0x1,%eax
  40118c:	74 11                	je     40119f <__gnu_exception_handler@4+0xbf>
  40118e:	85 c0                	test   %eax,%eax
  401190:	0f 84 7a ff ff ff    	je     401110 <__gnu_exception_handler@4+0x30>
  401196:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
  40119d:	eb b1                	jmp    401150 <__gnu_exception_handler@4+0x70>
  40119f:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
  4011a6:	00 
  4011a7:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
  4011ae:	e8 0d 7c 00 00       	call   408dc0 <_signal>
  4011b3:	85 f6                	test   %esi,%esi
  4011b5:	74 9b                	je     401152 <__gnu_exception_handler@4+0x72>
  4011b7:	e8 f4 7d 00 00       	call   408fb0 <__fpreset>
  4011bc:	eb 94                	jmp    401152 <__gnu_exception_handler@4+0x72>
  4011be:	89 f6                	mov    %esi,%esi
  4011c0:	3d 93 00 00 c0       	cmp    $0xc0000093,%eax
  4011c5:	74 a9                	je     401170 <__gnu_exception_handler@4+0x90>
  4011c7:	3d 94 00 00 c0       	cmp    $0xc0000094,%eax
  4011cc:	74 a7                	je     401175 <__gnu_exception_handler@4+0x95>
  4011ce:	e9 3d ff ff ff       	jmp    401110 <__gnu_exception_handler@4+0x30>
  4011d3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4011d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004011e0 <___mingw_CRTStartup>:
  4011e0:	55                   	push   %ebp
  4011e1:	89 e5                	mov    %esp,%ebp
  4011e3:	83 ec 18             	sub    $0x18,%esp
  4011e6:	c7 04 24 e0 10 40 00 	movl   $0x4010e0,(%esp)
  4011ed:	89 5d fc             	mov    %ebx,0xfffffffc(%ebp)
  4011f0:	e8 0b 17 00 00       	call   402900 <_SetUnhandledExceptionFilter@4>
  4011f5:	83 ec 04             	sub    $0x4,%esp
  4011f8:	e8 b3 7d 00 00       	call   408fb0 <__fpreset>
  4011fd:	e8 fe fd ff ff       	call   401000 <___crt_xc_end__>
  401202:	e8 39 fe ff ff       	call   401040 <__mingw32_init_fmode>
  401207:	e8 74 7d 00 00       	call   408f80 <__pei386_runtime_relocator>
  40120c:	e8 9f 7b 00 00       	call   408db0 <___p__environ>
  401211:	8b 00                	mov    (%eax),%eax
  401213:	89 44 24 08          	mov    %eax,0x8(%esp)
  401217:	a1 04 a0 40 00       	mov    0x40a004,%eax
  40121c:	89 44 24 04          	mov    %eax,0x4(%esp)
  401220:	a1 00 a0 40 00       	mov    0x40a000,%eax
  401225:	89 04 24             	mov    %eax,(%esp)
  401228:	e8 73 10 00 00       	call   4022a0 <_main>
  40122d:	89 c3                	mov    %eax,%ebx
  40122f:	e8 6c 7b 00 00       	call   408da0 <__cexit>
  401234:	89 1c 24             	mov    %ebx,(%esp)
  401237:	e8 d4 16 00 00       	call   402910 <_ExitProcess@4>
  40123c:	8d 74 26 00          	lea    0x0(%esi),%esi

00401240 <_mainCRTStartup>:
  401240:	55                   	push   %ebp
  401241:	89 e5                	mov    %esp,%ebp
  401243:	83 ec 08             	sub    $0x8,%esp
  401246:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  40124d:	ff 15 c0 62 41 00    	call   *0x4162c0
  401253:	e8 88 ff ff ff       	call   4011e0 <___mingw_CRTStartup>
  401258:	89 ec                	mov    %ebp,%esp
  40125a:	31 c0                	xor    %eax,%eax
  40125c:	5d                   	pop    %ebp
  40125d:	c3                   	ret    
  40125e:	89 f6                	mov    %esi,%esi

00401260 <_WinMainCRTStartup>:
  401260:	55                   	push   %ebp
  401261:	89 e5                	mov    %esp,%ebp
  401263:	83 ec 08             	sub    $0x8,%esp
  401266:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
  40126d:	ff 15 c0 62 41 00    	call   *0x4162c0
  401273:	e8 68 ff ff ff       	call   4011e0 <___mingw_CRTStartup>
  401278:	89 ec                	mov    %ebp,%esp
  40127a:	31 c0                	xor    %eax,%eax
  40127c:	5d                   	pop    %ebp
  40127d:	c3                   	ret    
  40127e:	89 f6                	mov    %esi,%esi

00401280 <_atexit>:
  401280:	55                   	push   %ebp
  401281:	89 e5                	mov    %esp,%ebp
  401283:	83 ec 08             	sub    $0x8,%esp
  401286:	8b 45 08             	mov    0x8(%ebp),%eax
  401289:	89 04 24             	mov    %eax,(%esp)
  40128c:	ff 15 00 63 41 00    	call   *0x416300
  401292:	89 ec                	mov    %ebp,%esp
  401294:	5d                   	pop    %ebp
  401295:	c3                   	ret    
  401296:	8d 76 00             	lea    0x0(%esi),%esi
  401299:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004012a0 <__onexit>:
  4012a0:	55                   	push   %ebp
  4012a1:	89 e5                	mov    %esp,%ebp
  4012a3:	83 ec 08             	sub    $0x8,%esp
  4012a6:	8b 45 08             	mov    0x8(%ebp),%eax
  4012a9:	89 04 24             	mov    %eax,(%esp)
  4012ac:	ff 15 ec 62 41 00    	call   *0x4162ec
  4012b2:	89 ec                	mov    %ebp,%esp
  4012b4:	5d                   	pop    %ebp
  4012b5:	c3                   	ret    
  4012b6:	90                   	nop    
  4012b7:	90                   	nop    
  4012b8:	90                   	nop    
  4012b9:	90                   	nop    
  4012ba:	90                   	nop    
  4012bb:	90                   	nop    
  4012bc:	90                   	nop    
  4012bd:	90                   	nop    
  4012be:	90                   	nop    
  4012bf:	90                   	nop    

004012c0 <___do_sjlj_init>:
  4012c0:	55                   	push   %ebp
  4012c1:	89 e5                	mov    %esp,%ebp
  4012c3:	5d                   	pop    %ebp
  4012c4:	e9 57 78 00 00       	jmp    408b20 <___w32_sharedptr_initialize>
  4012c9:	90                   	nop    
  4012ca:	90                   	nop    
  4012cb:	90                   	nop    
  4012cc:	90                   	nop    
  4012cd:	90                   	nop    
  4012ce:	90                   	nop    
  4012cf:	90                   	nop    

004012d0 <_HSTART@8>:
screen 12
#endif 

#ifdef __FB_WIN32__
function hStart( byval verhigh as integer = 2, byval verlow as integer = 0 ) as integer
  4012d0:	55                   	push   %ebp
  4012d1:	89 e5                	mov    %esp,%ebp
  4012d3:	81 ec 94 01 00 00    	sub    $0x194,%esp
  4012d9:	53                   	push   %ebx
  4012da:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	dim wsaData as WSAData
  4012e1:	8d 85 6c fe ff ff    	lea    0xfffffe6c(%ebp),%eax
  4012e7:	50                   	push   %eax
  4012e8:	57                   	push   %edi
  4012e9:	89 c7                	mov    %eax,%edi
  4012eb:	31 c0                	xor    %eax,%eax
  4012ed:	b9 64 00 00 00       	mov    $0x64,%ecx
  4012f2:	f3 ab                	repz stos %eax,%es:(%edi)
  4012f4:	5f                   	pop    %edi
  4012f5:	58                   	pop    %eax
	
	if( WSAStartup( MAKEWORD( verhigh, verlow ), @wsaData ) <> 0 ) then
  4012f6:	8d 85 6c fe ff ff    	lea    0xfffffe6c(%ebp),%eax
  4012fc:	50                   	push   %eax
  4012fd:	8a 45 08             	mov    0x8(%ebp),%al
  401300:	0f b6 d8             	movzbl %al,%ebx
  401303:	8a 45 0c             	mov    0xc(%ebp),%al
  401306:	66 0f b6 c8          	movzbw %al,%cx
  40130a:	0f b7 c9             	movzwl %cx,%ecx
  40130d:	c1 e1 08             	shl    $0x8,%ecx
  401310:	09 cb                	or     %ecx,%ebx
  401312:	53                   	push   %ebx
  401313:	e8 08 16 00 00       	call   402920 <_WSAStartup@8>
  401318:	85 c0                	test   %eax,%eax
  40131a:	74 09                	je     401325 <_HSTART@8+0x55>
		return FALSE
  40131c:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  401323:	eb 33                	jmp    401358 <_HSTART@8+0x88>
	end if
	
	if( wsaData.wVersion <> MAKEWORD( verhigh, verlow ) ) then
  401325:	8a 45 08             	mov    0x8(%ebp),%al
  401328:	0f b6 d8             	movzbl %al,%ebx
  40132b:	8a 45 0c             	mov    0xc(%ebp),%al
  40132e:	66 0f b6 c8          	movzbw %al,%cx
  401332:	0f b7 c9             	movzwl %cx,%ecx
  401335:	c1 e1 08             	shl    $0x8,%ecx
  401338:	09 cb                	or     %ecx,%ebx
  40133a:	66 39 9d 6c fe ff ff 	cmp    %bx,0xfffffe6c(%ebp)
  401341:	74 0e                	je     401351 <_HSTART@8+0x81>
		WSACleanup( )	
  401343:	e8 e8 15 00 00       	call   402930 <_WSACleanup@0>
		return FALSE
  401348:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  40134f:	eb 07                	jmp    401358 <_HSTART@8+0x88>
	end if
	
	function = TRUE
  401351:	c7 45 fc 01 00 00 00 	movl   $0x1,0xfffffffc(%ebp)

end function
  401358:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  40135b:	5b                   	pop    %ebx
  40135c:	89 ec                	mov    %ebp,%esp
  40135e:	5d                   	pop    %ebp
  40135f:	c2 08 00             	ret    $0x8
  401362:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  401369:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401370 <_HSHUTDOWN@0>:
function hShutdown( ) as integer
  401370:	55                   	push   %ebp
  401371:	89 e5                	mov    %esp,%ebp
  401373:	83 ec 04             	sub    $0x4,%esp
  401376:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)

	function = WSACleanup( )
  40137d:	e8 ae 15 00 00       	call   402930 <_WSACleanup@0>
  401382:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	
end function
  401385:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401388:	89 ec                	mov    %ebp,%esp
  40138a:	5d                   	pop    %ebp
  40138b:	c3                   	ret    
  40138c:	8d 74 26 00          	lea    0x0(%esi),%esi

00401390 <_HRESOLVE@4>:
#define hPrintError(e) print "error calling "; #e; ": "; WSAGetLastError( )

#endif
#ifdef __FB_LINUX__
'
' Linux does NOT need socket library inits, unlike Windows...
'
function hStart() as integer
	return TRUE
end function

function hShutdown() as Integer
	return hStart()
end function
#define hPrintError(e) print "error calling "; #e; "."  
#endif
function hResolve( byval hostname as string ) as integer
  401390:	55                   	push   %ebp
  401391:	89 e5                	mov    %esp,%ebp
  401393:	83 ec 0c             	sub    $0xc,%esp
  401396:	53                   	push   %ebx
  401397:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	dim ia as in_addr
  40139e:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
	dim hostentry as hostent ptr
  4013a5:	c7 45 f4 00 00 00 00 	movl   $0x0,0xfffffff4(%ebp)

	'' check if it's an ip address
	ia.S_addr = inet_addr( hostname )
  4013ac:	ff 75 08             	pushl  0x8(%ebp)
  4013af:	e8 8c 15 00 00       	call   402940 <_inet_addr@4>
  4013b4:	89 45 f8             	mov    %eax,0xfffffff8(%ebp)
	if ( ia.S_addr = INADDR_NONE ) then
  4013b7:	83 7d f8 ff          	cmpl   $0xffffffff,0xfffffff8(%ebp)
  4013bb:	75 22                	jne    4013df <_HRESOLVE@4+0x4f>
		
		'' if not, assume it's a name, resolve it
		hostentry = gethostbyname( hostname )
  4013bd:	ff 75 08             	pushl  0x8(%ebp)
  4013c0:	e8 8b 15 00 00       	call   402950 <_gethostbyname@4>
  4013c5:	89 45 f4             	mov    %eax,0xfffffff4(%ebp)
		if ( hostentry = 0 ) then
  4013c8:	83 7d f4 00          	cmpl   $0x0,0xfffffff4(%ebp)
  4013cc:	75 02                	jne    4013d0 <_HRESOLVE@4+0x40>
			exit function
  4013ce:	eb 15                	jmp    4013e5 <_HRESOLVE@4+0x55>
		end if
		
		function = *cast( integer ptr, *hostentry->h_addr_list )
  4013d0:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  4013d3:	8b 58 0c             	mov    0xc(%eax),%ebx
  4013d6:	8b 03                	mov    (%ebx),%eax
  4013d8:	8b 18                	mov    (%eax),%ebx
  4013da:	89 5d fc             	mov    %ebx,0xfffffffc(%ebp)
		
	else
  4013dd:	eb 06                	jmp    4013e5 <_HRESOLVE@4+0x55>
	
		'' just return the address
		function = ia.S_addr
  4013df:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  4013e2:	89 5d fc             	mov    %ebx,0xfffffffc(%ebp)
	
	end if
	
end function
  4013e5:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4013e8:	5b                   	pop    %ebx
  4013e9:	89 ec                	mov    %ebp,%esp
  4013eb:	5d                   	pop    %ebp
  4013ec:	c2 04 00             	ret    $0x4
  4013ef:	90                   	nop    

004013f0 <_HOPEN@4>:

'':::::
function hOpen( byval proto as integer = IPPROTO_TCP ) as SOCKET
  4013f0:	55                   	push   %ebp
  4013f1:	89 e5                	mov    %esp,%ebp
  4013f3:	83 ec 08             	sub    $0x8,%esp
  4013f6:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	dim s as SOCKET
  4013fd:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
    
    s = opensocket( AF_INET, SOCK_STREAM, proto )
  401404:	ff 75 08             	pushl  0x8(%ebp)
  401407:	6a 01                	push   $0x1
  401409:	6a 02                	push   $0x2
  40140b:	e8 50 15 00 00       	call   402960 <_socket@12>
  401410:	89 45 f8             	mov    %eax,0xfffffff8(%ebp)
    if( s = NULL ) then
  401413:	83 7d f8 00          	cmpl   $0x0,0xfffffff8(%ebp)
  401417:	75 09                	jne    401422 <_HOPEN@4+0x32>
		return NULL
  401419:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  401420:	eb 06                	jmp    401428 <_HOPEN@4+0x38>
	end if
	
	function = s
  401422:	8b 45 f8             	mov    0xfffffff8(%ebp),%eax
  401425:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	
end function
  401428:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  40142b:	89 ec                	mov    %ebp,%esp
  40142d:	5d                   	pop    %ebp
  40142e:	c2 04 00             	ret    $0x4
  401431:	eb 0d                	jmp    401440 <_HCONNECT@12>
  401433:	90                   	nop    
  401434:	90                   	nop    
  401435:	90                   	nop    
  401436:	90                   	nop    
  401437:	90                   	nop    
  401438:	90                   	nop    
  401439:	90                   	nop    
  40143a:	90                   	nop    
  40143b:	90                   	nop    
  40143c:	90                   	nop    
  40143d:	90                   	nop    
  40143e:	90                   	nop    
  40143f:	90                   	nop    

00401440 <_HCONNECT@12>:

'':::::
function hConnect( byval s as SOCKET, byval ip as integer, byval port as integer ) as integer
  401440:	55                   	push   %ebp
  401441:	89 e5                	mov    %esp,%ebp
  401443:	83 ec 14             	sub    $0x14,%esp
  401446:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	dim sa as sockaddr_in
  40144d:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  401454:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  40145b:	c7 45 f4 00 00 00 00 	movl   $0x0,0xfffffff4(%ebp)
  401462:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)

	sa.sin_port			= htons( port )
  401469:	66 8b 45 10          	mov    0x10(%ebp),%ax
  40146d:	50                   	push   %eax
  40146e:	e8 fd 14 00 00       	call   402970 <_htons@4>
  401473:	66 89 45 ee          	mov    %ax,0xffffffee(%ebp)
	sa.sin_family		= AF_INET
  401477:	66 c7 45 ec 02 00    	movw   $0x2,0xffffffec(%ebp)
	sa.sin_addr.S_addr	= ip
  40147d:	8b 45 0c             	mov    0xc(%ebp),%eax
  401480:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
	
	function = connect( s, cast( PSOCKADDR, @sa ), len( sa ) ) <> SOCKET_ERROR
  401483:	6a 10                	push   $0x10
  401485:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
  401488:	50                   	push   %eax
  401489:	ff 75 08             	pushl  0x8(%ebp)
  40148c:	e8 ef 14 00 00       	call   402980 <_connect@12>
  401491:	83 f8 ff             	cmp    $0xffffffff,%eax
  401494:	0f 95 c0             	setne  %al
  401497:	d1 e8                	shr    %eax
  401499:	19 c0                	sbb    %eax,%eax
  40149b:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	
end function
  40149e:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4014a1:	89 ec                	mov    %ebp,%esp
  4014a3:	5d                   	pop    %ebp
  4014a4:	c2 0c 00             	ret    $0xc
  4014a7:	89 f6                	mov    %esi,%esi
  4014a9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004014b0 <_HBIND@8>:

'':::::
function hBind( byval s as SOCKET, byval port as integer ) as integer
  4014b0:	55                   	push   %ebp
  4014b1:	89 e5                	mov    %esp,%ebp
  4014b3:	83 ec 14             	sub    $0x14,%esp
  4014b6:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	dim sa as sockaddr_in
  4014bd:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  4014c4:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  4014cb:	c7 45 f4 00 00 00 00 	movl   $0x0,0xfffffff4(%ebp)
  4014d2:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)

	sa.sin_port			= htons( port )
  4014d9:	66 8b 45 0c          	mov    0xc(%ebp),%ax
  4014dd:	50                   	push   %eax
  4014de:	e8 8d 14 00 00       	call   402970 <_htons@4>
  4014e3:	66 89 45 ee          	mov    %ax,0xffffffee(%ebp)
	sa.sin_family		= AF_INET
  4014e7:	66 c7 45 ec 02 00    	movw   $0x2,0xffffffec(%ebp)
	sa.sin_addr.S_addr	= INADDR_ANY 
  4014ed:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
	
	function = bind( s, cast( PSOCKADDR, @sa ), len( sa ) ) <> SOCKET_ERROR
  4014f4:	6a 10                	push   $0x10
  4014f6:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
  4014f9:	50                   	push   %eax
  4014fa:	ff 75 08             	pushl  0x8(%ebp)
  4014fd:	e8 8e 14 00 00       	call   402990 <_bind@12>
  401502:	83 f8 ff             	cmp    $0xffffffff,%eax
  401505:	0f 95 c0             	setne  %al
  401508:	d1 e8                	shr    %eax
  40150a:	19 c0                	sbb    %eax,%eax
  40150c:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	
end function
  40150f:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401512:	89 ec                	mov    %ebp,%esp
  401514:	5d                   	pop    %ebp
  401515:	c2 08 00             	ret    $0x8
  401518:	90                   	nop    
  401519:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00401520 <_HLISTEN@8>:

'':::::
function hListen( byval s as SOCKET, byval timeout as integer = SOMAXCONN ) as integer
  401520:	55                   	push   %ebp
  401521:	89 e5                	mov    %esp,%ebp
  401523:	83 ec 04             	sub    $0x4,%esp
  401526:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	
	function = listen( s, timeout ) <> SOCKET_ERROR
  40152d:	ff 75 0c             	pushl  0xc(%ebp)
  401530:	ff 75 08             	pushl  0x8(%ebp)
  401533:	e8 68 14 00 00       	call   4029a0 <_listen@8>
  401538:	83 f8 ff             	cmp    $0xffffffff,%eax
  40153b:	0f 95 c0             	setne  %al
  40153e:	d1 e8                	shr    %eax
  401540:	19 c0                	sbb    %eax,%eax
  401542:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	
end function
  401545:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401548:	89 ec                	mov    %ebp,%esp
  40154a:	5d                   	pop    %ebp
  40154b:	c2 08 00             	ret    $0x8
  40154e:	89 f6                	mov    %esi,%esi

00401550 <_HACCEPT@8>:

'':::::
function hAccept( byval s as SOCKET, byval sa as sockaddr_in ptr ) as SOCKET
  401550:	55                   	push   %ebp
  401551:	89 e5                	mov    %esp,%ebp
  401553:	83 ec 08             	sub    $0x8,%esp
  401556:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	dim salen as integer 
  40155d:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
	
	salen = len( sockaddr_in )
  401564:	c7 45 f8 10 00 00 00 	movl   $0x10,0xfffffff8(%ebp)
	function = accept( s, cast( PSOCKADDR, sa ), @salen )
  40156b:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
  40156e:	50                   	push   %eax
  40156f:	ff 75 0c             	pushl  0xc(%ebp)
  401572:	ff 75 08             	pushl  0x8(%ebp)
  401575:	e8 36 14 00 00       	call   4029b0 <_accept@12>
  40157a:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)

end function	
  40157d:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401580:	89 ec                	mov    %ebp,%esp
  401582:	5d                   	pop    %ebp
  401583:	c2 08 00             	ret    $0x8
  401586:	8d 76 00             	lea    0x0(%esi),%esi
  401589:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401590 <_HCLOSE@4>:

'':::::
function hClose( byval s as SOCKET ) as integer
  401590:	55                   	push   %ebp
  401591:	89 e5                	mov    %esp,%ebp
  401593:	83 ec 04             	sub    $0x4,%esp
  401596:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)

	shutdown( s, 2 )
  40159d:	6a 02                	push   $0x2
  40159f:	ff 75 08             	pushl  0x8(%ebp)
  4015a2:	e8 19 14 00 00       	call   4029c0 <_shutdown@8>
	
	#ifdef __FB_WIN32__
	function = closesocket( s )
  4015a7:	ff 75 08             	pushl  0x8(%ebp)
  4015aa:	e8 21 14 00 00       	call   4029d0 <_closesocket@4>
  4015af:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	#endif
	#if defined(__FB_LINUX__) or defined(__FB_FREEBSD__)
	function = close(s)
	#endif
	
end function
  4015b2:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4015b5:	89 ec                	mov    %ebp,%esp
  4015b7:	5d                   	pop    %ebp
  4015b8:	c2 04 00             	ret    $0x4
  4015bb:	90                   	nop    
  4015bc:	8d 74 26 00          	lea    0x0(%esi),%esi

004015c0 <_HSEND@12>:

'':::::
function hSend( byval s as SOCKET, byval buffer as zstring ptr, byval bytes as integer ) as integer
  4015c0:	55                   	push   %ebp
  4015c1:	89 e5                	mov    %esp,%ebp
  4015c3:	83 ec 04             	sub    $0x4,%esp
  4015c6:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)

    function = send( s, buffer, bytes, 0 )
  4015cd:	6a 00                	push   $0x0
  4015cf:	ff 75 10             	pushl  0x10(%ebp)
  4015d2:	ff 75 0c             	pushl  0xc(%ebp)
  4015d5:	ff 75 08             	pushl  0x8(%ebp)
  4015d8:	e8 03 14 00 00       	call   4029e0 <_send@16>
  4015dd:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
    
end function
  4015e0:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4015e3:	89 ec                	mov    %ebp,%esp
  4015e5:	5d                   	pop    %ebp
  4015e6:	c2 0c 00             	ret    $0xc
  4015e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

004015f0 <_HRECEIVE@12>:

'':::::
function hReceive( byval s as SOCKET, byval buffer as zstring ptr, byval bytes as integer ) as integer
  4015f0:	55                   	push   %ebp
  4015f1:	89 e5                	mov    %esp,%ebp
  4015f3:	83 ec 04             	sub    $0x4,%esp
  4015f6:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)

    function = recv( s, buffer, bytes, 0 )
  4015fd:	6a 00                	push   $0x0
  4015ff:	ff 75 10             	pushl  0x10(%ebp)
  401602:	ff 75 0c             	pushl  0xc(%ebp)
  401605:	ff 75 08             	pushl  0x8(%ebp)
  401608:	e8 e3 13 00 00       	call   4029f0 <_recv@16>
  40160d:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
    
end function
  401610:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401613:	89 ec                	mov    %ebp,%esp
  401615:	5d                   	pop    %ebp
  401616:	c2 0c 00             	ret    $0xc
  401619:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00401620 <_HIP2ADDR@4>:

'':::::
function hIp2Addr( byval ip as integer ) as zstring ptr
  401620:	55                   	push   %ebp
  401621:	89 e5                	mov    %esp,%ebp
  401623:	83 ec 08             	sub    $0x8,%esp
  401626:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	dim ia as in_addr
  40162d:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
	
	ia.S_addr = ip
  401634:	8b 45 08             	mov    0x8(%ebp),%eax
  401637:	89 45 f8             	mov    %eax,0xfffffff8(%ebp)
	
	function = inet_ntoa( ia )
  40163a:	ff 75 f8             	pushl  0xfffffff8(%ebp)
  40163d:	e8 be 13 00 00       	call   402a00 <_inet_ntoa@4>
  401642:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)

end function
  401645:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401648:	89 ec                	mov    %ebp,%esp
  40164a:	5d                   	pop    %ebp
  40164b:	c2 04 00             	ret    $0x4
  40164e:	89 f6                	mov    %esi,%esi

00401650 <_CLIENTINI@0>:

#define CLIENTADDR(c) *hIp2Addr( c.sin_addr.S_addr ) & "(" & c.sin_addr & ")"


Dim shared sock As SOCKET
Dim ret As Integer
Dim Shared user As ZString * 30
Dim shared packet as Proto
Dim msg As ZString * 256
Dim shared sa As sockaddr_in
Dim shared s As SOCKET
Dim char As Byte
Dim shared nick As String
Dim Shared Connected As Integer
Dim Shared Threads(5) as Any Ptr 
Dim Shared Running As Integer
#ifdef BUILDING_CLIENT
Dim Shared serv As String * 60
#endif
Dim Shared mutex As Any Ptr
Dim Shared timestamps As Integer
Dim Shared audiodev As Any Ptr

const SERVER_PORT = 1337

cls
#ifdef BUILDING_SERVER
function serverIni( ) as integer
#elseif defined(BUILDING_CLIENT)
function clientIni( ) as integer
  401650:	55                   	push   %ebp
  401651:	89 e5                	mov    %esp,%ebp
  401653:	83 ec 04             	sub    $0x4,%esp
  401656:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
#endif


	'' start winsock
	if( hStart( ) = FALSE ) then
  40165d:	6a 00                	push   $0x0
  40165f:	6a 02                	push   $0x2
  401661:	e8 6a fc ff ff       	call   4012d0 <_HSTART@8>
  401666:	85 c0                	test   %eax,%eax
  401668:	75 5a                	jne    4016c4 <_CLIENTINI@0+0x74>
		hPrintError( hStart )
  40166a:	6a 00                	push   $0x0
  40166c:	6a 0e                	push   $0xe
  40166e:	68 14 a0 40 00       	push   $0x40a014
  401673:	e8 28 23 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  401678:	50                   	push   %eax
  401679:	6a 00                	push   $0x0
  40167b:	e8 70 24 00 00       	call   403af0 <_fb_PrintString@12>
  401680:	6a 00                	push   $0x0
  401682:	6a 06                	push   $0x6
  401684:	68 24 a0 40 00       	push   $0x40a024
  401689:	e8 12 23 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  40168e:	50                   	push   %eax
  40168f:	6a 00                	push   $0x0
  401691:	e8 5a 24 00 00       	call   403af0 <_fb_PrintString@12>
  401696:	6a 00                	push   $0x0
  401698:	6a 02                	push   $0x2
  40169a:	68 2c a0 40 00       	push   $0x40a02c
  40169f:	e8 fc 22 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  4016a4:	50                   	push   %eax
  4016a5:	6a 00                	push   $0x0
  4016a7:	e8 44 24 00 00       	call   403af0 <_fb_PrintString@12>
  4016ac:	6a 01                	push   $0x1
  4016ae:	e8 5d 13 00 00       	call   402a10 <_WSAGetLastError@0>
  4016b3:	50                   	push   %eax
  4016b4:	6a 00                	push   $0x0
  4016b6:	e8 85 24 00 00       	call   403b40 <_fb_PrintInt@12>
		return FALSE
  4016bb:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  4016c2:	eb 76                	jmp    40173a <_CLIENTINI@0+0xea>
	end if
	
	'' create a socket for listening/connecting
	sock = hOpen( )
  4016c4:	6a 06                	push   $0x6
  4016c6:	e8 25 fd ff ff       	call   4013f0 <_HOPEN@4>
  4016cb:	a3 00 c0 40 00       	mov    %eax,0x40c000
	if( sock = NULL ) then
  4016d0:	83 3d 00 c0 40 00 00 	cmpl   $0x0,0x40c000
  4016d7:	75 5a                	jne    401733 <_CLIENTINI@0+0xe3>
		hPrintError( hOpen )
  4016d9:	6a 00                	push   $0x0
  4016db:	6a 0e                	push   $0xe
  4016dd:	68 14 a0 40 00       	push   $0x40a014
  4016e2:	e8 b9 22 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  4016e7:	50                   	push   %eax
  4016e8:	6a 00                	push   $0x0
  4016ea:	e8 01 24 00 00       	call   403af0 <_fb_PrintString@12>
  4016ef:	6a 00                	push   $0x0
  4016f1:	6a 05                	push   $0x5
  4016f3:	68 30 a0 40 00       	push   $0x40a030
  4016f8:	e8 a3 22 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  4016fd:	50                   	push   %eax
  4016fe:	6a 00                	push   $0x0
  401700:	e8 eb 23 00 00       	call   403af0 <_fb_PrintString@12>
  401705:	6a 00                	push   $0x0
  401707:	6a 02                	push   $0x2
  401709:	68 2c a0 40 00       	push   $0x40a02c
  40170e:	e8 8d 22 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  401713:	50                   	push   %eax
  401714:	6a 00                	push   $0x0
  401716:	e8 d5 23 00 00       	call   403af0 <_fb_PrintString@12>
  40171b:	6a 01                	push   $0x1
  40171d:	e8 ee 12 00 00       	call   402a10 <_WSAGetLastError@0>
  401722:	50                   	push   %eax
  401723:	6a 00                	push   $0x0
  401725:	e8 16 24 00 00       	call   403b40 <_fb_PrintInt@12>
		return FALSE
  40172a:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  401731:	eb 07                	jmp    40173a <_CLIENTINI@0+0xea>
	end if

#ifdef BUILDING_SERVER	
	'' bind it to the server port
	if( hBind( sock, SERVER_PORT ) = FALSE ) then
		hPrintError( hBind )
		return FALSE
	end if	
	
#endif
	function = TRUE
  401733:	c7 45 fc 01 00 00 00 	movl   $0x1,0xfffffffc(%ebp)
	
end function
  40173a:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  40173d:	89 ec                	mov    %ebp,%esp
  40173f:	5d                   	pop    %ebp
  401740:	c3                   	ret    
  401741:	eb 0d                	jmp    401750 <_GETSTRING@4>
  401743:	90                   	nop    
  401744:	90                   	nop    
  401745:	90                   	nop    
  401746:	90                   	nop    
  401747:	90                   	nop    
  401748:	90                   	nop    
  401749:	90                   	nop    
  40174a:	90                   	nop    
  40174b:	90                   	nop    
  40174c:	90                   	nop    
  40174d:	90                   	nop    
  40174e:	90                   	nop    
  40174f:	90                   	nop    

00401750 <_GETSTRING@4>:

function GetString(Prompt As String = "> ") As String
  401750:	55                   	push   %ebp
  401751:	89 e5                	mov    %esp,%ebp
  401753:	83 ec 2c             	sub    $0x2c,%esp
  401756:	53                   	push   %ebx
  401757:	c7 45 f4 00 00 00 00 	movl   $0x0,0xfffffff4(%ebp)
  40175e:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
  401765:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	Dim char As Byte
  40176c:	c6 45 f0 00          	movb   $0x0,0xfffffff0(%ebp)
	Dim Path As String
  401770:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
  401777:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
  40177e:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
	Dim X As Integer
  401785:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
	Dim Y As Integer
  40178c:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
	Dim TY As Integer
  401793:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
	Dim TX As Integer
  40179a:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
	MutexLock(mutex)
  4017a1:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  4017a7:	e8 f4 25 00 00       	call   403da0 <_fb_MutexLock@4>
	X = CsrLin()
  4017ac:	e8 4f 26 00 00       	call   403e00 <_fb_GetY@0>
  4017b1:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
	Y = Pos()
  4017b4:	e8 a7 26 00 00       	call   403e60 <_fb_GetX@0>
  4017b9:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
	Locate 1,1
  4017bc:	6a 00                	push   $0x0
  4017be:	6a 00                	push   $0x0
  4017c0:	6a ff                	push   $0xffffffff
  4017c2:	6a 01                	push   $0x1
  4017c4:	6a 01                	push   $0x1
  4017c6:	e8 f5 26 00 00       	call   403ec0 <_fb_Locate@20>
	Print Space(80);
  4017cb:	6a 00                	push   $0x0
  4017cd:	6a 50                	push   $0x50
  4017cf:	e8 5c 27 00 00       	call   403f30 <_fb_SPACE@4>
  4017d4:	50                   	push   %eax
  4017d5:	6a 00                	push   $0x0
  4017d7:	e8 14 23 00 00       	call   403af0 <_fb_PrintString@12>
	Locate 1,1
  4017dc:	6a 00                	push   $0x0
  4017de:	6a 00                	push   $0x0
  4017e0:	6a ff                	push   $0xffffffff
  4017e2:	6a 01                	push   $0x1
  4017e4:	6a 01                	push   $0x1
  4017e6:	e8 d5 26 00 00       	call   403ec0 <_fb_Locate@20>
	Print Prompt;
  4017eb:	6a 00                	push   $0x0
  4017ed:	ff 75 08             	pushl  0x8(%ebp)
  4017f0:	6a 00                	push   $0x0
  4017f2:	e8 f9 22 00 00       	call   403af0 <_fb_PrintString@12>
	MutexUnlock(mutex)
  4017f7:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  4017fd:	e8 ce 25 00 00       	call   403dd0 <_fb_MutexUnlock@4>
	do while char <> 13
  401802:	0f be 45 f0          	movsbl 0xfffffff0(%ebp),%eax
  401806:	83 f8 0d             	cmp    $0xd,%eax
  401809:	0f 84 b2 01 00 00    	je     4019c1 <_GETSTRING@4+0x271>
	char = Asc(inkey$)
  40180f:	6a 01                	push   $0x1
  401811:	e8 9a 27 00 00       	call   403fb0 <_fb_Inkey@0>
  401816:	50                   	push   %eax
  401817:	e8 b4 28 00 00       	call   4040d0 <_fb_ASC@8>
  40181c:	88 c3                	mov    %al,%bl
  40181e:	88 5d f0             	mov    %bl,0xfffffff0(%ebp)
	if char > 31 And char < 127 then 
  401821:	0f be 5d f0          	movsbl 0xfffffff0(%ebp),%ebx
  401825:	83 fb 1f             	cmp    $0x1f,%ebx
  401828:	0f 9f c3             	setg   %bl
  40182b:	d1 eb                	shr    %ebx
  40182d:	19 db                	sbb    %ebx,%ebx
  40182f:	0f be 45 f0          	movsbl 0xfffffff0(%ebp),%eax
  401833:	83 f8 7f             	cmp    $0x7f,%eax
  401836:	0f 9c c0             	setl   %al
  401839:	d1 e8                	shr    %eax
  40183b:	19 c0                	sbb    %eax,%eax
  40183d:	21 c3                	and    %eax,%ebx
  40183f:	74 68                	je     4018a9 <_GETSTRING@4+0x159>
		If Len(Path) = 255 Then Goto StartScreenUpdate
  401841:	6a ff                	push   $0xffffffff
  401843:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  401846:	50                   	push   %eax
  401847:	e8 f4 28 00 00       	call   404140 <_fb_StrLen@8>
  40184c:	3d ff 00 00 00       	cmp    $0xff,%eax
  401851:	75 05                	jne    401858 <_GETSTRING@4+0x108>
  401853:	e9 80 00 00 00       	jmp    4018d8 <_GETSTRING@4+0x188>
		If Len(Path) > 255 Then Path = Left(Path,255)
  401858:	6a ff                	push   $0xffffffff
  40185a:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  40185d:	50                   	push   %eax
  40185e:	e8 dd 28 00 00       	call   404140 <_fb_StrLen@8>
  401863:	3d ff 00 00 00       	cmp    $0xff,%eax
  401868:	7e 1e                	jle    401888 <_GETSTRING@4+0x138>
  40186a:	6a 00                	push   $0x0
  40186c:	6a ff                	push   $0xffffffff
  40186e:	68 ff 00 00 00       	push   $0xff
  401873:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  401876:	50                   	push   %eax
  401877:	e8 14 29 00 00       	call   404190 <_fb_LEFT@8>
  40187c:	50                   	push   %eax
  40187d:	6a ff                	push   $0xffffffff
  40187f:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  401882:	50                   	push   %eax
  401883:	e8 28 2c 00 00       	call   4044b0 <_fb_StrAssign@20>
		Path+=Chr(char)
  401888:	6a 00                	push   $0x0
  40188a:	6a ff                	push   $0xffffffff
  40188c:	0f be 45 f0          	movsbl 0xfffffff0(%ebp),%eax
  401890:	50                   	push   %eax
  401891:	6a 01                	push   $0x1
  401893:	e8 98 2c 00 00       	call   404530 <_fb_CHR>
  401898:	83 c4 08             	add    $0x8,%esp
  40189b:	50                   	push   %eax
  40189c:	6a ff                	push   $0xffffffff
  40189e:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  4018a1:	50                   	push   %eax
  4018a2:	e8 f9 2c 00 00       	call   4045a0 <_fb_StrConcatAssign@20>
		Goto StartScreenUpdate
  4018a7:	eb 2f                	jmp    4018d8 <_GETSTRING@4+0x188>
	end if 
	if char = 8 Then
  4018a9:	0f be 45 f0          	movsbl 0xfffffff0(%ebp),%eax
  4018ad:	83 f8 08             	cmp    $0x8,%eax
  4018b0:	75 26                	jne    4018d8 <_GETSTRING@4+0x188>
		Path = Left(Path, Len(Path) - 1)
  4018b2:	6a 00                	push   $0x0
  4018b4:	6a ff                	push   $0xffffffff
  4018b6:	6a ff                	push   $0xffffffff
  4018b8:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  4018bb:	50                   	push   %eax
  4018bc:	e8 7f 28 00 00       	call   404140 <_fb_StrLen@8>
  4018c1:	48                   	dec    %eax
  4018c2:	50                   	push   %eax
  4018c3:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  4018c6:	50                   	push   %eax
  4018c7:	e8 c4 28 00 00       	call   404190 <_fb_LEFT@8>
  4018cc:	50                   	push   %eax
  4018cd:	6a ff                	push   $0xffffffff
  4018cf:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  4018d2:	50                   	push   %eax
  4018d3:	e8 d8 2b 00 00       	call   4044b0 <_fb_StrAssign@20>
		Goto StartScreenUpdate
	End If
	
	StartScreenUpdate:
	MutexLock(mutex)
  4018d8:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  4018de:	e8 bd 24 00 00       	call   403da0 <_fb_MutexLock@4>
		' Screenlock to prevent flicker
		' Useless in console modes
		ScreenLock
  4018e3:	e8 48 11 00 00       	call   402a30 <_fb_GfxLock@0>
			Locate 1,1
  4018e8:	6a 00                	push   $0x0
  4018ea:	6a 00                	push   $0x0
  4018ec:	6a ff                	push   $0xffffffff
  4018ee:	6a 01                	push   $0x1
  4018f0:	6a 01                	push   $0x1
  4018f2:	e8 c9 25 00 00       	call   403ec0 <_fb_Locate@20>
			Print Space(80);
  4018f7:	6a 00                	push   $0x0
  4018f9:	6a 50                	push   $0x50
  4018fb:	e8 30 26 00 00       	call   403f30 <_fb_SPACE@4>
  401900:	50                   	push   %eax
  401901:	6a 00                	push   $0x0
  401903:	e8 e8 21 00 00       	call   403af0 <_fb_PrintString@12>
			Locate 1,1
  401908:	6a 00                	push   $0x0
  40190a:	6a 00                	push   $0x0
  40190c:	6a ff                	push   $0xffffffff
  40190e:	6a 01                	push   $0x1
  401910:	6a 01                	push   $0x1
  401912:	e8 a9 25 00 00       	call   403ec0 <_fb_Locate@20>
			Print Prompt;
  401917:	6a 00                	push   $0x0
  401919:	ff 75 08             	pushl  0x8(%ebp)
  40191c:	6a 00                	push   $0x0
  40191e:	e8 cd 21 00 00       	call   403af0 <_fb_PrintString@12>
			Locate 1,1+Len(Prompt)
  401923:	6a 00                	push   $0x0
  401925:	6a 00                	push   $0x0
  401927:	6a ff                	push   $0xffffffff
  401929:	6a ff                	push   $0xffffffff
  40192b:	ff 75 08             	pushl  0x8(%ebp)
  40192e:	e8 0d 28 00 00       	call   404140 <_fb_StrLen@8>
  401933:	40                   	inc    %eax
  401934:	50                   	push   %eax
  401935:	6a 01                	push   $0x1
  401937:	e8 84 25 00 00       	call   403ec0 <_fb_Locate@20>
			Print Right(Path,80 - Len(Prompt));
  40193c:	6a 00                	push   $0x0
  40193e:	6a ff                	push   $0xffffffff
  401940:	ff 75 08             	pushl  0x8(%ebp)
  401943:	e8 f8 27 00 00       	call   404140 <_fb_StrLen@8>
  401948:	f7 d8                	neg    %eax
  40194a:	83 c0 50             	add    $0x50,%eax
  40194d:	50                   	push   %eax
  40194e:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  401951:	50                   	push   %eax
  401952:	e8 c9 2d 00 00       	call   404720 <_fb_RIGHT@8>
  401957:	50                   	push   %eax
  401958:	6a 00                	push   $0x0
  40195a:	e8 91 21 00 00       	call   403af0 <_fb_PrintString@12>
		ScreenUnlock
  40195f:	6a ff                	push   $0xffffffff
  401961:	6a ff                	push   $0xffffffff
  401963:	e8 08 11 00 00       	call   402a70 <_fb_GfxUnlock@8>
	EndScreenUpdate:
	TY = Pos()
  401968:	e8 f3 24 00 00       	call   403e60 <_fb_GetX@0>
  40196d:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
	TX = CsrLin() 
  401970:	e8 8b 24 00 00       	call   403e00 <_fb_GetY@0>
  401975:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
	Locate X, Y
  401978:	6a 00                	push   $0x0
  40197a:	6a 00                	push   $0x0
  40197c:	6a ff                	push   $0xffffffff
  40197e:	ff 75 dc             	pushl  0xffffffdc(%ebp)
  401981:	ff 75 e0             	pushl  0xffffffe0(%ebp)
  401984:	e8 37 25 00 00       	call   403ec0 <_fb_Locate@20>
	sleep 50
  401989:	6a 32                	push   $0x32
  40198b:	e8 60 2e 00 00       	call   4047f0 <_fb_Sleep@4>
	X = CsrLin
  401990:	e8 6b 24 00 00       	call   403e00 <_fb_GetY@0>
  401995:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
	Y = Pos()
  401998:	e8 c3 24 00 00       	call   403e60 <_fb_GetX@0>
  40199d:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
	Locate TX, TY
  4019a0:	6a 00                	push   $0x0
  4019a2:	6a 00                	push   $0x0
  4019a4:	6a ff                	push   $0xffffffff
  4019a6:	ff 75 d8             	pushl  0xffffffd8(%ebp)
  4019a9:	ff 75 d4             	pushl  0xffffffd4(%ebp)
  4019ac:	e8 0f 25 00 00       	call   403ec0 <_fb_Locate@20>
	MutexUnlock(mutex)
  4019b1:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  4019b7:	e8 14 24 00 00       	call   403dd0 <_fb_MutexUnlock@4>
	loop
  4019bc:	e9 41 fe ff ff       	jmp    401802 <_GETSTRING@4+0xb2>
	Locate 1,1
  4019c1:	6a 00                	push   $0x0
  4019c3:	6a 00                	push   $0x0
  4019c5:	6a ff                	push   $0xffffffff
  4019c7:	6a 01                	push   $0x1
  4019c9:	6a 01                	push   $0x1
  4019cb:	e8 f0 24 00 00       	call   403ec0 <_fb_Locate@20>
	Print Space(80);
  4019d0:	6a 00                	push   $0x0
  4019d2:	6a 50                	push   $0x50
  4019d4:	e8 57 25 00 00       	call   403f30 <_fb_SPACE@4>
  4019d9:	50                   	push   %eax
  4019da:	6a 00                	push   $0x0
  4019dc:	e8 0f 21 00 00       	call   403af0 <_fb_PrintString@12>
	Locate X, Y
  4019e1:	6a 00                	push   $0x0
  4019e3:	6a 00                	push   $0x0
  4019e5:	6a ff                	push   $0xffffffff
  4019e7:	ff 75 dc             	pushl  0xffffffdc(%ebp)
  4019ea:	ff 75 e0             	pushl  0xffffffe0(%ebp)
  4019ed:	e8 ce 24 00 00       	call   403ec0 <_fb_Locate@20>
	Return Path
  4019f2:	6a 00                	push   $0x0
  4019f4:	6a ff                	push   $0xffffffff
  4019f6:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  4019f9:	50                   	push   %eax
  4019fa:	6a ff                	push   $0xffffffff
  4019fc:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
  4019ff:	50                   	push   %eax
  401a00:	e8 ab 2a 00 00       	call   4044b0 <_fb_StrAssign@20>
  401a05:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  401a08:	50                   	push   %eax
  401a09:	e8 42 2e 00 00       	call   404850 <_fb_StrDelete@4>
  401a0e:	eb 09                	jmp    401a19 <_GETSTRING@4+0x2c9>
  401a10:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  401a13:	50                   	push   %eax
  401a14:	e8 37 2e 00 00       	call   404850 <_fb_StrDelete@4>
End Function
  401a19:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
  401a1c:	50                   	push   %eax
  401a1d:	e8 7e 2e 00 00       	call   4048a0 <_fb_StrAllocTempResult@4>
  401a22:	5b                   	pop    %ebx
  401a23:	89 ec                	mov    %ebp,%esp
  401a25:	5d                   	pop    %ebp
  401a26:	c2 04 00             	ret    $0x4
  401a29:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00401a30 <_QUIT@4>:

Sub Quit(ret As Integer = 0)
  401a30:	55                   	push   %ebp
  401a31:	89 e5                	mov    %esp,%ebp
	MutexDestroy(mutex)
  401a33:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  401a39:	e8 32 23 00 00       	call   403d70 <_fb_MutexDestroy@4>
	End ret
  401a3e:	ff 75 08             	pushl  0x8(%ebp)
  401a41:	e8 ea 2e 00 00       	call   404930 <_fb_End@4>
End Sub
  401a46:	89 ec                	mov    %ebp,%esp
  401a48:	5d                   	pop    %ebp
  401a49:	c2 04 00             	ret    $0x4
  401a4c:	8d 74 26 00          	lea    0x0(%esi),%esi

00401a50 <_UPDATESTATUSBAR@0>:

Sub UpdateStatusBar() 
  401a50:	55                   	push   %ebp
  401a51:	89 e5                	mov    %esp,%ebp
  401a53:	83 ec 50             	sub    $0x50,%esp
	MutexLock(mutex)
  401a56:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  401a5c:	e8 3f 23 00 00       	call   403da0 <_fb_MutexLock@4>
	Dim X As Integer
  401a61:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	Dim Y As Integer
  401a68:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
	X = CsrLin()
  401a6f:	e8 8c 23 00 00       	call   403e00 <_fb_GetY@0>
  401a74:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	Y = Pos()
  401a77:	e8 e4 23 00 00       	call   403e60 <_fb_GetX@0>
  401a7c:	89 45 f8             	mov    %eax,0xfffffff8(%ebp)
	Locate 2,1
  401a7f:	6a 00                	push   $0x0
  401a81:	6a 00                	push   $0x0
  401a83:	6a ff                	push   $0xffffffff
  401a85:	6a 01                	push   $0x1
  401a87:	6a 02                	push   $0x2
  401a89:	e8 32 24 00 00       	call   403ec0 <_fb_Locate@20>
	Color 0,7
  401a8e:	6a 00                	push   $0x0
  401a90:	6a 07                	push   $0x7
  401a92:	6a 00                	push   $0x0
  401a94:	e8 47 2f 00 00       	call   4049e0 <_fb_Color@12>
	Print Space(80)
  401a99:	6a 01                	push   $0x1
  401a9b:	6a 50                	push   $0x50
  401a9d:	e8 8e 24 00 00       	call   403f30 <_fb_SPACE@4>
  401aa2:	50                   	push   %eax
  401aa3:	6a 00                	push   $0x0
  401aa5:	e8 46 20 00 00       	call   403af0 <_fb_PrintString@12>
	Locate 2,2
  401aaa:	6a 00                	push   $0x0
  401aac:	6a 00                	push   $0x0
  401aae:	6a ff                	push   $0xffffffff
  401ab0:	6a 02                	push   $0x2
  401ab2:	6a 02                	push   $0x2
  401ab4:	e8 07 24 00 00       	call   403ec0 <_fb_Locate@20>
	#ifdef BUILDING_SERVER
	Print "-- Connection from " + _
	*hIp2Addr( sa.sin_addr.S_addr ) + " (" + nick + ") [" + _
	"server" + "] --"
	#elseif defined(BUILDING_CLIENT)
	Print "-- Connected to " + _ 
  401ab9:	6a 01                	push   $0x1
  401abb:	6a 05                	push   $0x5
  401abd:	68 60 a0 40 00       	push   $0x40a060
  401ac2:	6a ff                	push   $0xffffffff
  401ac4:	6a 07                	push   $0x7
  401ac6:	68 58 a0 40 00       	push   $0x40a058
  401acb:	6a ff                	push   $0xffffffff
  401acd:	6a 04                	push   $0x4
  401acf:	68 54 a0 40 00       	push   $0x40a054
  401ad4:	6a ff                	push   $0xffffffff
  401ad6:	6a ff                	push   $0xffffffff
  401ad8:	68 68 c1 40 00       	push   $0x40c168
  401add:	6a ff                	push   $0xffffffff
  401adf:	6a 03                	push   $0x3
  401ae1:	68 50 a0 40 00       	push   $0x40a050
  401ae6:	6a ff                	push   $0xffffffff
  401ae8:	6a 00                	push   $0x0
  401aea:	ff 35 54 c1 40 00    	pushl  0x40c154
  401af0:	e8 2b fb ff ff       	call   401620 <_HIP2ADDR@4>
  401af5:	50                   	push   %eax
  401af6:	6a 11                	push   $0x11
  401af8:	68 3c a0 40 00       	push   $0x40a03c
  401afd:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  401b04:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  401b0b:	c7 45 f4 00 00 00 00 	movl   $0x0,0xfffffff4(%ebp)
  401b12:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
  401b15:	50                   	push   %eax
  401b16:	e8 65 2f 00 00       	call   404a80 <_fb_StrConcat@20>
  401b1b:	50                   	push   %eax
  401b1c:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
  401b23:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
  401b2a:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
  401b31:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
  401b34:	50                   	push   %eax
  401b35:	e8 46 2f 00 00       	call   404a80 <_fb_StrConcat@20>
  401b3a:	50                   	push   %eax
  401b3b:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
  401b42:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
  401b49:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
  401b50:	8d 45 d4             	lea    0xffffffd4(%ebp),%eax
  401b53:	50                   	push   %eax
  401b54:	e8 27 2f 00 00       	call   404a80 <_fb_StrConcat@20>
  401b59:	50                   	push   %eax
  401b5a:	c7 45 c8 00 00 00 00 	movl   $0x0,0xffffffc8(%ebp)
  401b61:	c7 45 cc 00 00 00 00 	movl   $0x0,0xffffffcc(%ebp)
  401b68:	c7 45 d0 00 00 00 00 	movl   $0x0,0xffffffd0(%ebp)
  401b6f:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
  401b72:	50                   	push   %eax
  401b73:	e8 08 2f 00 00       	call   404a80 <_fb_StrConcat@20>
  401b78:	50                   	push   %eax
  401b79:	c7 45 bc 00 00 00 00 	movl   $0x0,0xffffffbc(%ebp)
  401b80:	c7 45 c0 00 00 00 00 	movl   $0x0,0xffffffc0(%ebp)
  401b87:	c7 45 c4 00 00 00 00 	movl   $0x0,0xffffffc4(%ebp)
  401b8e:	8d 45 bc             	lea    0xffffffbc(%ebp),%eax
  401b91:	50                   	push   %eax
  401b92:	e8 e9 2e 00 00       	call   404a80 <_fb_StrConcat@20>
  401b97:	50                   	push   %eax
  401b98:	c7 45 b0 00 00 00 00 	movl   $0x0,0xffffffb0(%ebp)
  401b9f:	c7 45 b4 00 00 00 00 	movl   $0x0,0xffffffb4(%ebp)
  401ba6:	c7 45 b8 00 00 00 00 	movl   $0x0,0xffffffb8(%ebp)
  401bad:	8d 45 b0             	lea    0xffffffb0(%ebp),%eax
  401bb0:	50                   	push   %eax
  401bb1:	e8 ca 2e 00 00       	call   404a80 <_fb_StrConcat@20>
  401bb6:	50                   	push   %eax
  401bb7:	6a 00                	push   $0x0
  401bb9:	e8 32 1f 00 00       	call   403af0 <_fb_PrintString@12>
	*hIp2Addr( sa.sin_addr.S_addr ) + " (" + nick + ") [" + _
	"client" + "] --"
	#endif	
	Color 7,0
  401bbe:	6a 00                	push   $0x0
  401bc0:	6a 00                	push   $0x0
  401bc2:	6a 07                	push   $0x7
  401bc4:	e8 17 2e 00 00       	call   4049e0 <_fb_Color@12>
	Locate X, Y
  401bc9:	6a 00                	push   $0x0
  401bcb:	6a 00                	push   $0x0
  401bcd:	6a ff                	push   $0xffffffff
  401bcf:	ff 75 f8             	pushl  0xfffffff8(%ebp)
  401bd2:	ff 75 fc             	pushl  0xfffffffc(%ebp)
  401bd5:	e8 e6 22 00 00       	call   403ec0 <_fb_Locate@20>
	MutexUnlock(mutex)
  401bda:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  401be0:	e8 eb 21 00 00       	call   403dd0 <_fb_MutexUnlock@4>
End Sub
  401be5:	89 ec                	mov    %ebp,%esp
  401be7:	5d                   	pop    %ebp
  401be8:	c3                   	ret    
  401be9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00401bf0 <_SENDPROTOMSG@8>:

Color 7,0
mutex = MutexCreate
Running = 1
#ifdef BUILDING_SERVER
ret = serverIni( )
#elseif defined(BUILDING_CLIENT)
ret = clientIni( )
#endif
if ret = FALSE then
#ifdef BUILDING_SERVER
	print "Error in netmsgd server init"
	hShutdown
	Quit
end if
if( hListen( sock ) = FALSE ) then
	hPrintError( hListen )
#else
	print "Error in netmsg client init"
#endif
	hShutdown
	Quit FALSE
end if

locate 3,1
UpdateStatusBar() 

Nickname:
Print "Please enter a nick." 
msg = GetString("nick> ")
nick = Left(msg,30)
if Len(nick) = 0 goto Nickname
UpdateStatusBar() 
Print "Using nickname " + nick
#ifdef BUILDING_SERVER
print "Waiting for connection on port 1337"
s = hAccept( sock, @sa )
if( s = -1 ) then
	hPrintError( hAccept )
#else
Print "Please enter the server address (IP or hostname)"
serv = Left(GetString("server> "),60)
UpdateStatusBar()
print "Connecting to " + serv + " on port 1337"

if( hConnect( sock, hResolve( serv ), 1337 ) = FALSE ) then
	hPrintError( hConnect )
	quit
#endif
end if
UpdateStatusBar() 
#ifdef BUILDING_SERVER
print "Connection from " + *hIp2Addr( sa.sin_addr.S_addr ) + "(" &  sa.sin_port & ")"
#else
print "Connected to" + serv + "(" & 1337 & ")"
#endif
Connected = 1

Sub SendProtoMsg(mType As String, msg As String)
  401bf0:	55                   	push   %ebp
  401bf1:	89 e5                	mov    %esp,%ebp
  401bf3:	83 ec 18             	sub    $0x18,%esp
	MutexLock(mutex)
  401bf6:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  401bfc:	e8 9f 21 00 00       	call   403da0 <_fb_MutexLock@4>
	If Len(msg) = 0 Then Exit Sub
  401c01:	eb 05                	jmp    401c08 <_SENDPROTOMSG@8+0x18>
  401c03:	e9 ff 00 00 00       	jmp    401d07 <_SENDPROTOMSG@8+0x117>
	packet.msg = msg
  401c08:	6a ff                	push   $0xffffffff
  401c0a:	6a ff                	push   $0xffffffff
  401c0c:	ff 75 0c             	pushl  0xc(%ebp)
  401c0f:	68 02 01 00 00       	push   $0x102
  401c14:	8d 05 4e c0 40 00    	lea    0x40c04e,%eax
  401c1a:	50                   	push   %eax
  401c1b:	e8 90 28 00 00       	call   4044b0 <_fb_StrAssign@20>
	packet.type = mType
  401c20:	6a ff                	push   $0xffffffff
  401c22:	6a ff                	push   $0xffffffff
  401c24:	ff 75 08             	pushl  0x8(%ebp)
  401c27:	6a 00                	push   $0x0
  401c29:	68 28 c0 40 00       	push   $0x40c028
  401c2e:	e8 7d 28 00 00       	call   4044b0 <_fb_StrAssign@20>
	packet.uname = Cast(String, Left(Nick,30))
  401c33:	6a ff                	push   $0xffffffff
  401c35:	6a ff                	push   $0xffffffff
  401c37:	6a 1e                	push   $0x1e
  401c39:	68 68 c1 40 00       	push   $0x40c168
  401c3e:	e8 4d 25 00 00       	call   404190 <_fb_LEFT@8>
  401c43:	50                   	push   %eax
  401c44:	6a 20                	push   $0x20
  401c46:	8d 05 2e c0 40 00    	lea    0x40c02e,%eax
  401c4c:	50                   	push   %eax
  401c4d:	e8 5e 28 00 00       	call   4044b0 <_fb_StrAssign@20>
	#ifdef BUILDING_SERVER
	hSend(s, @packet, Sizeof(packet))
	#else
	hSend(sock, @packet, Sizeof(packet))
  401c52:	68 28 01 00 00       	push   $0x128
  401c57:	68 28 c0 40 00       	push   $0x40c028
  401c5c:	ff 35 00 c0 40 00    	pushl  0x40c000
  401c62:	e8 59 f9 ff ff       	call   4015c0 <_HSEND@12>
	#endif
	Color 2 
  401c67:	6a 02                	push   $0x2
  401c69:	6a 00                	push   $0x0
  401c6b:	6a 02                	push   $0x2
  401c6d:	e8 6e 2d 00 00       	call   4049e0 <_fb_Color@12>
	if mType = "CHAT" then
  401c72:	6a 05                	push   $0x5
  401c74:	68 40 a1 40 00       	push   $0x40a140
  401c79:	6a ff                	push   $0xffffffff
  401c7b:	ff 75 08             	pushl  0x8(%ebp)
  401c7e:	e8 9d 2f 00 00       	call   404c20 <_fb_StrCompare@16>
  401c83:	85 c0                	test   %eax,%eax
  401c85:	75 65                	jne    401cec <_SENDPROTOMSG@8+0xfc>
		Print packet.uname + ": " + packet.msg
  401c87:	6a 01                	push   $0x1
  401c89:	68 02 01 00 00       	push   $0x102
  401c8e:	8d 05 4e c0 40 00    	lea    0x40c04e,%eax
  401c94:	50                   	push   %eax
  401c95:	6a ff                	push   $0xffffffff
  401c97:	6a 03                	push   $0x3
  401c99:	68 2c a0 40 00       	push   $0x40a02c
  401c9e:	6a 20                	push   $0x20
  401ca0:	8d 05 2e c0 40 00    	lea    0x40c02e,%eax
  401ca6:	50                   	push   %eax
  401ca7:	c7 45 f4 00 00 00 00 	movl   $0x0,0xfffffff4(%ebp)
  401cae:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
  401cb5:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  401cbc:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
  401cbf:	50                   	push   %eax
  401cc0:	e8 bb 2d 00 00       	call   404a80 <_fb_StrConcat@20>
  401cc5:	50                   	push   %eax
  401cc6:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
  401ccd:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  401cd4:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  401cdb:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  401cde:	50                   	push   %eax
  401cdf:	e8 9c 2d 00 00       	call   404a80 <_fb_StrConcat@20>
  401ce4:	50                   	push   %eax
  401ce5:	6a 00                	push   $0x0
  401ce7:	e8 04 1e 00 00       	call   403af0 <_fb_PrintString@12>
	End If
	color 7
  401cec:	6a 02                	push   $0x2
  401cee:	6a 00                	push   $0x0
  401cf0:	6a 07                	push   $0x7
  401cf2:	e8 e9 2c 00 00       	call   4049e0 <_fb_Color@12>
	MutexUnlock(mutex)
  401cf7:	ff 35 d8 c1 40 00    	pushl  0x40c1d8
  401cfd:	e8 ce 20 00 00       	call   403dd0 <_fb_MutexUnlock@4>
	UpdateStatusBar() 
  401d02:	e8 49 fd ff ff       	call   401a50 <_UPDATESTATUSBAR@0>
End Sub
  401d07:	89 ec                	mov    %ebp,%esp
  401d09:	5d                   	pop    %ebp
  401d0a:	c2 08 00             	ret    $0x8
  401d0d:	8d 76 00             	lea    0x0(%esi),%esi

00401d10 <_RECVTHREAD@0>:

Sub RecvThread()
  401d10:	55                   	push   %ebp
  401d11:	89 e5                	mov    %esp,%ebp
  401d13:	81 ec 84 01 00 00    	sub    $0x184,%esp
  401d19:	53                   	push   %ebx
	Dim msg As Proto
  401d1a:	8d 85 d8 fe ff ff    	lea    0xfffffed8(%ebp),%eax
  401d20:	50                   	push   %eax
  401d21:	57                   	push   %edi
  401d22:	89 c7                	mov    %eax,%edi
  401d24:	31 c0                	xor    %eax,%eax
  401d26:	b9 4a 00 00 00       	mov    $0x4a,%ecx
  401d2b:	f3 ab                	repz stos %eax,%es:(%edi)
  401d2d:	5f                   	pop    %edi
  401d2e:	58                   	pop    %eax
	Dim bytes As Integer
  401d2f:	c7 85 d4 fe ff ff 00 	movl   $0x0,0xfffffed4(%ebp)
  401d36:	00 00 00 
	Dim msgType As String
  401d39:	c7 85 c8 fe ff ff 00 	movl   $0x0,0xfffffec8(%ebp)
  401d40:	00 00 00 
  401d43:	c7 85 cc fe ff ff 00 	movl   $0x0,0xfffffecc(%ebp)
  401d4a:	00 00 00 
  401d4d:	c7 85 d0 fe ff ff 00 	movl   $0x0,0xfffffed0(%ebp)
  401d54:	00 00 00 
	Dim msgUser As String
  401d57:	c7 85 bc fe ff ff 00 	movl   $0x0,0xfffffebc(%ebp)
  401d5e:	00 00 00 
  401d61:	c7 85 c0 fe ff ff 00 	movl   $0x0,0xfffffec0(%ebp)
  401d68:	00 00 00 
  401d6b:	c7 85 c4 fe ff ff 00 	movl   $0x0,0xfffffec4(%ebp)
  401d72:	00 00 00 
	Dim msgMsg As String
  401d75:	c7 85 b0 fe ff ff 00 	movl   $0x0,0xfffffeb0(%ebp)
  401d7c:	00 00 00 
  401d7f:	c7 85 b4 fe ff ff 00 	movl   $0x0,0xfffffeb4(%ebp)
  401d86:	00 00 00 
  401d89:	c7 85 b8 fe ff ff 00 	movl   $0x0,0xfffffeb8(%ebp)
  401d90:	00 00 00 
	Dim i as Integer
  401d93:	c7 85 ac fe ff ff 00 	movl   $0x0,0xfffffeac(%ebp)
  401d9a:	00 00 00 
	Do
#ifdef BUILDING_SERVER
	bytes = hReceive( s, @packet, Sizeof(packet) )
	msgUser = Str(bytes)
#else
	msgType = "" : msgUser = "" : msgMsg = ""
  401d9d:	6a 00                	push   $0x0
  401d9f:	6a 01                	push   $0x1
  401da1:	68 10 a0 40 00       	push   $0x40a010
  401da6:	6a ff                	push   $0xffffffff
  401da8:	8d 85 c8 fe ff ff    	lea    0xfffffec8(%ebp),%eax
  401dae:	50                   	push   %eax
  401daf:	e8 fc 26 00 00       	call   4044b0 <_fb_StrAssign@20>
  401db4:	6a 00                	push   $0x0
  401db6:	6a 01                	push   $0x1
  401db8:	68 10 a0 40 00       	push   $0x40a010
  401dbd:	6a ff                	push   $0xffffffff
  401dbf:	8d 85 bc fe ff ff    	lea    0xfffffebc(%ebp),%eax
  401dc5:	50                   	push   %eax
  401dc6:	e8 e5 26 00 00       	call   4044b0 <_fb_StrAssign@20>
  401dcb:	6a 00                	push   $0x0
  401dcd:	6a 01                	push   $0x1
  401dcf:	68 10 a0 40 00       	push   $0x40a010
  401dd4:	6a ff                	push   $0xffffffff
  401dd6:	8d 85 b0 fe ff ff    	lea    0xfffffeb0(%ebp),%eax
  401ddc:	50                   	push   %eax
  401ddd:	e8 ce 26 00 00       	call   4044b0 <_fb_StrAssign@20>
	bytes = hReceive( sock, @packet, Sizeof(packet) )
  401de2:	68 28 01 00 00       	push   $0x128
  401de7:	68 28 c0 40 00       	push   $0x40c028
  401dec:	ff 35 00 c0 40 00    	pushl  0x40c000
  401df2:	e8 f9 f7 ff ff       	call   4015f0 <_HRECEIVE@12>
  401df7:	89 85 d4 fe ff ff    	mov    %eax,0xfffffed4(%ebp)
#endif
	if bytes <> Sizeof(packet) Then 
  401dfd:	81 bd d4 fe ff ff 28 	cmpl   $0x128,0xfffffed4(%ebp)
  401e04:	01 00 00 
  401e07:	0f 84 0c 01 00 00    	je     401f19 <_RECVTHREAD@0+0x209>
		If bytes = -1 Or bytes = 0 Then
  401e0d:	8b 85 d4 fe ff ff    	mov    0xfffffed4(%ebp),%eax
  401e13:	83 f8 ff             	cmp    $0xffffffff,%eax
  401e16:	0f 94 c0             	sete   %al
  401e19:	d1 e8                	shr    %eax
  401e1b:	19 c0                	sbb    %eax,%eax
  401e1d:	8b 9d d4 fe ff ff    	mov    0xfffffed4(%ebp),%ebx
  401e23:	85 db                	test   %ebx,%ebx
  401e25:	0f 94 c3             	sete   %bl
  401e28:	d1 eb                	shr    %ebx
  401e2a:	19 db                	sbb    %ebx,%ebx
  401e2c:	09 d8                	or     %ebx,%eax
  401e2e:	74 67                	je     401e97 <_RECVTHREAD@0+0x187>
			'Server has died without telling us.
			#ifdef BUILDING_SERVER
			print "Connection closed by client."
			#else
			print serv + ": Connection closed by remote host."
  401e30:	6a 01                	push   $0x1
  401e32:	6a 24                	push   $0x24
  401e34:	68 48 a1 40 00       	push   $0x40a148
  401e39:	6a 3d                	push   $0x3d
  401e3b:	68 98 c1 40 00       	push   $0x40c198
  401e40:	c7 85 7c fe ff ff 00 	movl   $0x0,0xfffffe7c(%ebp)
  401e47:	00 00 00 
  401e4a:	c7 85 80 fe ff ff 00 	movl   $0x0,0xfffffe80(%ebp)
  401e51:	00 00 00 
  401e54:	c7 85 84 fe ff ff 00 	movl   $0x0,0xfffffe84(%ebp)
  401e5b:	00 00 00 
  401e5e:	8d 9d 7c fe ff ff    	lea    0xfffffe7c(%ebp),%ebx
  401e64:	53                   	push   %ebx
  401e65:	e8 16 2c 00 00       	call   404a80 <_fb_StrConcat@20>
  401e6a:	50                   	push   %eax
  401e6b:	6a 00                	push   $0x0
  401e6d:	e8 7e 1c 00 00       	call   403af0 <_fb_PrintString@12>
			#endif
			Connected = 0
  401e72:	c7 05 74 c1 40 00 00 	movl   $0x0,0x40c174
  401e79:	00 00 00 
			cls
  401e7c:	68 00 00 ff ff       	push   $0xffff0000
  401e81:	e8 ca 2f 00 00       	call   404e50 <_fb_Cls@4>
			hShutdown
  401e86:	e8 e5 f4 ff ff       	call   401370 <_HSHUTDOWN@0>
			quit		
  401e8b:	6a 00                	push   $0x0
  401e8d:	e8 9e fb ff ff       	call   401a30 <_QUIT@4>
			Goto EndThread	
  401e92:	e9 ab 02 00 00       	jmp    402142 <_RECVTHREAD@0+0x432>
		End If
		print "hRecieve() returned " & bytes & " bytes."
  401e97:	6a 01                	push   $0x1
  401e99:	6a 08                	push   $0x8
  401e9b:	68 84 a1 40 00       	push   $0x40a184
  401ea0:	6a ff                	push   $0xffffffff
  401ea2:	6a ff                	push   $0xffffffff
  401ea4:	ff b5 d4 fe ff ff    	pushl  0xfffffed4(%ebp)
  401eaa:	e8 11 30 00 00       	call   404ec0 <_fb_IntToStr@4>
  401eaf:	50                   	push   %eax
  401eb0:	6a 15                	push   $0x15
  401eb2:	68 6c a1 40 00       	push   $0x40a16c
  401eb7:	c7 85 94 fe ff ff 00 	movl   $0x0,0xfffffe94(%ebp)
  401ebe:	00 00 00 
  401ec1:	c7 85 98 fe ff ff 00 	movl   $0x0,0xfffffe98(%ebp)
  401ec8:	00 00 00 
  401ecb:	c7 85 9c fe ff ff 00 	movl   $0x0,0xfffffe9c(%ebp)
  401ed2:	00 00 00 
  401ed5:	8d 85 94 fe ff ff    	lea    0xfffffe94(%ebp),%eax
  401edb:	50                   	push   %eax
  401edc:	e8 9f 2b 00 00       	call   404a80 <_fb_StrConcat@20>
  401ee1:	50                   	push   %eax
  401ee2:	c7 85 88 fe ff ff 00 	movl   $0x0,0xfffffe88(%ebp)
  401ee9:	00 00 00 
  401eec:	c7 85 8c fe ff ff 00 	movl   $0x0,0xfffffe8c(%ebp)
  401ef3:	00 00 00 
  401ef6:	c7 85 90 fe ff ff 00 	movl   $0x0,0xfffffe90(%ebp)
  401efd:	00 00 00 
  401f00:	8d 85 88 fe ff ff    	lea    0xfffffe88(%ebp),%eax
  401f06:	50                   	push   %eax
  401f07:	e8 74 2b 00 00       	call   404a80 <_fb_StrConcat@20>
  401f0c:	50                   	push   %eax
  401f0d:	6a 00                	push   $0x0
  401f0f:	e8 dc 1b 00 00       	call   403af0 <_fb_PrintString@12>
		Goto EndRecv
  401f14:	e9 24 02 00 00       	jmp    40213d <_RECVTHREAD@0+0x42d>
	End If
	Select Case packet.type
  401f19:	6a 00                	push   $0x0
  401f1b:	6a 00                	push   $0x0
  401f1d:	68 28 c0 40 00       	push   $0x40c028
  401f22:	6a ff                	push   $0xffffffff
  401f24:	c7 85 a0 fe ff ff 00 	movl   $0x0,0xfffffea0(%ebp)
  401f2b:	00 00 00 
  401f2e:	c7 85 a4 fe ff ff 00 	movl   $0x0,0xfffffea4(%ebp)
  401f35:	00 00 00 
  401f38:	c7 85 a8 fe ff ff 00 	movl   $0x0,0xfffffea8(%ebp)
  401f3f:	00 00 00 
  401f42:	8d 85 a0 fe ff ff    	lea    0xfffffea0(%ebp),%eax
  401f48:	50                   	push   %eax
  401f49:	e8 62 25 00 00       	call   4044b0 <_fb_StrAssign@20>
		Case "CHAT"
  401f4e:	6a 05                	push   $0x5
  401f50:	68 40 a1 40 00       	push   $0x40a140
  401f55:	6a ff                	push   $0xffffffff
  401f57:	8d 85 a0 fe ff ff    	lea    0xfffffea0(%ebp),%eax
  401f5d:	50                   	push   %eax
  401f5e:	e8 bd 2c 00 00       	call   404c20 <_fb_StrCompare@16>
  401f63:	85 c0                	test   %eax,%eax
  401f65:	0f 85 9d 00 00 00    	jne    402008 <_RECVTHREAD@0+0x2f8>
			' This is the only screen operation IN threaded section
			' of program execution in which locking mutex = bad stuff
			Color 6 
  401f6b:	6a 02                	push   $0x2
  401f6d:	6a 00                	push   $0x0
  401f6f:	6a 06                	push   $0x6
  401f71:	e8 6a 2a 00 00       	call   4049e0 <_fb_Color@12>
			Print packet.uNAME + ": " + packet.msg
  401f76:	6a 01                	push   $0x1
  401f78:	68 02 01 00 00       	push   $0x102
  401f7d:	8d 05 4e c0 40 00    	lea    0x40c04e,%eax
  401f83:	50                   	push   %eax
  401f84:	6a ff                	push   $0xffffffff
  401f86:	6a 03                	push   $0x3
  401f88:	68 2c a0 40 00       	push   $0x40a02c
  401f8d:	6a 20                	push   $0x20
  401f8f:	8d 05 2e c0 40 00    	lea    0x40c02e,%eax
  401f95:	50                   	push   %eax
  401f96:	c7 85 94 fe ff ff 00 	movl   $0x0,0xfffffe94(%ebp)
  401f9d:	00 00 00 
  401fa0:	c7 85 98 fe ff ff 00 	movl   $0x0,0xfffffe98(%ebp)
  401fa7:	00 00 00 
  401faa:	c7 85 9c fe ff ff 00 	movl   $0x0,0xfffffe9c(%ebp)
  401fb1:	00 00 00 
  401fb4:	8d 85 94 fe ff ff    	lea    0xfffffe94(%ebp),%eax
  401fba:	50                   	push   %eax
  401fbb:	e8 c0 2a 00 00       	call   404a80 <_fb_StrConcat@20>
  401fc0:	50                   	push   %eax
  401fc1:	c7 85 88 fe ff ff 00 	movl   $0x0,0xfffffe88(%ebp)
  401fc8:	00 00 00 
  401fcb:	c7 85 8c fe ff ff 00 	movl   $0x0,0xfffffe8c(%ebp)
  401fd2:	00 00 00 
  401fd5:	c7 85 90 fe ff ff 00 	movl   $0x0,0xfffffe90(%ebp)
  401fdc:	00 00 00 
  401fdf:	8d 85 88 fe ff ff    	lea    0xfffffe88(%ebp),%eax
  401fe5:	50                   	push   %eax
  401fe6:	e8 95 2a 00 00       	call   404a80 <_fb_StrConcat@20>
  401feb:	50                   	push   %eax
  401fec:	6a 00                	push   $0x0
  401fee:	e8 fd 1a 00 00       	call   403af0 <_fb_PrintString@12>
			color 7
  401ff3:	6a 02                	push   $0x2
  401ff5:	6a 00                	push   $0x0
  401ff7:	6a 07                	push   $0x7
  401ff9:	e8 e2 29 00 00       	call   4049e0 <_fb_Color@12>
			UpdateStatusBar() 
  401ffe:	e8 4d fa ff ff       	call   401a50 <_UPDATESTATUSBAR@0>
		#ifdef BUILDING_SERVER
		Case "BYE!" 
			SendProtoMsg("CYA!","server to client: clear to disconnect.")
		#else
		Case "CYA!"
  402003:	e9 29 01 00 00       	jmp    402131 <_RECVTHREAD@0+0x421>
  402008:	6a 05                	push   $0x5
  40200a:	68 8c a1 40 00       	push   $0x40a18c
  40200f:	6a ff                	push   $0xffffffff
  402011:	8d 85 a0 fe ff ff    	lea    0xfffffea0(%ebp),%eax
  402017:	50                   	push   %eax
  402018:	e8 03 2c 00 00       	call   404c20 <_fb_StrCompare@16>
  40201d:	85 c0                	test   %eax,%eax
  40201f:	75 2a                	jne    40204b <_RECVTHREAD@0+0x33b>
		#endif
			Connected = 0
  402021:	c7 05 74 c1 40 00 00 	movl   $0x0,0x40c174
  402028:	00 00 00 
			cls
  40202b:	68 00 00 ff ff       	push   $0xffff0000
  402030:	e8 1b 2e 00 00       	call   404e50 <_fb_Cls@4>
			hShutdown
  402035:	e8 36 f3 ff ff       	call   401370 <_HSHUTDOWN@0>
			quit
  40203a:	6a 00                	push   $0x0
  40203c:	e8 ef f9 ff ff       	call   401a30 <_QUIT@4>
			Goto EndThread	
  402041:	e9 fc 00 00 00       	jmp    402142 <_RECVTHREAD@0+0x432>
		Case "AUDp"
  402046:	e9 e6 00 00 00       	jmp    402131 <_RECVTHREAD@0+0x421>
  40204b:	6a 05                	push   $0x5
  40204d:	68 94 a1 40 00       	push   $0x40a194
  402052:	6a ff                	push   $0xffffffff
  402054:	8d 85 a0 fe ff ff    	lea    0xfffffea0(%ebp),%eax
  40205a:	50                   	push   %eax
  40205b:	e8 c0 2b 00 00       	call   404c20 <_fb_StrCompare@16>
  402060:	85 c0                	test   %eax,%eax
  402062:	75 05                	jne    402069 <_RECVTHREAD@0+0x359>
			' NOTE: If you are using a rather dated Linux system (at the latest, from
			' 2006) and your system uses LinuxThreads for threading, you will be sorry.
			' Each and every audio packet is processed and played back in a new thread
			' for each packet received. Since the packet can only hold 200 bytes or so
			' per packet, this means that at a 8,000Hz sampling rate, 8 bit, mono,
			' you will have 40 threads that only run for 2% of a second being started
			' every second. Since LinuxThreads uses clone(), it incurrs a rather hefty
			' time penalty for setting up and cleaning up each thread. What all this 
			' means is, if you use LinuxThreads (type in "/lib/libc.so.6" at your shell
			' and look for "LinuxThreads" in the output, if you see it, you are using it)
			' this program's VoIP features will suck since your system's already slow
			' POSIX threads implementation (LinuxThreads) is getting the shit beat out
			' of it, although this is true on a few other systems, since the VoIP here
			' is going to torture your OS's thread system.
			
		Case else
  402064:	e9 c8 00 00 00       	jmp    402131 <_RECVTHREAD@0+0x421>
			print !"Unknown packet type:\"" + packet.type + !"\"." 
  402069:	6a 01                	push   $0x1
  40206b:	6a 03                	push   $0x3
  40206d:	68 b4 a1 40 00       	push   $0x40a1b4
  402072:	6a ff                	push   $0xffffffff
  402074:	6a 06                	push   $0x6
  402076:	8d 05 28 c0 40 00    	lea    0x40c028,%eax
  40207c:	50                   	push   %eax
  40207d:	6a 16                	push   $0x16
  40207f:	68 9c a1 40 00       	push   $0x40a19c
  402084:	c7 85 94 fe ff ff 00 	movl   $0x0,0xfffffe94(%ebp)
  40208b:	00 00 00 
  40208e:	c7 85 98 fe ff ff 00 	movl   $0x0,0xfffffe98(%ebp)
  402095:	00 00 00 
  402098:	c7 85 9c fe ff ff 00 	movl   $0x0,0xfffffe9c(%ebp)
  40209f:	00 00 00 
  4020a2:	8d 85 94 fe ff ff    	lea    0xfffffe94(%ebp),%eax
  4020a8:	50                   	push   %eax
  4020a9:	e8 d2 29 00 00       	call   404a80 <_fb_StrConcat@20>
  4020ae:	50                   	push   %eax
  4020af:	c7 85 88 fe ff ff 00 	movl   $0x0,0xfffffe88(%ebp)
  4020b6:	00 00 00 
  4020b9:	c7 85 8c fe ff ff 00 	movl   $0x0,0xfffffe8c(%ebp)
  4020c0:	00 00 00 
  4020c3:	c7 85 90 fe ff ff 00 	movl   $0x0,0xfffffe90(%ebp)
  4020ca:	00 00 00 
  4020cd:	8d 85 88 fe ff ff    	lea    0xfffffe88(%ebp),%eax
  4020d3:	50                   	push   %eax
  4020d4:	e8 a7 29 00 00       	call   404a80 <_fb_StrConcat@20>
  4020d9:	50                   	push   %eax
  4020da:	6a 00                	push   $0x0
  4020dc:	e8 0f 1a 00 00       	call   403af0 <_fb_PrintString@12>
			Print "Sizeof(packet) = " & Sizeof(packet) & ", bytes = " & bytes
  4020e1:	6a 01                	push   $0x1
  4020e3:	6a ff                	push   $0xffffffff
  4020e5:	ff b5 d4 fe ff ff    	pushl  0xfffffed4(%ebp)
  4020eb:	e8 d0 2d 00 00       	call   404ec0 <_fb_IntToStr@4>
  4020f0:	50                   	push   %eax
  4020f1:	6a 1f                	push   $0x1f
  4020f3:	68 b8 a1 40 00       	push   $0x40a1b8
  4020f8:	c7 85 7c fe ff ff 00 	movl   $0x0,0xfffffe7c(%ebp)
  4020ff:	00 00 00 
  402102:	c7 85 80 fe ff ff 00 	movl   $0x0,0xfffffe80(%ebp)
  402109:	00 00 00 
  40210c:	c7 85 84 fe ff ff 00 	movl   $0x0,0xfffffe84(%ebp)
  402113:	00 00 00 
  402116:	8d 85 7c fe ff ff    	lea    0xfffffe7c(%ebp),%eax
  40211c:	50                   	push   %eax
  40211d:	e8 5e 29 00 00       	call   404a80 <_fb_StrConcat@20>
  402122:	50                   	push   %eax
  402123:	6a 00                	push   $0x0
  402125:	e8 c6 19 00 00       	call   403af0 <_fb_PrintString@12>
			Sleep(1)
  40212a:	6a 01                	push   $0x1
  40212c:	e8 bf 26 00 00       	call   4047f0 <_fb_Sleep@4>
		
	End Select 
  402131:	8d 85 a0 fe ff ff    	lea    0xfffffea0(%ebp),%eax
  402137:	50                   	push   %eax
  402138:	e8 13 27 00 00       	call   404850 <_fb_StrDelete@4>
	EndRecv:
	Loop	
  40213d:	e9 5b fc ff ff       	jmp    401d9d <_RECVTHREAD@0+0x8d>
	EndThread:
	Running = 0	
  402142:	c7 05 90 c1 40 00 00 	movl   $0x0,0x40c190
  402149:	00 00 00 
  40214c:	8d 85 b0 fe ff ff    	lea    0xfffffeb0(%ebp),%eax
  402152:	50                   	push   %eax
  402153:	e8 f8 26 00 00       	call   404850 <_fb_StrDelete@4>
  402158:	8d 85 bc fe ff ff    	lea    0xfffffebc(%ebp),%eax
  40215e:	50                   	push   %eax
  40215f:	e8 ec 26 00 00       	call   404850 <_fb_StrDelete@4>
  402164:	8d 85 c8 fe ff ff    	lea    0xfffffec8(%ebp),%eax
  40216a:	50                   	push   %eax
  40216b:	e8 e0 26 00 00       	call   404850 <_fb_StrDelete@4>
End Sub
  402170:	5b                   	pop    %ebx
  402171:	89 ec                	mov    %ebp,%esp
  402173:	5d                   	pop    %ebp
  402174:	c3                   	ret    
  402175:	8d 74 26 00          	lea    0x0(%esi),%esi
  402179:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402180 <_AUDIOINIT@0>:

Function AudioInit() As Integer Export
  402180:	55                   	push   %ebp
  402181:	89 e5                	mov    %esp,%ebp
  402183:	83 ec 20             	sub    $0x20,%esp
  402186:	53                   	push   %ebx
  402187:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
'
' WinMM, I'm gonna be sick...
'
#ifdef __FB_WIN32__
	Dim As MMRESULT res
  40218e:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
	Dim As WAVEFORMATEX outFormatex
  402195:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  402198:	50                   	push   %eax
  402199:	57                   	push   %edi
  40219a:	89 c7                	mov    %eax,%edi
  40219c:	31 c0                	xor    %eax,%eax
  40219e:	b9 04 00 00 00       	mov    $0x4,%ecx
  4021a3:	f3 ab                	repz stos %eax,%es:(%edi)
  4021a5:	66 89 07             	mov    %ax,(%edi)
  4021a8:	5f                   	pop    %edi
  4021a9:	58                   	pop    %eax
	if waveOutGetNumDevs() = -1 Then
  4021aa:	e8 71 08 00 00       	call   402a20 <_waveOutGetNumDevs@0>
  4021af:	83 f8 ff             	cmp    $0xffffffff,%eax
  4021b2:	75 22                	jne    4021d6 <_AUDIOINIT@0+0x56>
		print "audio: WinMM reports no audio device present!"
  4021b4:	6a 01                	push   $0x1
  4021b6:	6a 2d                	push   $0x2d
  4021b8:	68 d8 a1 40 00       	push   $0x40a1d8
  4021bd:	e8 de 17 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  4021c2:	50                   	push   %eax
  4021c3:	6a 00                	push   $0x0
  4021c5:	e8 26 19 00 00       	call   403af0 <_fb_PrintString@12>
		return FALSE
  4021ca:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  4021d1:	e9 98 00 00 00       	jmp    40226e <_AUDIOINIT@0+0xee>
	End If
	
	With outFormatex
  4021d6:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  4021d9:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
		.wFormatTag      = WAVE_FORMAT_PCM
  4021dc:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  4021df:	66 c7 00 01 00       	movw   $0x1,(%eax)
		.wBitsPerSample  = 8
  4021e4:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  4021e7:	66 c7 40 0e 08 00    	movw   $0x8,0xe(%eax)
		.nChannels       = 1
  4021ed:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  4021f0:	66 c7 40 02 01 00    	movw   $0x1,0x2(%eax)
		.nSamplesPerSec  = 8000
  4021f6:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  4021f9:	c7 40 04 40 1f 00 00 	movl   $0x1f40,0x4(%eax)
		.nAvgBytesPerSec = .nSamplesPerSec * .nChannels * .wBitsPerSample/8
  402200:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  402203:	8b 5d e0             	mov    0xffffffe0(%ebp),%ebx
  402206:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
  40220a:	8b 50 04             	mov    0x4(%eax),%edx
  40220d:	50                   	push   %eax
  40220e:	89 c8                	mov    %ecx,%eax
  402210:	f7 e2                	mul    %edx
  402212:	89 c1                	mov    %eax,%ecx
  402214:	58                   	pop    %eax
  402215:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  402218:	0f b7 58 0e          	movzwl 0xe(%eax),%ebx
  40221c:	89 c8                	mov    %ecx,%eax
  40221e:	f7 e3                	mul    %ebx
  402220:	89 c1                	mov    %eax,%ecx
  402222:	6a 00                	push   $0x0
  402224:	51                   	push   %ecx
  402225:	df 2c 24             	fildll (%esp)
  402228:	83 c4 08             	add    $0x8,%esp
  40222b:	dc 35 08 a2 40 00    	fdivl  0x40a208
  402231:	8b 4d e0             	mov    0xffffffe0(%ebp),%ecx
  402234:	83 ec 08             	sub    $0x8,%esp
  402237:	df 3c 24             	fistpll (%esp)
  40223a:	8f 41 08             	popl   0x8(%ecx)
  40223d:	83 c4 04             	add    $0x4,%esp
		.nBlockAlign     = .nChannels * .wBitsPerSample/8
  402240:	8b 4d e0             	mov    0xffffffe0(%ebp),%ecx
  402243:	8b 5d e0             	mov    0xffffffe0(%ebp),%ebx
  402246:	66 8b 43 0e          	mov    0xe(%ebx),%ax
  40224a:	66 f7 61 02          	mulw   0x2(%ecx)
  40224e:	6a 00                	push   $0x0
  402250:	66 50                	push   %ax
  402252:	db 04 24             	fildl  (%esp)
  402255:	83 c4 06             	add    $0x6,%esp
  402258:	dc 35 08 a2 40 00    	fdivl  0x40a208
  40225e:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  402261:	83 ec 04             	sub    $0x4,%esp
  402264:	db 1c 24             	fistpl (%esp)
  402267:	66 8f 40 0c          	popw   0xc(%eax)
  40226b:	83 c4 02             	add    $0x2,%esp
	End With
	
#endif

'
' Both Linux and FreeBSD support the Open Sound System; however it's 
' depreciated on Linux. Who cares, though, since FreeBSD uses it, 
' people will code for it (also even for Linux cause ALSA is confusing)
'
#if defined(__FB_LINUX__) Or defined(__FB_FREEBSD__)

#endif

End Function
  40226e:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  402271:	5b                   	pop    %ebx
  402272:	89 ec                	mov    %ebp,%esp
  402274:	5d                   	pop    %ebp
  402275:	c3                   	ret    
  402276:	8d 76 00             	lea    0x0(%esi),%esi
  402279:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402280 <_AUDIOTHREAD@0>:

Sub AudioThread() Export
  402280:	55                   	push   %ebp
  402281:	89 e5                	mov    %esp,%ebp
  402283:	83 ec 04             	sub    $0x4,%esp
	Dim ret As Integer
  402286:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
	ret = AudioInit()
  40228d:	e8 ee fe ff ff       	call   402180 <_AUDIOINIT@0>
  402292:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
	if ret = FALSE Then
  402295:	83 7d fc 00          	cmpl   $0x0,0xfffffffc(%ebp)
  402299:	75 00                	jne    40229b <_AUDIOTHREAD@0+0x1b>
		return
	end if
End Sub
  40229b:	89 ec                	mov    %ebp,%esp
  40229d:	5d                   	pop    %ebp
  40229e:	c3                   	ret    
  40229f:	90                   	nop    

004022a0 <_main>:
  4022a0:	55                   	push   %ebp
  4022a1:	89 e5                	mov    %esp,%ebp
  4022a3:	83 e4 f0             	and    $0xfffffff0,%esp
  4022a6:	81 ec 9c 01 00 00    	sub    $0x19c,%esp
  4022ac:	53                   	push   %ebx
  4022ad:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
  4022b4:	e8 97 6d 00 00       	call   409050 <___main>
  4022b9:	6a 00                	push   $0x0
  4022bb:	ff 75 0c             	pushl  0xc(%ebp)
  4022be:	ff 75 08             	pushl  0x8(%ebp)
  4022c1:	e8 aa 2d 00 00       	call   405070 <_fb_Init@12>
  4022c6:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
  4022cd:	8d 85 f8 fe ff ff    	lea    0xfffffef8(%ebp),%eax
  4022d3:	50                   	push   %eax
  4022d4:	57                   	push   %edi
  4022d5:	89 c7                	mov    %eax,%edi
  4022d7:	31 c0                	xor    %eax,%eax
  4022d9:	b9 40 00 00 00       	mov    $0x40,%ecx
  4022de:	f3 ab                	repz stos %eax,%es:(%edi)
  4022e0:	5f                   	pop    %edi
  4022e1:	58                   	pop    %eax
  4022e2:	c6 85 f4 fe ff ff 00 	movb   $0x0,0xfffffef4(%ebp)
  4022e9:	68 00 00 ff ff       	push   $0xffff0000
  4022ee:	e8 5d 2b 00 00       	call   404e50 <_fb_Cls@4>
  4022f3:	6a 00                	push   $0x0
  4022f5:	6a 00                	push   $0x0
  4022f7:	6a 07                	push   $0x7
  4022f9:	e8 e2 26 00 00       	call   4049e0 <_fb_Color@12>
  4022fe:	e8 1d 1a 00 00       	call   403d20 <_fb_MutexCreate@0>
  402303:	a3 d8 c1 40 00       	mov    %eax,0x40c1d8
  402308:	c7 05 90 c1 40 00 01 	movl   $0x1,0x40c190
  40230f:	00 00 00 
  402312:	e8 39 f3 ff ff       	call   401650 <_CLIENTINI@0>
  402317:	89 45 f8             	mov    %eax,0xfffffff8(%ebp)
  40231a:	83 7d f8 00          	cmpl   $0x0,0xfffffff8(%ebp)
  40231e:	75 22                	jne    402342 <_main+0xa2>
  402320:	6a 01                	push   $0x1
  402322:	6a 1b                	push   $0x1b
  402324:	68 68 a0 40 00       	push   $0x40a068
  402329:	e8 72 16 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  40232e:	50                   	push   %eax
  40232f:	6a 00                	push   $0x0
  402331:	e8 ba 17 00 00       	call   403af0 <_fb_PrintString@12>
  402336:	e8 35 f0 ff ff       	call   401370 <_HSHUTDOWN@0>
  40233b:	6a 00                	push   $0x0
  40233d:	e8 ee f6 ff ff       	call   401a30 <_QUIT@4>
  402342:	6a 00                	push   $0x0
  402344:	6a 00                	push   $0x0
  402346:	6a ff                	push   $0xffffffff
  402348:	6a 01                	push   $0x1
  40234a:	6a 03                	push   $0x3
  40234c:	e8 6f 1b 00 00       	call   403ec0 <_fb_Locate@20>
  402351:	e8 fa f6 ff ff       	call   401a50 <_UPDATESTATUSBAR@0>
  402356:	6a 01                	push   $0x1
  402358:	6a 14                	push   $0x14
  40235a:	68 84 a0 40 00       	push   $0x40a084
  40235f:	e8 3c 16 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  402364:	50                   	push   %eax
  402365:	6a 00                	push   $0x0
  402367:	e8 84 17 00 00       	call   403af0 <_fb_PrintString@12>
  40236c:	6a 00                	push   $0x0
  40236e:	6a ff                	push   $0xffffffff
  402370:	c7 85 e8 fe ff ff 00 	movl   $0x0,0xfffffee8(%ebp)
  402377:	00 00 00 
  40237a:	c7 85 ec fe ff ff 00 	movl   $0x0,0xfffffeec(%ebp)
  402381:	00 00 00 
  402384:	c7 85 f0 fe ff ff 00 	movl   $0x0,0xfffffef0(%ebp)
  40238b:	00 00 00 
  40238e:	6a 00                	push   $0x0
  402390:	6a 07                	push   $0x7
  402392:	68 9c a0 40 00       	push   $0x40a09c
  402397:	6a ff                	push   $0xffffffff
  402399:	8d 85 e8 fe ff ff    	lea    0xfffffee8(%ebp),%eax
  40239f:	50                   	push   %eax
  4023a0:	e8 0b 21 00 00       	call   4044b0 <_fb_StrAssign@20>
  4023a5:	8d 85 e8 fe ff ff    	lea    0xfffffee8(%ebp),%eax
  4023ab:	50                   	push   %eax
  4023ac:	e8 9f f3 ff ff       	call   401750 <_GETSTRING@4>
  4023b1:	8d 9d e8 fe ff ff    	lea    0xfffffee8(%ebp),%ebx
  4023b7:	53                   	push   %ebx
  4023b8:	89 c3                	mov    %eax,%ebx
  4023ba:	e8 91 24 00 00       	call   404850 <_fb_StrDelete@4>
  4023bf:	53                   	push   %ebx
  4023c0:	68 00 01 00 00       	push   $0x100
  4023c5:	8d 9d f8 fe ff ff    	lea    0xfffffef8(%ebp),%ebx
  4023cb:	53                   	push   %ebx
  4023cc:	e8 df 20 00 00       	call   4044b0 <_fb_StrAssign@20>
  4023d1:	6a 00                	push   $0x0
  4023d3:	6a ff                	push   $0xffffffff
  4023d5:	6a 1e                	push   $0x1e
  4023d7:	8d 85 f8 fe ff ff    	lea    0xfffffef8(%ebp),%eax
  4023dd:	50                   	push   %eax
  4023de:	e8 1d 16 00 00       	call   403a00 <_fb_StrAllocTempDescZ@4>
  4023e3:	50                   	push   %eax
  4023e4:	e8 a7 1d 00 00       	call   404190 <_fb_LEFT@8>
  4023e9:	50                   	push   %eax
  4023ea:	6a ff                	push   $0xffffffff
  4023ec:	68 68 c1 40 00       	push   $0x40c168
  4023f1:	e8 ba 20 00 00       	call   4044b0 <_fb_StrAssign@20>
  4023f6:	6a ff                	push   $0xffffffff
  4023f8:	68 68 c1 40 00       	push   $0x40c168
  4023fd:	e8 3e 1d 00 00       	call   404140 <_fb_StrLen@8>
  402402:	85 c0                	test   %eax,%eax
  402404:	75 05                	jne    40240b <_main+0x16b>
  402406:	e9 4b ff ff ff       	jmp    402356 <_main+0xb6>
  40240b:	e8 40 f6 ff ff       	call   401a50 <_UPDATESTATUSBAR@0>
  402410:	6a 01                	push   $0x1
  402412:	6a ff                	push   $0xffffffff
  402414:	68 68 c1 40 00       	push   $0x40c168
  402419:	6a 10                	push   $0x10
  40241b:	68 a4 a0 40 00       	push   $0x40a0a4
  402420:	c7 85 dc fe ff ff 00 	movl   $0x0,0xfffffedc(%ebp)
  402427:	00 00 00 
  40242a:	c7 85 e0 fe ff ff 00 	movl   $0x0,0xfffffee0(%ebp)
  402431:	00 00 00 
  402434:	c7 85 e4 fe ff ff 00 	movl   $0x0,0xfffffee4(%ebp)
  40243b:	00 00 00 
  40243e:	8d 85 dc fe ff ff    	lea    0xfffffedc(%ebp),%eax
  402444:	50                   	push   %eax
  402445:	e8 36 26 00 00       	call   404a80 <_fb_StrConcat@20>
  40244a:	50                   	push   %eax
  40244b:	6a 00                	push   $0x0
  40244d:	e8 9e 16 00 00       	call   403af0 <_fb_PrintString@12>
  402452:	6a 01                	push   $0x1
  402454:	6a 30                	push   $0x30
  402456:	68 b4 a0 40 00       	push   $0x40a0b4
  40245b:	e8 40 15 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  402460:	50                   	push   %eax
  402461:	6a 00                	push   $0x0
  402463:	e8 88 16 00 00       	call   403af0 <_fb_PrintString@12>
  402468:	6a ff                	push   $0xffffffff
  40246a:	6a ff                	push   $0xffffffff
  40246c:	6a 3c                	push   $0x3c
  40246e:	c7 85 d0 fe ff ff 00 	movl   $0x0,0xfffffed0(%ebp)
  402475:	00 00 00 
  402478:	c7 85 d4 fe ff ff 00 	movl   $0x0,0xfffffed4(%ebp)
  40247f:	00 00 00 
  402482:	c7 85 d8 fe ff ff 00 	movl   $0x0,0xfffffed8(%ebp)
  402489:	00 00 00 
  40248c:	6a 00                	push   $0x0
  40248e:	6a 09                	push   $0x9
  402490:	68 e8 a0 40 00       	push   $0x40a0e8
  402495:	6a ff                	push   $0xffffffff
  402497:	8d 85 d0 fe ff ff    	lea    0xfffffed0(%ebp),%eax
  40249d:	50                   	push   %eax
  40249e:	e8 0d 20 00 00       	call   4044b0 <_fb_StrAssign@20>
  4024a3:	8d 85 d0 fe ff ff    	lea    0xfffffed0(%ebp),%eax
  4024a9:	50                   	push   %eax
  4024aa:	e8 a1 f2 ff ff       	call   401750 <_GETSTRING@4>
  4024af:	8d 9d d0 fe ff ff    	lea    0xfffffed0(%ebp),%ebx
  4024b5:	53                   	push   %ebx
  4024b6:	89 c3                	mov    %eax,%ebx
  4024b8:	e8 93 23 00 00       	call   404850 <_fb_StrDelete@4>
  4024bd:	53                   	push   %ebx
  4024be:	e8 cd 1c 00 00       	call   404190 <_fb_LEFT@8>
  4024c3:	50                   	push   %eax
  4024c4:	6a 3d                	push   $0x3d
  4024c6:	68 98 c1 40 00       	push   $0x40c198
  4024cb:	e8 e0 1f 00 00       	call   4044b0 <_fb_StrAssign@20>
  4024d0:	e8 7b f5 ff ff       	call   401a50 <_UPDATESTATUSBAR@0>
  4024d5:	6a 01                	push   $0x1
  4024d7:	6a 0e                	push   $0xe
  4024d9:	68 04 a1 40 00       	push   $0x40a104
  4024de:	6a ff                	push   $0xffffffff
  4024e0:	6a 3d                	push   $0x3d
  4024e2:	68 98 c1 40 00       	push   $0x40c198
  4024e7:	6a 0f                	push   $0xf
  4024e9:	68 f4 a0 40 00       	push   $0x40a0f4
  4024ee:	c7 85 c4 fe ff ff 00 	movl   $0x0,0xfffffec4(%ebp)
  4024f5:	00 00 00 
  4024f8:	c7 85 c8 fe ff ff 00 	movl   $0x0,0xfffffec8(%ebp)
  4024ff:	00 00 00 
  402502:	c7 85 cc fe ff ff 00 	movl   $0x0,0xfffffecc(%ebp)
  402509:	00 00 00 
  40250c:	8d 85 c4 fe ff ff    	lea    0xfffffec4(%ebp),%eax
  402512:	50                   	push   %eax
  402513:	e8 68 25 00 00       	call   404a80 <_fb_StrConcat@20>
  402518:	50                   	push   %eax
  402519:	c7 85 b8 fe ff ff 00 	movl   $0x0,0xfffffeb8(%ebp)
  402520:	00 00 00 
  402523:	c7 85 bc fe ff ff 00 	movl   $0x0,0xfffffebc(%ebp)
  40252a:	00 00 00 
  40252d:	c7 85 c0 fe ff ff 00 	movl   $0x0,0xfffffec0(%ebp)
  402534:	00 00 00 
  402537:	8d 85 b8 fe ff ff    	lea    0xfffffeb8(%ebp),%eax
  40253d:	50                   	push   %eax
  40253e:	e8 3d 25 00 00       	call   404a80 <_fb_StrConcat@20>
  402543:	50                   	push   %eax
  402544:	6a 00                	push   $0x0
  402546:	e8 a5 15 00 00       	call   403af0 <_fb_PrintString@12>
  40254b:	68 39 05 00 00       	push   $0x539
  402550:	68 98 c1 40 00       	push   $0x40c198
  402555:	e8 36 ee ff ff       	call   401390 <_HRESOLVE@4>
  40255a:	50                   	push   %eax
  40255b:	ff 35 00 c0 40 00    	pushl  0x40c000
  402561:	e8 da ee ff ff       	call   401440 <_HCONNECT@12>
  402566:	85 c0                	test   %eax,%eax
  402568:	75 58                	jne    4025c2 <_main+0x322>
  40256a:	6a 00                	push   $0x0
  40256c:	6a 0e                	push   $0xe
  40256e:	68 14 a0 40 00       	push   $0x40a014
  402573:	e8 28 14 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  402578:	50                   	push   %eax
  402579:	6a 00                	push   $0x0
  40257b:	e8 70 15 00 00       	call   403af0 <_fb_PrintString@12>
  402580:	6a 00                	push   $0x0
  402582:	6a 08                	push   $0x8
  402584:	68 14 a1 40 00       	push   $0x40a114
  402589:	e8 12 14 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  40258e:	50                   	push   %eax
  40258f:	6a 00                	push   $0x0
  402591:	e8 5a 15 00 00       	call   403af0 <_fb_PrintString@12>
  402596:	6a 00                	push   $0x0
  402598:	6a 02                	push   $0x2
  40259a:	68 2c a0 40 00       	push   $0x40a02c
  40259f:	e8 fc 13 00 00       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  4025a4:	50                   	push   %eax
  4025a5:	6a 00                	push   $0x0
  4025a7:	e8 44 15 00 00       	call   403af0 <_fb_PrintString@12>
  4025ac:	6a 01                	push   $0x1
  4025ae:	e8 5d 04 00 00       	call   402a10 <_WSAGetLastError@0>
  4025b3:	50                   	push   %eax
  4025b4:	6a 00                	push   $0x0
  4025b6:	e8 85 15 00 00       	call   403b40 <_fb_PrintInt@12>
  4025bb:	6a 00                	push   $0x0
  4025bd:	e8 6e f4 ff ff       	call   401a30 <_QUIT@4>
  4025c2:	e8 89 f4 ff ff       	call   401a50 <_UPDATESTATUSBAR@0>
  4025c7:	6a 01                	push   $0x1
  4025c9:	6a 02                	push   $0x2
  4025cb:	68 3c a1 40 00       	push   $0x40a13c
  4025d0:	6a ff                	push   $0xffffffff
  4025d2:	6a 05                	push   $0x5
  4025d4:	68 34 a1 40 00       	push   $0x40a134
  4025d9:	6a ff                	push   $0xffffffff
  4025db:	6a 02                	push   $0x2
  4025dd:	68 30 a1 40 00       	push   $0x40a130
  4025e2:	6a ff                	push   $0xffffffff
  4025e4:	6a 3d                	push   $0x3d
  4025e6:	68 98 c1 40 00       	push   $0x40c198
  4025eb:	6a 0d                	push   $0xd
  4025ed:	68 20 a1 40 00       	push   $0x40a120
  4025f2:	c7 85 ac fe ff ff 00 	movl   $0x0,0xfffffeac(%ebp)
  4025f9:	00 00 00 
  4025fc:	c7 85 b0 fe ff ff 00 	movl   $0x0,0xfffffeb0(%ebp)
  402603:	00 00 00 
  402606:	c7 85 b4 fe ff ff 00 	movl   $0x0,0xfffffeb4(%ebp)
  40260d:	00 00 00 
  402610:	8d 85 ac fe ff ff    	lea    0xfffffeac(%ebp),%eax
  402616:	50                   	push   %eax
  402617:	e8 64 24 00 00       	call   404a80 <_fb_StrConcat@20>
  40261c:	50                   	push   %eax
  40261d:	c7 85 a0 fe ff ff 00 	movl   $0x0,0xfffffea0(%ebp)
  402624:	00 00 00 
  402627:	c7 85 a4 fe ff ff 00 	movl   $0x0,0xfffffea4(%ebp)
  40262e:	00 00 00 
  402631:	c7 85 a8 fe ff ff 00 	movl   $0x0,0xfffffea8(%ebp)
  402638:	00 00 00 
  40263b:	8d 85 a0 fe ff ff    	lea    0xfffffea0(%ebp),%eax
  402641:	50                   	push   %eax
  402642:	e8 39 24 00 00       	call   404a80 <_fb_StrConcat@20>
  402647:	50                   	push   %eax
  402648:	c7 85 94 fe ff ff 00 	movl   $0x0,0xfffffe94(%ebp)
  40264f:	00 00 00 
  402652:	c7 85 98 fe ff ff 00 	movl   $0x0,0xfffffe98(%ebp)
  402659:	00 00 00 
  40265c:	c7 85 9c fe ff ff 00 	movl   $0x0,0xfffffe9c(%ebp)
  402663:	00 00 00 
  402666:	8d 85 94 fe ff ff    	lea    0xfffffe94(%ebp),%eax
  40266c:	50                   	push   %eax
  40266d:	e8 0e 24 00 00       	call   404a80 <_fb_StrConcat@20>
  402672:	50                   	push   %eax
  402673:	c7 85 88 fe ff ff 00 	movl   $0x0,0xfffffe88(%ebp)
  40267a:	00 00 00 
  40267d:	c7 85 8c fe ff ff 00 	movl   $0x0,0xfffffe8c(%ebp)
  402684:	00 00 00 
  402687:	c7 85 90 fe ff ff 00 	movl   $0x0,0xfffffe90(%ebp)
  40268e:	00 00 00 
  402691:	8d 85 88 fe ff ff    	lea    0xfffffe88(%ebp),%eax
  402697:	50                   	push   %eax
  402698:	e8 e3 23 00 00       	call   404a80 <_fb_StrConcat@20>
  40269d:	50                   	push   %eax
  40269e:	6a 00                	push   $0x0
  4026a0:	e8 4b 14 00 00       	call   403af0 <_fb_PrintString@12>
  4026a5:	c7 05 74 c1 40 00 01 	movl   $0x1,0x40c174
  4026ac:	00 00 00 

Threads(2) = ThreadCreate(@RecvThread)
  4026af:	6a 00                	push   $0x0
  4026b1:	6a 00                	push   $0x0
  4026b3:	68 10 1d 40 00       	push   $0x401d10
  4026b8:	e8 03 2a 00 00       	call   4050c0 <_fb_ThreadCreate@12>
  4026bd:	a3 80 c1 40 00       	mov    %eax,0x40c180
Threads(1) = ThreadCreate(@AudioThread)
  4026c2:	6a 00                	push   $0x0
  4026c4:	6a 00                	push   $0x0
  4026c6:	68 80 22 40 00       	push   $0x402280
  4026cb:	e8 f0 29 00 00       	call   4050c0 <_fb_ThreadCreate@12>
  4026d0:	a3 7c c1 40 00       	mov    %eax,0x40c17c

Do While Connected
  4026d5:	83 3d 74 c1 40 00 00 	cmpl   $0x0,0x40c174
  4026dc:	0f 84 d3 01 00 00    	je     4028b5 <_main+0x615>
msg = GetString
  4026e2:	6a 00                	push   $0x0
  4026e4:	6a ff                	push   $0xffffffff
  4026e6:	c7 85 7c fe ff ff 00 	movl   $0x0,0xfffffe7c(%ebp)
  4026ed:	00 00 00 
  4026f0:	c7 85 80 fe ff ff 00 	movl   $0x0,0xfffffe80(%ebp)
  4026f7:	00 00 00 
  4026fa:	c7 85 84 fe ff ff 00 	movl   $0x0,0xfffffe84(%ebp)
  402701:	00 00 00 
  402704:	6a 00                	push   $0x0
  402706:	6a 03                	push   $0x3
  402708:	68 38 a0 40 00       	push   $0x40a038
  40270d:	6a ff                	push   $0xffffffff
  40270f:	8d 85 7c fe ff ff    	lea    0xfffffe7c(%ebp),%eax
  402715:	50                   	push   %eax
  402716:	e8 95 1d 00 00       	call   4044b0 <_fb_StrAssign@20>
  40271b:	8d 85 7c fe ff ff    	lea    0xfffffe7c(%ebp),%eax
  402721:	50                   	push   %eax
  402722:	e8 29 f0 ff ff       	call   401750 <_GETSTRING@4>
  402727:	8d 9d 7c fe ff ff    	lea    0xfffffe7c(%ebp),%ebx
  40272d:	53                   	push   %ebx
  40272e:	89 c3                	mov    %eax,%ebx
  402730:	e8 1b 21 00 00       	call   404850 <_fb_StrDelete@4>
  402735:	53                   	push   %ebx
  402736:	68 00 01 00 00       	push   $0x100
  40273b:	8d 9d f8 fe ff ff    	lea    0xfffffef8(%ebp),%ebx
  402741:	53                   	push   %ebx
  402742:	e8 69 1d 00 00       	call   4044b0 <_fb_StrAssign@20>
if Left(msg, 5) = "/quit" Then 
  402747:	6a 06                	push   $0x6
  402749:	68 10 a2 40 00       	push   $0x40a210
  40274e:	6a ff                	push   $0xffffffff
  402750:	6a 05                	push   $0x5
  402752:	8d 85 f8 fe ff ff    	lea    0xfffffef8(%ebp),%eax
  402758:	50                   	push   %eax
  402759:	e8 a2 12 00 00       	call   403a00 <_fb_StrAllocTempDescZ@4>
  40275e:	50                   	push   %eax
  40275f:	e8 2c 1a 00 00       	call   404190 <_fb_LEFT@8>
  402764:	50                   	push   %eax
  402765:	e8 b6 24 00 00       	call   404c20 <_fb_StrCompare@16>
  40276a:	85 c0                	test   %eax,%eax
  40276c:	0f 85 a4 00 00 00    	jne    402816 <_main+0x576>
#ifdef BUILDING_SERVER	
	SendProtoMsg("CYA!","server to client: please disconnect now.") 
	Connected = 0
#else
	SendProtoMsg("BYE!","client to server: request to disconnect.")
  402772:	c7 85 64 fe ff ff 00 	movl   $0x0,0xfffffe64(%ebp)
  402779:	00 00 00 
  40277c:	c7 85 68 fe ff ff 00 	movl   $0x0,0xfffffe68(%ebp)
  402783:	00 00 00 
  402786:	c7 85 6c fe ff ff 00 	movl   $0x0,0xfffffe6c(%ebp)
  40278d:	00 00 00 
  402790:	6a 00                	push   $0x0
  402792:	6a 29                	push   $0x29
  402794:	68 20 a2 40 00       	push   $0x40a220
  402799:	6a ff                	push   $0xffffffff
  40279b:	8d 85 64 fe ff ff    	lea    0xfffffe64(%ebp),%eax
  4027a1:	50                   	push   %eax
  4027a2:	e8 09 1d 00 00       	call   4044b0 <_fb_StrAssign@20>
  4027a7:	8d 85 64 fe ff ff    	lea    0xfffffe64(%ebp),%eax
  4027ad:	50                   	push   %eax
  4027ae:	c7 85 70 fe ff ff 00 	movl   $0x0,0xfffffe70(%ebp)
  4027b5:	00 00 00 
  4027b8:	c7 85 74 fe ff ff 00 	movl   $0x0,0xfffffe74(%ebp)
  4027bf:	00 00 00 
  4027c2:	c7 85 78 fe ff ff 00 	movl   $0x0,0xfffffe78(%ebp)
  4027c9:	00 00 00 
  4027cc:	6a 00                	push   $0x0
  4027ce:	6a 05                	push   $0x5
  4027d0:	68 18 a2 40 00       	push   $0x40a218
  4027d5:	6a ff                	push   $0xffffffff
  4027d7:	8d 85 70 fe ff ff    	lea    0xfffffe70(%ebp),%eax
  4027dd:	50                   	push   %eax
  4027de:	e8 cd 1c 00 00       	call   4044b0 <_fb_StrAssign@20>
  4027e3:	8d 85 70 fe ff ff    	lea    0xfffffe70(%ebp),%eax
  4027e9:	50                   	push   %eax
  4027ea:	e8 01 f4 ff ff       	call   401bf0 <_SENDPROTOMSG@8>
  4027ef:	8d 85 64 fe ff ff    	lea    0xfffffe64(%ebp),%eax
  4027f5:	50                   	push   %eax
  4027f6:	e8 55 20 00 00       	call   404850 <_fb_StrDelete@4>
  4027fb:	8d 85 70 fe ff ff    	lea    0xfffffe70(%ebp),%eax
  402801:	50                   	push   %eax
  402802:	e8 49 20 00 00       	call   404850 <_fb_StrDelete@4>
	Sleep(4000)
  402807:	68 a0 0f 00 00       	push   $0xfa0
  40280c:	e8 df 1f 00 00       	call   4047f0 <_fb_Sleep@4>
#endif
	Goto EndSend
  402811:	e9 9a 00 00 00       	jmp    4028b0 <_main+0x610>
End If
If Len(msg) > 1 Then
	SendProtoMsg("CHAT", msg)
  402816:	c7 85 64 fe ff ff 00 	movl   $0x0,0xfffffe64(%ebp)
  40281d:	00 00 00 
  402820:	c7 85 68 fe ff ff 00 	movl   $0x0,0xfffffe68(%ebp)
  402827:	00 00 00 
  40282a:	c7 85 6c fe ff ff 00 	movl   $0x0,0xfffffe6c(%ebp)
  402831:	00 00 00 
  402834:	6a 00                	push   $0x0
  402836:	68 00 01 00 00       	push   $0x100
  40283b:	8d 85 f8 fe ff ff    	lea    0xfffffef8(%ebp),%eax
  402841:	50                   	push   %eax
  402842:	6a ff                	push   $0xffffffff
  402844:	8d 85 64 fe ff ff    	lea    0xfffffe64(%ebp),%eax
  40284a:	50                   	push   %eax
  40284b:	e8 60 1c 00 00       	call   4044b0 <_fb_StrAssign@20>
  402850:	8d 85 64 fe ff ff    	lea    0xfffffe64(%ebp),%eax
  402856:	50                   	push   %eax
  402857:	c7 85 70 fe ff ff 00 	movl   $0x0,0xfffffe70(%ebp)
  40285e:	00 00 00 
  402861:	c7 85 74 fe ff ff 00 	movl   $0x0,0xfffffe74(%ebp)
  402868:	00 00 00 
  40286b:	c7 85 78 fe ff ff 00 	movl   $0x0,0xfffffe78(%ebp)
  402872:	00 00 00 
  402875:	6a 00                	push   $0x0
  402877:	6a 05                	push   $0x5
  402879:	68 40 a1 40 00       	push   $0x40a140
  40287e:	6a ff                	push   $0xffffffff
  402880:	8d 85 70 fe ff ff    	lea    0xfffffe70(%ebp),%eax
  402886:	50                   	push   %eax
  402887:	e8 24 1c 00 00       	call   4044b0 <_fb_StrAssign@20>
  40288c:	8d 85 70 fe ff ff    	lea    0xfffffe70(%ebp),%eax
  402892:	50                   	push   %eax
  402893:	e8 58 f3 ff ff       	call   401bf0 <_SENDPROTOMSG@8>
  402898:	8d 85 64 fe ff ff    	lea    0xfffffe64(%ebp),%eax
  40289e:	50                   	push   %eax
  40289f:	e8 ac 1f 00 00       	call   404850 <_fb_StrDelete@4>
  4028a4:	8d 85 70 fe ff ff    	lea    0xfffffe70(%ebp),%eax
  4028aa:	50                   	push   %eax
  4028ab:	e8 a0 1f 00 00       	call   404850 <_fb_StrDelete@4>
End If
EndSend:
Loop
  4028b0:	e9 20 fe ff ff       	jmp    4026d5 <_main+0x435>
Running = 0
  4028b5:	c7 05 90 c1 40 00 00 	movl   $0x0,0x40c190
  4028bc:	00 00 00 
hClose(s)
  4028bf:	ff 35 60 c1 40 00    	pushl  0x40c160
  4028c5:	e8 c6 ec ff ff       	call   401590 <_HCLOSE@4>
hClose(sock)
  4028ca:	ff 35 00 c0 40 00    	pushl  0x40c000
  4028d0:	e8 bb ec ff ff       	call   401590 <_HCLOSE@4>
hShutdown()
  4028d5:	e8 96 ea ff ff       	call   401370 <_HSHUTDOWN@0>
cls
  4028da:	68 00 00 ff ff       	push   $0xffff0000
  4028df:	e8 6c 25 00 00       	call   404e50 <_fb_Cls@4>
quit
  4028e4:	6a 00                	push   $0x0
  4028e6:	e8 45 f1 ff ff       	call   401a30 <_QUIT@4>
  4028eb:	6a 00                	push   $0x0
  4028ed:	e8 3e 20 00 00       	call   404930 <_fb_End@4>
  4028f2:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4028f5:	5b                   	pop    %ebx
  4028f6:	89 ec                	mov    %ebp,%esp
  4028f8:	5d                   	pop    %ebp
  4028f9:	c3                   	ret    
  4028fa:	90                   	nop    
  4028fb:	90                   	nop    
  4028fc:	90                   	nop    
  4028fd:	90                   	nop    
  4028fe:	90                   	nop    
  4028ff:	90                   	nop    

00402900 <_SetUnhandledExceptionFilter@4>:
  402900:	ff 25 80 62 41 00    	jmp    *0x416280
  402906:	90                   	nop    
  402907:	90                   	nop    
	...

00402910 <_ExitProcess@4>:
  402910:	ff 25 28 62 41 00    	jmp    *0x416228
  402916:	90                   	nop    
  402917:	90                   	nop    
	...

00402920 <_WSAStartup@8>:
  402920:	ff 25 64 63 41 00    	jmp    *0x416364
  402926:	90                   	nop    
  402927:	90                   	nop    
	...

00402930 <_WSACleanup@0>:
  402930:	ff 25 5c 63 41 00    	jmp    *0x41635c
  402936:	90                   	nop    
  402937:	90                   	nop    
	...

00402940 <_inet_addr@4>:
  402940:	ff 25 80 63 41 00    	jmp    *0x416380
  402946:	90                   	nop    
  402947:	90                   	nop    
	...

00402950 <_gethostbyname@4>:
  402950:	ff 25 78 63 41 00    	jmp    *0x416378
  402956:	90                   	nop    
  402957:	90                   	nop    
	...

00402960 <_socket@12>:
  402960:	ff 25 98 63 41 00    	jmp    *0x416398
  402966:	90                   	nop    
  402967:	90                   	nop    
	...

00402970 <_htons@4>:
  402970:	ff 25 7c 63 41 00    	jmp    *0x41637c
  402976:	90                   	nop    
  402977:	90                   	nop    
	...

00402980 <_connect@12>:
  402980:	ff 25 74 63 41 00    	jmp    *0x416374
  402986:	90                   	nop    
  402987:	90                   	nop    
	...

00402990 <_bind@12>:
  402990:	ff 25 6c 63 41 00    	jmp    *0x41636c
  402996:	90                   	nop    
  402997:	90                   	nop    
	...

004029a0 <_listen@8>:
  4029a0:	ff 25 88 63 41 00    	jmp    *0x416388
  4029a6:	90                   	nop    
  4029a7:	90                   	nop    
	...

004029b0 <_accept@12>:
  4029b0:	ff 25 68 63 41 00    	jmp    *0x416368
  4029b6:	90                   	nop    
  4029b7:	90                   	nop    
	...

004029c0 <_shutdown@8>:
  4029c0:	ff 25 94 63 41 00    	jmp    *0x416394
  4029c6:	90                   	nop    
  4029c7:	90                   	nop    
	...

004029d0 <_closesocket@4>:
  4029d0:	ff 25 70 63 41 00    	jmp    *0x416370
  4029d6:	90                   	nop    
  4029d7:	90                   	nop    
	...

004029e0 <_send@16>:
  4029e0:	ff 25 90 63 41 00    	jmp    *0x416390
  4029e6:	90                   	nop    
  4029e7:	90                   	nop    
	...

004029f0 <_recv@16>:
  4029f0:	ff 25 8c 63 41 00    	jmp    *0x41638c
  4029f6:	90                   	nop    
  4029f7:	90                   	nop    
	...

00402a00 <_inet_ntoa@4>:
  402a00:	ff 25 84 63 41 00    	jmp    *0x416384
  402a06:	90                   	nop    
  402a07:	90                   	nop    
	...

00402a10 <_WSAGetLastError@0>:
  402a10:	ff 25 60 63 41 00    	jmp    *0x416360
  402a16:	90                   	nop    
  402a17:	90                   	nop    
	...

00402a20 <_waveOutGetNumDevs@0>:
  402a20:	ff 25 50 63 41 00    	jmp    *0x416350
  402a26:	90                   	nop    
  402a27:	90                   	nop    
	...

00402a30 <_fb_GfxLock@0>:
  402a30:	55                   	push   %ebp
  402a31:	89 e5                	mov    %esp,%ebp
  402a33:	83 ec 08             	sub    $0x8,%esp
  402a36:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  402a3c:	85 d2                	test   %edx,%edx
  402a3e:	74 07                	je     402a47 <_fb_GfxLock@0+0x17>
  402a40:	8b 42 7c             	mov    0x7c(%edx),%eax
  402a43:	a8 01                	test   $0x1,%al
  402a45:	74 09                	je     402a50 <_fb_GfxLock@0+0x20>
  402a47:	c9                   	leave  
  402a48:	c3                   	ret    
  402a49:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  402a50:	8b 42 3c             	mov    0x3c(%edx),%eax
  402a53:	ff 50 0c             	call   *0xc(%eax)
  402a56:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  402a5c:	8b 42 7c             	mov    0x7c(%edx),%eax
  402a5f:	83 c8 01             	or     $0x1,%eax
  402a62:	89 42 7c             	mov    %eax,0x7c(%edx)
  402a65:	c9                   	leave  
  402a66:	c3                   	ret    
  402a67:	89 f6                	mov    %esi,%esi
  402a69:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402a70 <_fb_GfxUnlock@8>:
  402a70:	55                   	push   %ebp
  402a71:	89 e5                	mov    %esp,%ebp
  402a73:	83 ec 18             	sub    $0x18,%esp
  402a76:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  402a79:	8b 5d 08             	mov    0x8(%ebp),%ebx
  402a7c:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  402a7f:	8b 75 0c             	mov    0xc(%ebp),%esi
  402a82:	e8 59 0a 00 00       	call   4034e0 <_fb_hGetContext>
  402a87:	8b 0d 04 c2 40 00    	mov    0x40c204,%ecx
  402a8d:	89 c2                	mov    %eax,%edx
  402a8f:	85 c9                	test   %ecx,%ecx
  402a91:	74 2d                	je     402ac0 <_fb_GfxUnlock@8+0x50>
  402a93:	89 d8                	mov    %ebx,%eax
  402a95:	f7 d0                	not    %eax
  402a97:	c1 f8 1f             	sar    $0x1f,%eax
  402a9a:	21 c3                	and    %eax,%ebx
  402a9c:	85 f6                	test   %esi,%esi
  402a9e:	78 51                	js     402af1 <_fb_GfxUnlock@8+0x81>
  402aa0:	8b 42 04             	mov    0x4(%edx),%eax
  402aa3:	39 41 10             	cmp    %eax,0x10(%ecx)
  402aa6:	0f 94 c2             	sete   %dl
  402aa9:	31 c0                	xor    %eax,%eax
  402aab:	39 f3                	cmp    %esi,%ebx
  402aad:	0f 9e c0             	setle  %al
  402ab0:	85 c2                	test   %eax,%edx
  402ab2:	74 05                	je     402ab9 <_fb_GfxUnlock@8+0x49>
  402ab4:	39 71 1c             	cmp    %esi,0x1c(%ecx)
  402ab7:	7f 3e                	jg     402af7 <_fb_GfxUnlock@8+0x87>
  402ab9:	8b 41 7c             	mov    0x7c(%ecx),%eax
  402abc:	a8 01                	test   $0x1,%al
  402abe:	75 10                	jne    402ad0 <_fb_GfxUnlock@8+0x60>
  402ac0:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  402ac3:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  402ac6:	89 ec                	mov    %ebp,%esp
  402ac8:	5d                   	pop    %ebp
  402ac9:	c2 08 00             	ret    $0x8
  402acc:	8d 74 26 00          	lea    0x0(%esi),%esi
  402ad0:	8b 41 3c             	mov    0x3c(%ecx),%eax
  402ad3:	ff 50 10             	call   *0x10(%eax)
  402ad6:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  402adc:	8b 42 7c             	mov    0x7c(%edx),%eax
  402adf:	83 e0 fc             	and    $0xfffffffc,%eax
  402ae2:	89 42 7c             	mov    %eax,0x7c(%edx)
  402ae5:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  402ae8:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  402aeb:	89 ec                	mov    %ebp,%esp
  402aed:	5d                   	pop    %ebp
  402aee:	c2 08 00             	ret    $0x8
  402af1:	8b 71 1c             	mov    0x1c(%ecx),%esi
  402af4:	4e                   	dec    %esi
  402af5:	eb a9                	jmp    402aa0 <_fb_GfxUnlock@8+0x30>
  402af7:	29 de                	sub    %ebx,%esi
  402af9:	ba 01 00 00 00       	mov    $0x1,%edx
  402afe:	8d 46 01             	lea    0x1(%esi),%eax
  402b01:	89 44 24 08          	mov    %eax,0x8(%esp)
  402b05:	89 54 24 04          	mov    %edx,0x4(%esp)
  402b09:	8b 41 38             	mov    0x38(%ecx),%eax
  402b0c:	01 c3                	add    %eax,%ebx
  402b0e:	89 1c 24             	mov    %ebx,(%esp)
  402b11:	ff 15 50 a2 40 00    	call   *0x40a250
  402b17:	8b 0d 04 c2 40 00    	mov    0x40c204,%ecx
  402b1d:	eb 9a                	jmp    402ab9 <_fb_GfxUnlock@8+0x49>
  402b1f:	90                   	nop    

00402b20 <_fb_GfxScreenPtr@0>:
  402b20:	55                   	push   %ebp
  402b21:	89 e5                	mov    %esp,%ebp
  402b23:	53                   	push   %ebx
  402b24:	83 ec 14             	sub    $0x14,%esp
  402b27:	e8 b4 09 00 00       	call   4034e0 <_fb_hGetContext>
  402b2c:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  402b32:	89 c3                	mov    %eax,%ebx
  402b34:	31 c0                	xor    %eax,%eax
  402b36:	85 d2                	test   %edx,%edx
  402b38:	74 24                	je     402b5e <_fb_GfxScreenPtr@0+0x3e>
  402b3a:	89 1c 24             	mov    %ebx,(%esp)
  402b3d:	31 c0                	xor    %eax,%eax
  402b3f:	89 44 24 04          	mov    %eax,0x4(%esp)
  402b43:	e8 b8 07 00 00       	call   403300 <_fb_hPrepareTarget>
  402b48:	89 1c 24             	mov    %ebx,(%esp)
  402b4b:	b9 00 00 00 ff       	mov    $0xff000000,%ecx
  402b50:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  402b54:	e8 d7 00 00 00       	call   402c30 <_fb_hSetPixelTransfer>
  402b59:	8b 43 08             	mov    0x8(%ebx),%eax
  402b5c:	8b 00                	mov    (%eax),%eax
  402b5e:	83 c4 14             	add    $0x14,%esp
  402b61:	5b                   	pop    %ebx
  402b62:	5d                   	pop    %ebp
  402b63:	c3                   	ret    
  402b64:	90                   	nop    
  402b65:	90                   	nop    
  402b66:	90                   	nop    
  402b67:	90                   	nop    
  402b68:	90                   	nop    
  402b69:	90                   	nop    
  402b6a:	90                   	nop    
  402b6b:	90                   	nop    
  402b6c:	90                   	nop    
  402b6d:	90                   	nop    
  402b6e:	90                   	nop    
  402b6f:	90                   	nop    

00402b70 <_fb_hPostEvent_code_start>:
  402b70:	55                   	push   %ebp
  402b71:	89 e5                	mov    %esp,%ebp
  402b73:	5d                   	pop    %ebp
  402b74:	c3                   	ret    
  402b75:	8d 74 26 00          	lea    0x0(%esi),%esi
  402b79:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402b80 <_fb_hPostEvent>:
  402b80:	55                   	push   %ebp
  402b81:	89 e5                	mov    %esp,%ebp
  402b83:	83 ec 18             	sub    $0x18,%esp
  402b86:	a1 04 c2 40 00       	mov    0x40c204,%eax
  402b8b:	8b 40 78             	mov    0x78(%eax),%eax
  402b8e:	89 04 24             	mov    %eax,(%esp)
  402b91:	e8 0a 12 00 00       	call   403da0 <_fb_MutexLock@4>
  402b96:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  402b9c:	83 ec 04             	sub    $0x4,%esp
  402b9f:	8b 42 74             	mov    0x74(%edx),%eax
  402ba2:	8b 52 6c             	mov    0x6c(%edx),%edx
  402ba5:	8d 04 80             	lea    (%eax,%eax,4),%eax
  402ba8:	8d 04 82             	lea    (%edx,%eax,4),%eax
  402bab:	ba 14 00 00 00       	mov    $0x14,%edx
  402bb0:	89 54 24 08          	mov    %edx,0x8(%esp)
  402bb4:	8b 55 08             	mov    0x8(%ebp),%edx
  402bb7:	89 04 24             	mov    %eax,(%esp)
  402bba:	89 54 24 04          	mov    %edx,0x4(%esp)
  402bbe:	ff 15 54 a2 40 00    	call   *0x40a254
  402bc4:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  402bca:	8b 42 74             	mov    0x74(%edx),%eax
  402bcd:	40                   	inc    %eax
  402bce:	83 e0 7f             	and    $0x7f,%eax
  402bd1:	3b 42 70             	cmp    0x70(%edx),%eax
  402bd4:	74 1a                	je     402bf0 <_fb_hPostEvent+0x70>
  402bd6:	8b 42 74             	mov    0x74(%edx),%eax
  402bd9:	40                   	inc    %eax
  402bda:	83 e0 7f             	and    $0x7f,%eax
  402bdd:	89 42 74             	mov    %eax,0x74(%edx)
  402be0:	8b 42 78             	mov    0x78(%edx),%eax
  402be3:	89 04 24             	mov    %eax,(%esp)
  402be6:	e8 e5 11 00 00       	call   403dd0 <_fb_MutexUnlock@4>
  402beb:	83 ec 04             	sub    $0x4,%esp
  402bee:	c9                   	leave  
  402bef:	c3                   	ret    
  402bf0:	40                   	inc    %eax
  402bf1:	83 e0 7f             	and    $0x7f,%eax
  402bf4:	89 42 70             	mov    %eax,0x70(%edx)
  402bf7:	8b 42 74             	mov    0x74(%edx),%eax
  402bfa:	40                   	inc    %eax
  402bfb:	83 e0 7f             	and    $0x7f,%eax
  402bfe:	89 42 74             	mov    %eax,0x74(%edx)
  402c01:	8b 42 78             	mov    0x78(%edx),%eax
  402c04:	89 04 24             	mov    %eax,(%esp)
  402c07:	e8 c4 11 00 00       	call   403dd0 <_fb_MutexUnlock@4>
  402c0c:	83 ec 04             	sub    $0x4,%esp
  402c0f:	c9                   	leave  
  402c10:	c3                   	ret    
  402c11:	eb 0d                	jmp    402c20 <_fb_hPostEvent_code_end>
  402c13:	90                   	nop    
  402c14:	90                   	nop    
  402c15:	90                   	nop    
  402c16:	90                   	nop    
  402c17:	90                   	nop    
  402c18:	90                   	nop    
  402c19:	90                   	nop    
  402c1a:	90                   	nop    
  402c1b:	90                   	nop    
  402c1c:	90                   	nop    
  402c1d:	90                   	nop    
  402c1e:	90                   	nop    
  402c1f:	90                   	nop    

00402c20 <_fb_hPostEvent_code_end>:
  402c20:	55                   	push   %ebp
  402c21:	89 e5                	mov    %esp,%ebp
  402c23:	5d                   	pop    %ebp
  402c24:	c3                   	ret    
  402c25:	8d 74 26 00          	lea    0x0(%esi),%esi
  402c29:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402c30 <_fb_hSetPixelTransfer>:
  402c30:	55                   	push   %ebp
  402c31:	a1 04 c2 40 00       	mov    0x40c204,%eax
  402c36:	89 e5                	mov    %esp,%ebp
  402c38:	8b 4d 08             	mov    0x8(%ebp),%ecx
  402c3b:	8b 40 7c             	mov    0x7c(%eax),%eax
  402c3e:	8b 55 0c             	mov    0xc(%ebp),%edx
  402c41:	a8 08                	test   $0x8,%al
  402c43:	74 06                	je     402c4b <_fb_hSetPixelTransfer+0x1b>
  402c45:	83 79 10 04          	cmpl   $0x4,0x10(%ecx)
  402c49:	74 1a                	je     402c65 <_fb_hSetPixelTransfer+0x35>
  402c4b:	a1 10 c2 40 00       	mov    0x40c210,%eax
  402c50:	89 41 5c             	mov    %eax,0x5c(%ecx)
  402c53:	a1 20 c2 40 00       	mov    0x40c220,%eax
  402c58:	89 41 64             	mov    %eax,0x64(%ecx)
  402c5b:	a1 50 c2 40 00       	mov    0x40c250,%eax
  402c60:	89 41 60             	mov    %eax,0x60(%ecx)
  402c63:	5d                   	pop    %ebp
  402c64:	c3                   	ret    
  402c65:	81 e2 00 00 00 ff    	and    $0xff000000,%edx
  402c6b:	81 fa 00 00 00 ff    	cmp    $0xff000000,%edx
  402c71:	74 d8                	je     402c4b <_fb_hSetPixelTransfer+0x1b>
  402c73:	a1 30 c2 40 00       	mov    0x40c230,%eax
  402c78:	89 41 5c             	mov    %eax,0x5c(%ecx)
  402c7b:	a1 40 c2 40 00       	mov    0x40c240,%eax
  402c80:	89 41 64             	mov    %eax,0x64(%ecx)
  402c83:	a1 50 c2 40 00       	mov    0x40c250,%eax
  402c88:	89 41 60             	mov    %eax,0x60(%ecx)
  402c8b:	5d                   	pop    %ebp
  402c8c:	c3                   	ret    
  402c8d:	8d 76 00             	lea    0x0(%esi),%esi

00402c90 <_fb_hTranslateCoord>:
  402c90:	55                   	push   %ebp
  402c91:	89 e5                	mov    %esp,%ebp
  402c93:	83 ec 14             	sub    $0x14,%esp
  402c96:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  402c99:	8b 5d 08             	mov    0x8(%ebp),%ebx
  402c9c:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  402c9f:	8b 75 18             	mov    0x18(%ebp),%esi
  402ca2:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  402ca5:	8b 7d 14             	mov    0x14(%ebp),%edi
  402ca8:	f6 83 90 00 00 00 04 	testb  $0x4,0x90(%ebx)
  402caf:	d9 45 0c             	flds   0xc(%ebp)
  402cb2:	d9 45 10             	flds   0x10(%ebp)
  402cb5:	74 28                	je     402cdf <_fb_hTranslateCoord+0x4f>
  402cb7:	db 43 2c             	fildl  0x2c(%ebx)
  402cba:	d9 e8                	fld1   
  402cbc:	d9 cb                	fxch   %st(3)
  402cbe:	d8 63 44             	fsubs  0x44(%ebx)
  402cc1:	d9 ca                	fxch   %st(2)
  402cc3:	d8 63 48             	fsubs  0x48(%ebx)
  402cc6:	d9 ca                	fxch   %st(2)
  402cc8:	de c9                	fmulp  %st,%st(1)
  402cca:	d9 43 4c             	flds   0x4c(%ebx)
  402ccd:	d8 e3                	fsub   %st(3),%st
  402ccf:	d9 cb                	fxch   %st(3)
  402cd1:	d8 6b 50             	fsubrs 0x50(%ebx)
  402cd4:	d9 c9                	fxch   %st(1)
  402cd6:	de f3                	fdivp  %st,%st(3)
  402cd8:	db 43 30             	fildl  0x30(%ebx)
  402cdb:	de ca                	fmulp  %st,%st(2)
  402cdd:	de f9                	fdivrp %st,%st(1)
  402cdf:	d9 ee                	fldz   
  402ce1:	d9 ca                	fxch   %st(2)
  402ce3:	dd e2                	fucom  %st(2)
  402ce5:	df e0                	fnstsw %ax
  402ce7:	9e                   	sahf   
  402ce8:	76 7a                	jbe    402d64 <_fb_hTranslateCoord+0xd4>
  402cea:	d9 05 00 b0 40 00    	flds   0x40b000
  402cf0:	d9 c0                	fld    %st(0)
  402cf2:	de c2                	faddp  %st,%st(2)
  402cf4:	d9 c9                	fxch   %st(1)
  402cf6:	d9 7d f2             	fnstcw 0xfffffff2(%ebp)
  402cf9:	0f b7 45 f2          	movzwl 0xfffffff2(%ebp),%eax
  402cfd:	66 0d 00 0c          	or     $0xc00,%ax
  402d01:	66 89 45 f0          	mov    %ax,0xfffffff0(%ebp)
  402d05:	d9 6d f0             	fldcw  0xfffffff0(%ebp)
  402d08:	db 5d ec             	fistpl 0xffffffec(%ebp)
  402d0b:	d9 6d f2             	fldcw  0xfffffff2(%ebp)
  402d0e:	d9 c9                	fxch   %st(1)
  402d10:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  402d13:	89 07                	mov    %eax,(%edi)
  402d15:	dd e2                	fucom  %st(2)
  402d17:	df e0                	fnstsw %ax
  402d19:	dd da                	fstp   %st(2)
  402d1b:	9e                   	sahf   
  402d1c:	76 42                	jbe    402d60 <_fb_hTranslateCoord+0xd0>
  402d1e:	de c1                	faddp  %st,%st(1)
  402d20:	d9 6d f0             	fldcw  0xfffffff0(%ebp)
  402d23:	db 5d ec             	fistpl 0xffffffec(%ebp)
  402d26:	d9 6d f2             	fldcw  0xfffffff2(%ebp)
  402d29:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
  402d2c:	89 0e                	mov    %ecx,(%esi)
  402d2e:	8b 93 90 00 00 00    	mov    0x90(%ebx),%edx
  402d34:	89 d0                	mov    %edx,%eax
  402d36:	83 e0 0c             	and    $0xc,%eax
  402d39:	83 f8 04             	cmp    $0x4,%eax
  402d3c:	74 32                	je     402d70 <_fb_hTranslateCoord+0xe0>
  402d3e:	f6 c2 20             	test   $0x20,%dl
  402d41:	75 0a                	jne    402d4d <_fb_hTranslateCoord+0xbd>
  402d43:	8b 43 24             	mov    0x24(%ebx),%eax
  402d46:	01 07                	add    %eax,(%edi)
  402d48:	8b 43 28             	mov    0x28(%ebx),%eax
  402d4b:	01 06                	add    %eax,(%esi)
  402d4d:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  402d50:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  402d53:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  402d56:	89 ec                	mov    %ebp,%esp
  402d58:	5d                   	pop    %ebp
  402d59:	c3                   	ret    
  402d5a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402d60:	de e9                	fsubrp %st,%st(1)
  402d62:	eb bc                	jmp    402d20 <_fb_hTranslateCoord+0x90>
  402d64:	d9 05 00 b0 40 00    	flds   0x40b000
  402d6a:	d9 c0                	fld    %st(0)
  402d6c:	de ea                	fsubrp %st,%st(2)
  402d6e:	eb 84                	jmp    402cf4 <_fb_hTranslateCoord+0x64>
  402d70:	8b 43 30             	mov    0x30(%ebx),%eax
  402d73:	f7 d1                	not    %ecx
  402d75:	01 c1                	add    %eax,%ecx
  402d77:	89 0e                	mov    %ecx,(%esi)
  402d79:	8b 93 90 00 00 00    	mov    0x90(%ebx),%edx
  402d7f:	eb bd                	jmp    402d3e <_fb_hTranslateCoord+0xae>
  402d81:	eb 0d                	jmp    402d90 <_fb_hFixRelative>
  402d83:	90                   	nop    
  402d84:	90                   	nop    
  402d85:	90                   	nop    
  402d86:	90                   	nop    
  402d87:	90                   	nop    
  402d88:	90                   	nop    
  402d89:	90                   	nop    
  402d8a:	90                   	nop    
  402d8b:	90                   	nop    
  402d8c:	90                   	nop    
  402d8d:	90                   	nop    
  402d8e:	90                   	nop    
  402d8f:	90                   	nop    

00402d90 <_fb_hFixRelative>:
  402d90:	55                   	push   %ebp
  402d91:	89 e5                	mov    %esp,%ebp
  402d93:	83 ec 0c             	sub    $0xc,%esp
  402d96:	89 1c 24             	mov    %ebx,(%esp)
  402d99:	89 74 24 04          	mov    %esi,0x4(%esp)
  402d9d:	89 7c 24 08          	mov    %edi,0x8(%esp)
  402da1:	8b 55 0c             	mov    0xc(%ebp),%edx
  402da4:	8b 4d 08             	mov    0x8(%ebp),%ecx
  402da7:	8b 5d 10             	mov    0x10(%ebp),%ebx
  402daa:	83 e2 07             	and    $0x7,%edx
  402dad:	8b 7d 14             	mov    0x14(%ebp),%edi
  402db0:	83 fa 02             	cmp    $0x2,%edx
  402db3:	8b 45 18             	mov    0x18(%ebp),%eax
  402db6:	8b 75 1c             	mov    0x1c(%ebp),%esi
  402db9:	74 3c                	je     402df7 <_fb_hFixRelative+0x67>
  402dbb:	7e 27                	jle    402de4 <_fb_hFixRelative+0x54>
  402dbd:	83 fa 03             	cmp    $0x3,%edx
  402dc0:	74 60                	je     402e22 <_fb_hFixRelative+0x92>
  402dc2:	83 fa 05             	cmp    $0x5,%edx
  402dc5:	74 30                	je     402df7 <_fb_hFixRelative+0x67>
  402dc7:	85 c0                	test   %eax,%eax
  402dc9:	75 3e                	jne    402e09 <_fb_hFixRelative+0x79>
  402dcb:	8b 03                	mov    (%ebx),%eax
  402dcd:	89 41 1c             	mov    %eax,0x1c(%ecx)
  402dd0:	8b 07                	mov    (%edi),%eax
  402dd2:	89 41 20             	mov    %eax,0x20(%ecx)
  402dd5:	8b 1c 24             	mov    (%esp),%ebx
  402dd8:	8b 74 24 04          	mov    0x4(%esp),%esi
  402ddc:	8b 7c 24 08          	mov    0x8(%esp),%edi
  402de0:	89 ec                	mov    %ebp,%esp
  402de2:	5d                   	pop    %ebp
  402de3:	c3                   	ret    
  402de4:	4a                   	dec    %edx
  402de5:	75 e0                	jne    402dc7 <_fb_hFixRelative+0x37>
  402de7:	d9 03                	flds   (%ebx)
  402de9:	d8 00                	fadds  (%eax)
  402deb:	d9 18                	fstps  (%eax)
  402ded:	d9 07                	flds   (%edi)
  402def:	d8 06                	fadds  (%esi)
  402df1:	d9 1e                	fstps  (%esi)
  402df3:	85 c0                	test   %eax,%eax
  402df5:	eb d2                	jmp    402dc9 <_fb_hFixRelative+0x39>
  402df7:	d9 41 1c             	flds   0x1c(%ecx)
  402dfa:	85 c0                	test   %eax,%eax
  402dfc:	d8 03                	fadds  (%ebx)
  402dfe:	d9 1b                	fstps  (%ebx)
  402e00:	d9 41 20             	flds   0x20(%ecx)
  402e03:	d8 07                	fadds  (%edi)
  402e05:	d9 1f                	fstps  (%edi)
  402e07:	74 c2                	je     402dcb <_fb_hFixRelative+0x3b>
  402e09:	8b 00                	mov    (%eax),%eax
  402e0b:	89 41 1c             	mov    %eax,0x1c(%ecx)
  402e0e:	8b 06                	mov    (%esi),%eax
  402e10:	89 41 20             	mov    %eax,0x20(%ecx)
  402e13:	8b 1c 24             	mov    (%esp),%ebx
  402e16:	8b 74 24 04          	mov    0x4(%esp),%esi
  402e1a:	8b 7c 24 08          	mov    0x8(%esp),%edi
  402e1e:	89 ec                	mov    %ebp,%esp
  402e20:	5d                   	pop    %ebp
  402e21:	c3                   	ret    
  402e22:	d9 41 1c             	flds   0x1c(%ecx)
  402e25:	d8 03                	fadds  (%ebx)
  402e27:	d9 1b                	fstps  (%ebx)
  402e29:	d9 41 20             	flds   0x20(%ecx)
  402e2c:	d8 07                	fadds  (%edi)
  402e2e:	d9 1f                	fstps  (%edi)
  402e30:	d9 03                	flds   (%ebx)
  402e32:	d8 00                	fadds  (%eax)
  402e34:	d9 18                	fstps  (%eax)
  402e36:	d9 07                	flds   (%edi)
  402e38:	d8 06                	fadds  (%esi)
  402e3a:	d9 1e                	fstps  (%esi)
  402e3c:	eb b5                	jmp    402df3 <_fb_hFixRelative+0x63>
  402e3e:	89 f6                	mov    %esi,%esi

00402e40 <_fb_hFixCoordsOrder>:
  402e40:	55                   	push   %ebp
  402e41:	89 e5                	mov    %esp,%ebp
  402e43:	83 ec 0c             	sub    $0xc,%esp
  402e46:	89 1c 24             	mov    %ebx,(%esp)
  402e49:	8b 4d 10             	mov    0x10(%ebp),%ecx
  402e4c:	8b 5d 08             	mov    0x8(%ebp),%ebx
  402e4f:	89 74 24 04          	mov    %esi,0x4(%esp)
  402e53:	8b 75 0c             	mov    0xc(%ebp),%esi
  402e56:	89 7c 24 08          	mov    %edi,0x8(%esp)
  402e5a:	8b 11                	mov    (%ecx),%edx
  402e5c:	8b 03                	mov    (%ebx),%eax
  402e5e:	8b 7d 14             	mov    0x14(%ebp),%edi
  402e61:	39 c2                	cmp    %eax,%edx
  402e63:	7d 0c                	jge    402e71 <_fb_hFixCoordsOrder+0x31>
  402e65:	31 d0                	xor    %edx,%eax
  402e67:	89 03                	mov    %eax,(%ebx)
  402e69:	8b 11                	mov    (%ecx),%edx
  402e6b:	31 d0                	xor    %edx,%eax
  402e6d:	89 01                	mov    %eax,(%ecx)
  402e6f:	31 03                	xor    %eax,(%ebx)
  402e71:	8b 17                	mov    (%edi),%edx
  402e73:	8b 06                	mov    (%esi),%eax
  402e75:	39 c2                	cmp    %eax,%edx
  402e77:	7d 0c                	jge    402e85 <_fb_hFixCoordsOrder+0x45>
  402e79:	31 d0                	xor    %edx,%eax
  402e7b:	89 06                	mov    %eax,(%esi)
  402e7d:	8b 17                	mov    (%edi),%edx
  402e7f:	31 d0                	xor    %edx,%eax
  402e81:	89 07                	mov    %eax,(%edi)
  402e83:	31 06                	xor    %eax,(%esi)
  402e85:	8b 1c 24             	mov    (%esp),%ebx
  402e88:	8b 74 24 04          	mov    0x4(%esp),%esi
  402e8c:	8b 7c 24 08          	mov    0x8(%esp),%edi
  402e90:	89 ec                	mov    %ebp,%esp
  402e92:	5d                   	pop    %ebp
  402e93:	c3                   	ret    
  402e94:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402e9a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00402ea0 <_fb_hPutPixel1>:
  402ea0:	55                   	push   %ebp
  402ea1:	89 e5                	mov    %esp,%ebp
  402ea3:	8b 45 08             	mov    0x8(%ebp),%eax
  402ea6:	8b 50 08             	mov    0x8(%eax),%edx
  402ea9:	8b 45 10             	mov    0x10(%ebp),%eax
  402eac:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
  402eaf:	8b 55 14             	mov    0x14(%ebp),%edx
  402eb2:	8b 45 0c             	mov    0xc(%ebp),%eax
  402eb5:	88 14 08             	mov    %dl,(%eax,%ecx,1)
  402eb8:	5d                   	pop    %ebp
  402eb9:	c3                   	ret    
  402eba:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00402ec0 <_fb_hPutPixel2>:
  402ec0:	55                   	push   %ebp
  402ec1:	89 e5                	mov    %esp,%ebp
  402ec3:	8b 45 08             	mov    0x8(%ebp),%eax
  402ec6:	8b 50 08             	mov    0x8(%eax),%edx
  402ec9:	8b 45 10             	mov    0x10(%ebp),%eax
  402ecc:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
  402ecf:	8b 55 14             	mov    0x14(%ebp),%edx
  402ed2:	8b 45 0c             	mov    0xc(%ebp),%eax
  402ed5:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
  402ed9:	5d                   	pop    %ebp
  402eda:	c3                   	ret    
  402edb:	90                   	nop    
  402edc:	8d 74 26 00          	lea    0x0(%esi),%esi

00402ee0 <_fb_hPutPixel4>:
  402ee0:	55                   	push   %ebp
  402ee1:	89 e5                	mov    %esp,%ebp
  402ee3:	8b 45 08             	mov    0x8(%ebp),%eax
  402ee6:	8b 50 08             	mov    0x8(%eax),%edx
  402ee9:	8b 45 10             	mov    0x10(%ebp),%eax
  402eec:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
  402eef:	8b 55 14             	mov    0x14(%ebp),%edx
  402ef2:	8b 45 0c             	mov    0xc(%ebp),%eax
  402ef5:	89 14 81             	mov    %edx,(%ecx,%eax,4)
  402ef8:	5d                   	pop    %ebp
  402ef9:	c3                   	ret    
  402efa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00402f00 <_fb_hPutPixelAlpha4>:
  402f00:	55                   	push   %ebp
  402f01:	89 e5                	mov    %esp,%ebp
  402f03:	83 ec 10             	sub    $0x10,%esp
  402f06:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  402f09:	8b 45 08             	mov    0x8(%ebp),%eax
  402f0c:	8b 75 14             	mov    0x14(%ebp),%esi
  402f0f:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  402f12:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  402f15:	8b 50 08             	mov    0x8(%eax),%edx
  402f18:	89 f1                	mov    %esi,%ecx
  402f1a:	8b 45 10             	mov    0x10(%ebp),%eax
  402f1d:	89 f7                	mov    %esi,%edi
  402f1f:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
  402f25:	c1 ef 18             	shr    $0x18,%edi
  402f28:	8b 04 82             	mov    (%edx,%eax,4),%eax
  402f2b:	8b 55 0c             	mov    0xc(%ebp),%edx
  402f2e:	8d 04 90             	lea    (%eax,%edx,4),%eax
  402f31:	8b 18                	mov    (%eax),%ebx
  402f33:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  402f36:	89 f0                	mov    %esi,%eax
  402f38:	89 da                	mov    %ebx,%edx
  402f3a:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
  402f40:	81 e3 00 ff 00 00    	and    $0xff00,%ebx
  402f46:	25 ff 00 ff 00       	and    $0xff00ff,%eax
  402f4b:	29 d0                	sub    %edx,%eax
  402f4d:	29 d9                	sub    %ebx,%ecx
  402f4f:	0f af c7             	imul   %edi,%eax
  402f52:	0f af cf             	imul   %edi,%ecx
  402f55:	81 e6 00 00 00 ff    	and    $0xff000000,%esi
  402f5b:	c1 e8 08             	shr    $0x8,%eax
  402f5e:	c1 e9 08             	shr    $0x8,%ecx
  402f61:	01 c2                	add    %eax,%edx
  402f63:	01 cb                	add    %ecx,%ebx
  402f65:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  402f68:	81 e3 00 ff 00 00    	and    $0xff00,%ebx
  402f6e:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
  402f74:	09 da                	or     %ebx,%edx
  402f76:	09 f2                	or     %esi,%edx
  402f78:	89 10                	mov    %edx,(%eax)
  402f7a:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  402f7d:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  402f80:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  402f83:	89 ec                	mov    %ebp,%esp
  402f85:	5d                   	pop    %ebp
  402f86:	c3                   	ret    
  402f87:	89 f6                	mov    %esi,%esi
  402f89:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402f90 <_fb_hGetPixel1>:
  402f90:	55                   	push   %ebp
  402f91:	89 e5                	mov    %esp,%ebp
  402f93:	8b 45 08             	mov    0x8(%ebp),%eax
  402f96:	8b 50 08             	mov    0x8(%eax),%edx
  402f99:	8b 45 10             	mov    0x10(%ebp),%eax
  402f9c:	8b 14 82             	mov    (%edx,%eax,4),%edx
  402f9f:	8b 45 0c             	mov    0xc(%ebp),%eax
  402fa2:	5d                   	pop    %ebp
  402fa3:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
  402fa7:	c3                   	ret    
  402fa8:	90                   	nop    
  402fa9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00402fb0 <_fb_hGetPixel2>:
  402fb0:	55                   	push   %ebp
  402fb1:	89 e5                	mov    %esp,%ebp
  402fb3:	8b 45 08             	mov    0x8(%ebp),%eax
  402fb6:	8b 50 08             	mov    0x8(%eax),%edx
  402fb9:	8b 45 10             	mov    0x10(%ebp),%eax
  402fbc:	8b 14 82             	mov    (%edx,%eax,4),%edx
  402fbf:	8b 45 0c             	mov    0xc(%ebp),%eax
  402fc2:	5d                   	pop    %ebp
  402fc3:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
  402fc7:	c3                   	ret    
  402fc8:	90                   	nop    
  402fc9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00402fd0 <_fb_hGetPixel4>:
  402fd0:	55                   	push   %ebp
  402fd1:	89 e5                	mov    %esp,%ebp
  402fd3:	8b 45 08             	mov    0x8(%ebp),%eax
  402fd6:	8b 50 08             	mov    0x8(%eax),%edx
  402fd9:	8b 45 10             	mov    0x10(%ebp),%eax
  402fdc:	8b 14 82             	mov    (%edx,%eax,4),%edx
  402fdf:	8b 45 0c             	mov    0xc(%ebp),%eax
  402fe2:	5d                   	pop    %ebp
  402fe3:	8b 04 82             	mov    (%edx,%eax,4),%eax
  402fe6:	c3                   	ret    
  402fe7:	89 f6                	mov    %esi,%esi
  402fe9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402ff0 <_fb_hPixelSet2>:
  402ff0:	55                   	push   %ebp
  402ff1:	89 e5                	mov    %esp,%ebp
  402ff3:	8b 4d 10             	mov    0x10(%ebp),%ecx
  402ff6:	53                   	push   %ebx
  402ff7:	8b 5d 08             	mov    0x8(%ebp),%ebx
  402ffa:	8b 45 0c             	mov    0xc(%ebp),%eax
  402ffd:	85 c9                	test   %ecx,%ecx
  402fff:	89 da                	mov    %ebx,%edx
  403001:	eb 07                	jmp    40300a <_fb_hPixelSet2+0x1a>
  403003:	66 89 02             	mov    %ax,(%edx)
  403006:	83 c2 02             	add    $0x2,%edx
  403009:	49                   	dec    %ecx
  40300a:	75 f7                	jne    403003 <_fb_hPixelSet2+0x13>
  40300c:	89 d8                	mov    %ebx,%eax
  40300e:	5b                   	pop    %ebx
  40300f:	5d                   	pop    %ebp
  403010:	c3                   	ret    
  403011:	eb 0d                	jmp    403020 <_fb_hPixelSet4>
  403013:	90                   	nop    
  403014:	90                   	nop    
  403015:	90                   	nop    
  403016:	90                   	nop    
  403017:	90                   	nop    
  403018:	90                   	nop    
  403019:	90                   	nop    
  40301a:	90                   	nop    
  40301b:	90                   	nop    
  40301c:	90                   	nop    
  40301d:	90                   	nop    
  40301e:	90                   	nop    
  40301f:	90                   	nop    

00403020 <_fb_hPixelSet4>:
  403020:	55                   	push   %ebp
  403021:	89 e5                	mov    %esp,%ebp
  403023:	8b 4d 10             	mov    0x10(%ebp),%ecx
  403026:	53                   	push   %ebx
  403027:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40302a:	8b 45 0c             	mov    0xc(%ebp),%eax
  40302d:	85 c9                	test   %ecx,%ecx
  40302f:	89 da                	mov    %ebx,%edx
  403031:	eb 06                	jmp    403039 <_fb_hPixelSet4+0x19>
  403033:	89 02                	mov    %eax,(%edx)
  403035:	83 c2 04             	add    $0x4,%edx
  403038:	49                   	dec    %ecx
  403039:	75 f8                	jne    403033 <_fb_hPixelSet4+0x13>
  40303b:	89 d8                	mov    %ebx,%eax
  40303d:	5b                   	pop    %ebx
  40303e:	5d                   	pop    %ebp
  40303f:	c3                   	ret    

00403040 <_fb_hPixelSetAlpha4>:
  403040:	55                   	push   %ebp
  403041:	89 e5                	mov    %esp,%ebp
  403043:	57                   	push   %edi
  403044:	56                   	push   %esi
  403045:	53                   	push   %ebx
  403046:	83 ec 10             	sub    $0x10,%esp
  403049:	8b 45 0c             	mov    0xc(%ebp),%eax
  40304c:	8b 7d 10             	mov    0x10(%ebp),%edi
  40304f:	8b 75 08             	mov    0x8(%ebp),%esi
  403052:	89 c2                	mov    %eax,%edx
  403054:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
  40305a:	89 55 f0             	mov    %edx,0xfffffff0(%ebp)
  40305d:	89 c2                	mov    %eax,%edx
  40305f:	81 e2 00 ff 00 00    	and    $0xff00,%edx
  403065:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
  403068:	89 c2                	mov    %eax,%edx
  40306a:	81 e2 00 00 00 ff    	and    $0xff000000,%edx
  403070:	89 55 e8             	mov    %edx,0xffffffe8(%ebp)
  403073:	c1 e8 18             	shr    $0x18,%eax
  403076:	85 ff                	test   %edi,%edi
  403078:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  40307b:	eb 4a                	jmp    4030c7 <_fb_hPixelSetAlpha4+0x87>
  40307d:	8d 76 00             	lea    0x0(%esi),%esi
  403080:	8b 0e                	mov    (%esi),%ecx
  403082:	8b 5d f0             	mov    0xfffffff0(%ebp),%ebx
  403085:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  403088:	89 ca                	mov    %ecx,%edx
  40308a:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
  403090:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
  403096:	29 d3                	sub    %edx,%ebx
  403098:	0f af d8             	imul   %eax,%ebx
  40309b:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  40309e:	29 c8                	sub    %ecx,%eax
  4030a0:	c1 eb 08             	shr    $0x8,%ebx
  4030a3:	01 da                	add    %ebx,%edx
  4030a5:	0f af 45 e4          	imul   0xffffffe4(%ebp),%eax
  4030a9:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
  4030af:	c1 e8 08             	shr    $0x8,%eax
  4030b2:	01 c1                	add    %eax,%ecx
  4030b4:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
  4030ba:	09 ca                	or     %ecx,%edx
  4030bc:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
  4030bf:	09 ca                	or     %ecx,%edx
  4030c1:	89 16                	mov    %edx,(%esi)
  4030c3:	83 c6 04             	add    $0x4,%esi
  4030c6:	4f                   	dec    %edi
  4030c7:	75 b7                	jne    403080 <_fb_hPixelSetAlpha4+0x40>
  4030c9:	8b 45 08             	mov    0x8(%ebp),%eax
  4030cc:	83 c4 10             	add    $0x10,%esp
  4030cf:	5b                   	pop    %ebx
  4030d0:	5e                   	pop    %esi
  4030d1:	5f                   	pop    %edi
  4030d2:	5d                   	pop    %ebp
  4030d3:	c3                   	ret    
  4030d4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4030da:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

004030e0 <_fb_hPixelCpy2>:
  4030e0:	55                   	push   %ebp
  4030e1:	89 e5                	mov    %esp,%ebp
  4030e3:	d1 65 10             	shll   0x10(%ebp)
  4030e6:	8b 0d 54 a2 40 00    	mov    0x40a254,%ecx
  4030ec:	5d                   	pop    %ebp
  4030ed:	ff e1                	jmp    *%ecx
  4030ef:	90                   	nop    

004030f0 <_fb_hPixelCpy4>:
  4030f0:	55                   	push   %ebp
  4030f1:	89 e5                	mov    %esp,%ebp
  4030f3:	c1 65 10 02          	shll   $0x2,0x10(%ebp)
  4030f7:	8b 0d 54 a2 40 00    	mov    0x40a254,%ecx
  4030fd:	5d                   	pop    %ebp
  4030fe:	ff e1                	jmp    *%ecx

00403100 <_fb_hSetupFuncs>:
  403100:	55                   	push   %ebp
  403101:	89 e5                	mov    %esp,%ebp
  403103:	53                   	push   %ebx
  403104:	83 ec 04             	sub    $0x4,%esp
  403107:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40310a:	e8 61 21 00 00       	call   405270 <_fb_CpuDetect>
  40310f:	a9 00 00 80 00       	test   $0x800000,%eax
  403114:	0f 84 b6 00 00 00    	je     4031d0 <_fb_hSetupFuncs+0xd0>
  40311a:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  403120:	8b 42 7c             	mov    0x7c(%edx),%eax
  403123:	0d 00 00 00 01       	or     $0x1000000,%eax
  403128:	89 42 7c             	mov    %eax,0x7c(%edx)
  40312b:	b8 d0 35 40 00       	mov    $0x4035d0,%eax
  403130:	83 fb 01             	cmp    $0x1,%ebx
  403133:	a3 54 a2 40 00       	mov    %eax,0x40a254
  403138:	b8 10 36 40 00       	mov    $0x403610,%eax
  40313d:	a3 50 a2 40 00       	mov    %eax,0x40a250
  403142:	0f 84 a5 00 00 00    	je     4031ed <_fb_hSetupFuncs+0xed>
  403148:	83 fb 02             	cmp    $0x2,%ebx
  40314b:	0f 84 21 01 00 00    	je     403272 <_fb_hSetupFuncs+0x172>
  403151:	ba e0 2e 40 00       	mov    $0x402ee0,%edx
  403156:	b8 d0 2f 40 00       	mov    $0x402fd0,%eax
  40315b:	89 15 10 c2 40 00    	mov    %edx,0x40c210
  403161:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  403167:	a3 50 c2 40 00       	mov    %eax,0x40c250
  40316c:	8b 42 7c             	mov    0x7c(%edx),%eax
  40316f:	a9 00 00 00 01       	test   $0x1000000,%eax
  403174:	0f 85 b9 00 00 00    	jne    403233 <_fb_hSetupFuncs+0x133>
  40317a:	b8 20 30 40 00       	mov    $0x403020,%eax
  40317f:	a3 20 c2 40 00       	mov    %eax,0x40c220
  403184:	b8 f0 30 40 00       	mov    $0x4030f0,%eax
  403189:	a3 00 c2 40 00       	mov    %eax,0x40c200
  40318e:	8b 42 7c             	mov    0x7c(%edx),%eax
  403191:	a8 08                	test   $0x8,%al
  403193:	0f 84 b9 00 00 00    	je     403252 <_fb_hSetupFuncs+0x152>
  403199:	8b 42 7c             	mov    0x7c(%edx),%eax
  40319c:	a9 00 00 00 01       	test   $0x1000000,%eax
  4031a1:	0f 85 1d 01 00 00    	jne    4032c4 <_fb_hSetupFuncs+0x1c4>
  4031a7:	bb 00 2f 40 00       	mov    $0x402f00,%ebx
  4031ac:	b9 40 30 40 00       	mov    $0x403040,%ecx
  4031b1:	89 1d 30 c2 40 00    	mov    %ebx,0x40c230
  4031b7:	89 0d 40 c2 40 00    	mov    %ecx,0x40c240
  4031bd:	8d 76 00             	lea    0x0(%esi),%esi
  4031c0:	8b 15 20 c2 40 00    	mov    0x40c220,%edx
  4031c6:	89 15 fc c1 40 00    	mov    %edx,0x40c1fc
  4031cc:	5a                   	pop    %edx
  4031cd:	5b                   	pop    %ebx
  4031ce:	5d                   	pop    %ebp
  4031cf:	c3                   	ret    
  4031d0:	b8 20 8e 40 00       	mov    $0x408e20,%eax
  4031d5:	83 fb 01             	cmp    $0x1,%ebx
  4031d8:	a3 54 a2 40 00       	mov    %eax,0x40a254
  4031dd:	b8 10 8e 40 00       	mov    $0x408e10,%eax
  4031e2:	a3 50 a2 40 00       	mov    %eax,0x40a250
  4031e7:	0f 85 5b ff ff ff    	jne    403148 <_fb_hSetupFuncs+0x48>
  4031ed:	a1 50 a2 40 00       	mov    0x40a250,%eax
  4031f2:	ba 90 2f 40 00       	mov    $0x402f90,%edx
  4031f7:	bb a0 2e 40 00       	mov    $0x402ea0,%ebx
  4031fc:	89 15 50 c2 40 00    	mov    %edx,0x40c250
  403202:	b9 a0 2e 40 00       	mov    $0x402ea0,%ecx
  403207:	89 1d 30 c2 40 00    	mov    %ebx,0x40c230
  40320d:	89 c2                	mov    %eax,%edx
  40320f:	a3 40 c2 40 00       	mov    %eax,0x40c240
  403214:	a3 20 c2 40 00       	mov    %eax,0x40c220
  403219:	a1 54 a2 40 00       	mov    0x40a254,%eax
  40321e:	89 0d 10 c2 40 00    	mov    %ecx,0x40c210
  403224:	89 15 fc c1 40 00    	mov    %edx,0x40c1fc
  40322a:	a3 00 c2 40 00       	mov    %eax,0x40c200
  40322f:	5a                   	pop    %edx
  403230:	5b                   	pop    %ebx
  403231:	5d                   	pop    %ebp
  403232:	c3                   	ret    
  403233:	b8 b0 36 40 00       	mov    $0x4036b0,%eax
  403238:	a3 20 c2 40 00       	mov    %eax,0x40c220
  40323d:	b8 f0 30 40 00       	mov    $0x4030f0,%eax
  403242:	a3 00 c2 40 00       	mov    %eax,0x40c200
  403247:	8b 42 7c             	mov    0x7c(%edx),%eax
  40324a:	a8 08                	test   $0x8,%al
  40324c:	0f 85 47 ff ff ff    	jne    403199 <_fb_hSetupFuncs+0x99>
  403252:	8b 15 20 c2 40 00    	mov    0x40c220,%edx
  403258:	a1 10 c2 40 00       	mov    0x40c210,%eax
  40325d:	89 15 40 c2 40 00    	mov    %edx,0x40c240
  403263:	a3 30 c2 40 00       	mov    %eax,0x40c230
  403268:	89 15 fc c1 40 00    	mov    %edx,0x40c1fc
  40326e:	5a                   	pop    %edx
  40326f:	5b                   	pop    %ebx
  403270:	5d                   	pop    %ebp
  403271:	c3                   	ret    
  403272:	b8 c0 2e 40 00       	mov    $0x402ec0,%eax
  403277:	a3 30 c2 40 00       	mov    %eax,0x40c230
  40327c:	b8 c0 2e 40 00       	mov    $0x402ec0,%eax
  403281:	a3 10 c2 40 00       	mov    %eax,0x40c210
  403286:	b8 b0 2f 40 00       	mov    $0x402fb0,%eax
  40328b:	a3 50 c2 40 00       	mov    %eax,0x40c250
  403290:	a1 04 c2 40 00       	mov    0x40c204,%eax
  403295:	8b 40 7c             	mov    0x7c(%eax),%eax
  403298:	a9 00 00 00 01       	test   $0x1000000,%eax
  40329d:	75 41                	jne    4032e0 <_fb_hSetupFuncs+0x1e0>
  40329f:	b8 f0 2f 40 00       	mov    $0x402ff0,%eax
  4032a4:	bb f0 2f 40 00       	mov    $0x402ff0,%ebx
  4032a9:	a3 40 c2 40 00       	mov    %eax,0x40c240
  4032ae:	89 1d 20 c2 40 00    	mov    %ebx,0x40c220
  4032b4:	b9 e0 30 40 00       	mov    $0x4030e0,%ecx
  4032b9:	89 0d 00 c2 40 00    	mov    %ecx,0x40c200
  4032bf:	e9 fc fe ff ff       	jmp    4031c0 <_fb_hSetupFuncs+0xc0>
  4032c4:	b8 f0 37 40 00       	mov    $0x4037f0,%eax
  4032c9:	a3 30 c2 40 00       	mov    %eax,0x40c230
  4032ce:	b8 08 37 40 00       	mov    $0x403708,%eax
  4032d3:	a3 40 c2 40 00       	mov    %eax,0x40c240
  4032d8:	e9 e3 fe ff ff       	jmp    4031c0 <_fb_hSetupFuncs+0xc0>
  4032dd:	8d 76 00             	lea    0x0(%esi),%esi
  4032e0:	b8 60 36 40 00       	mov    $0x403660,%eax
  4032e5:	a3 40 c2 40 00       	mov    %eax,0x40c240
  4032ea:	b8 60 36 40 00       	mov    $0x403660,%eax
  4032ef:	a3 20 c2 40 00       	mov    %eax,0x40c220
  4032f4:	eb be                	jmp    4032b4 <_fb_hSetupFuncs+0x1b4>
  4032f6:	8d 76 00             	lea    0x0(%esi),%esi
  4032f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00403300 <_fb_hPrepareTarget>:
  403300:	55                   	push   %ebp
  403301:	89 e5                	mov    %esp,%ebp
  403303:	57                   	push   %edi
  403304:	56                   	push   %esi
  403305:	53                   	push   %ebx
  403306:	83 ec 2c             	sub    $0x2c,%esp
  403309:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  40330c:	8b 7d 08             	mov    0x8(%ebp),%edi
  40330f:	85 db                	test   %ebx,%ebx
  403311:	0f 84 e7 00 00 00    	je     4033fe <_fb_hPrepareTarget+0xfe>
  403317:	8b 47 18             	mov    0x18(%edi),%eax
  40331a:	3b 45 0c             	cmp    0xc(%ebp),%eax
  40331d:	0f 84 8e 00 00 00    	je     4033b1 <_fb_hPrepareTarget+0xb1>
  403323:	85 c0                	test   %eax,%eax
  403325:	0f 84 94 00 00 00    	je     4033bf <_fb_hPrepareTarget+0xbf>
  40332b:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
  403332:	8b 45 0c             	mov    0xc(%ebp),%eax
  403335:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
  40333c:	83 38 07             	cmpl   $0x7,(%eax)
  40333f:	0f 84 60 01 00 00    	je     4034a5 <_fb_hPrepareTarget+0x1a5>
  403345:	8b 75 0c             	mov    0xc(%ebp),%esi
  403348:	8b 0d 04 c2 40 00    	mov    0x40c204,%ecx
  40334e:	0f b6 06             	movzbl (%esi),%eax
  403351:	c0 e8 03             	shr    $0x3,%al
  403354:	0f b6 d0             	movzbl %al,%edx
  403357:	0f b6 46 01          	movzbl 0x1(%esi),%eax
  40335b:	c1 e0 05             	shl    $0x5,%eax
  40335e:	09 d0                	or     %edx,%eax
  403360:	89 47 2c             	mov    %eax,0x2c(%edi)
  403363:	8b 55 0c             	mov    0xc(%ebp),%edx
  403366:	0f b7 72 02          	movzwl 0x2(%edx),%esi
  40336a:	89 77 30             	mov    %esi,0x30(%edi)
  40336d:	8b 51 24             	mov    0x24(%ecx),%edx
  403370:	89 57 10             	mov    %edx,0x10(%edi)
  403373:	8b 51 24             	mov    0x24(%ecx),%edx
  403376:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  403379:	0f af c2             	imul   %edx,%eax
  40337c:	83 c1 04             	add    $0x4,%ecx
  40337f:	89 47 14             	mov    %eax,0x14(%edi)
  403382:	39 77 0c             	cmp    %esi,0xc(%edi)
  403385:	89 4d f0             	mov    %ecx,0xfffffff0(%ebp)
  403388:	7c 56                	jl     4033e0 <_fb_hPrepareTarget+0xe0>
  40338a:	31 d2                	xor    %edx,%edx
  40338c:	39 f2                	cmp    %esi,%edx
  40338e:	7d 1a                	jge    4033aa <_fb_hPrepareTarget+0xaa>
  403390:	8b 4f 14             	mov    0x14(%edi),%ecx
  403393:	8b 5f 08             	mov    0x8(%edi),%ebx
  403396:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  403399:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4033a0:	89 04 93             	mov    %eax,(%ebx,%edx,4)
  4033a3:	42                   	inc    %edx
  4033a4:	01 c8                	add    %ecx,%eax
  4033a6:	39 f2                	cmp    %esi,%edx
  4033a8:	7c f6                	jl     4033a0 <_fb_hPrepareTarget+0xa0>
  4033aa:	83 8f 90 00 00 00 02 	orl    $0x2,0x90(%edi)
  4033b1:	8b 45 0c             	mov    0xc(%ebp),%eax
  4033b4:	89 47 18             	mov    %eax,0x18(%edi)
  4033b7:	83 c4 2c             	add    $0x2c,%esp
  4033ba:	5b                   	pop    %ebx
  4033bb:	5e                   	pop    %esi
  4033bc:	5f                   	pop    %edi
  4033bd:	5d                   	pop    %ebp
  4033be:	c3                   	ret    
  4033bf:	8d 47 24             	lea    0x24(%edi),%eax
  4033c2:	b9 10 00 00 00       	mov    $0x10,%ecx
  4033c7:	89 44 24 04          	mov    %eax,0x4(%esp)
  4033cb:	8d 47 34             	lea    0x34(%edi),%eax
  4033ce:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  4033d2:	89 04 24             	mov    %eax,(%esp)
  4033d5:	ff 15 54 a2 40 00    	call   *0x40a254
  4033db:	e9 4b ff ff ff       	jmp    40332b <_fb_hPrepareTarget+0x2b>
  4033e0:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
  4033e7:	89 44 24 04          	mov    %eax,0x4(%esp)
  4033eb:	8b 47 08             	mov    0x8(%edi),%eax
  4033ee:	89 04 24             	mov    %eax,(%esp)
  4033f1:	e8 3a 5a 00 00       	call   408e30 <_realloc>
  4033f6:	89 47 08             	mov    %eax,0x8(%edi)
  4033f9:	89 77 0c             	mov    %esi,0xc(%edi)
  4033fc:	eb 8c                	jmp    40338a <_fb_hPrepareTarget+0x8a>
  4033fe:	f6 87 90 00 00 00 03 	testb  $0x3,0x90(%edi)
  403405:	74 aa                	je     4033b1 <_fb_hPrepareTarget+0xb1>
  403407:	b8 10 00 00 00       	mov    $0x10,%eax
  40340c:	89 44 24 08          	mov    %eax,0x8(%esp)
  403410:	8d 47 34             	lea    0x34(%edi),%eax
  403413:	89 44 24 04          	mov    %eax,0x4(%esp)
  403417:	8d 47 24             	lea    0x24(%edi),%eax
  40341a:	89 04 24             	mov    %eax,(%esp)
  40341d:	ff 15 54 a2 40 00    	call   *0x40a254
  403423:	8b 35 04 c2 40 00    	mov    0x40c204,%esi
  403429:	31 d2                	xor    %edx,%edx
  40342b:	8b 46 24             	mov    0x24(%esi),%eax
  40342e:	89 75 e4             	mov    %esi,0xffffffe4(%ebp)
  403431:	89 47 10             	mov    %eax,0x10(%edi)
  403434:	8b 46 28             	mov    0x28(%esi),%eax
  403437:	89 47 14             	mov    %eax,0x14(%edi)
  40343a:	8b 46 1c             	mov    0x1c(%esi),%eax
  40343d:	83 f8 00             	cmp    $0x0,%eax
  403440:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  403443:	7e 46                	jle    40348b <_fb_hPrepareTarget+0x18b>
  403445:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
  40344c:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  40344f:	8b 4f 04             	mov    0x4(%edi),%ecx
  403452:	8b 76 08             	mov    0x8(%esi),%esi
  403455:	8b 40 28             	mov    0x28(%eax),%eax
  403458:	8b 5f 08             	mov    0x8(%edi),%ebx
  40345b:	89 4d e0             	mov    %ecx,0xffffffe0(%ebp)
  40345e:	89 75 e8             	mov    %esi,0xffffffe8(%ebp)
  403461:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
  403464:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  40346a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi
  403470:	8b 4d e0             	mov    0xffffffe0(%ebp),%ecx
  403473:	8b 75 e8             	mov    0xffffffe8(%ebp),%esi
  403476:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  403479:	03 04 8e             	add    (%esi,%ecx,4),%eax
  40347c:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
  40347f:	01 4d d8             	add    %ecx,0xffffffd8(%ebp)
  403482:	89 04 93             	mov    %eax,(%ebx,%edx,4)
  403485:	42                   	inc    %edx
  403486:	39 55 ec             	cmp    %edx,0xffffffec(%ebp)
  403489:	7f e5                	jg     403470 <_fb_hPrepareTarget+0x170>
  40348b:	8b 75 e4             	mov    0xffffffe4(%ebp),%esi
  40348e:	8b 46 24             	mov    0x24(%esi),%eax
  403491:	89 04 24             	mov    %eax,(%esp)
  403494:	e8 67 fc ff ff       	call   403100 <_fb_hSetupFuncs>
  403499:	83 a7 90 00 00 00 fc 	andl   $0xfffffffc,0x90(%edi)
  4034a0:	e9 0c ff ff ff       	jmp    4033b1 <_fb_hPrepareTarget+0xb1>
  4034a5:	89 c2                	mov    %eax,%edx
  4034a7:	8b 40 08             	mov    0x8(%eax),%eax
  4034aa:	89 47 2c             	mov    %eax,0x2c(%edi)
  4034ad:	8b 72 0c             	mov    0xc(%edx),%esi
  4034b0:	89 77 30             	mov    %esi,0x30(%edi)
  4034b3:	8b 42 04             	mov    0x4(%edx),%eax
  4034b6:	89 47 10             	mov    %eax,0x10(%edi)
  4034b9:	8b 4a 10             	mov    0x10(%edx),%ecx
  4034bc:	89 4f 14             	mov    %ecx,0x14(%edi)
  4034bf:	8b 42 04             	mov    0x4(%edx),%eax
  4034c2:	89 04 24             	mov    %eax,(%esp)
  4034c5:	e8 36 fc ff ff       	call   403100 <_fb_hSetupFuncs>
  4034ca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  4034cd:	83 c1 20             	add    $0x20,%ecx
  4034d0:	e9 ad fe ff ff       	jmp    403382 <_fb_hPrepareTarget+0x82>
  4034d5:	8d 74 26 00          	lea    0x0(%esi),%esi
  4034d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004034e0 <_fb_hGetContext>:
  4034e0:	55                   	push   %ebp
  4034e1:	b8 94 00 00 00       	mov    $0x94,%eax
  4034e6:	89 e5                	mov    %esp,%ebp
  4034e8:	53                   	push   %ebx
  4034e9:	83 ec 14             	sub    $0x14,%esp
  4034ec:	89 44 24 04          	mov    %eax,0x4(%esp)
  4034f0:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
  4034f7:	e8 84 1c 00 00       	call   405180 <_fb_TlsGetCtx@8>
  4034fc:	89 c3                	mov    %eax,%ebx
  4034fe:	a1 04 c2 40 00       	mov    0x40c204,%eax
  403503:	83 ec 08             	sub    $0x8,%esp
  403506:	85 c0                	test   %eax,%eax
  403508:	0f 84 a3 00 00 00    	je     4035b1 <_fb_hGetContext+0xd1>
  40350e:	8b 00                	mov    (%eax),%eax
  403510:	39 03                	cmp    %eax,(%ebx)
  403512:	0f 84 99 00 00 00    	je     4035b1 <_fb_hGetContext+0xd1>
  403518:	8b 43 08             	mov    0x8(%ebx),%eax
  40351b:	85 c0                	test   %eax,%eax
  40351d:	0f 85 9e 00 00 00    	jne    4035c1 <_fb_hGetContext+0xe1>
  403523:	89 1c 24             	mov    %ebx,(%esp)
  403526:	b8 94 00 00 00       	mov    $0x94,%eax
  40352b:	89 44 24 08          	mov    %eax,0x8(%esp)
  40352f:	31 c0                	xor    %eax,%eax
  403531:	89 44 24 04          	mov    %eax,0x4(%esp)
  403535:	ff 15 50 a2 40 00    	call   *0x40a250
  40353b:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  403541:	8b 02                	mov    (%edx),%eax
  403543:	89 03                	mov    %eax,(%ebx)
  403545:	8b 42 18             	mov    0x18(%edx),%eax
  403548:	89 43 3c             	mov    %eax,0x3c(%ebx)
  40354b:	8b 42 1c             	mov    0x1c(%edx),%eax
  40354e:	89 43 0c             	mov    %eax,0xc(%ebx)
  403551:	89 43 40             	mov    %eax,0x40(%ebx)
  403554:	8b 42 1c             	mov    0x1c(%edx),%eax
  403557:	c1 e0 02             	shl    $0x2,%eax
  40355a:	89 04 24             	mov    %eax,(%esp)
  40355d:	e8 ee 58 00 00       	call   408e50 <_malloc>
  403562:	89 43 08             	mov    %eax,0x8(%ebx)
  403565:	8b 15 04 c2 40 00    	mov    0x40c204,%edx
  40356b:	8b 42 20             	mov    0x20(%edx),%eax
  40356e:	83 e8 05             	sub    $0x5,%eax
  403571:	83 f8 03             	cmp    $0x3,%eax
  403574:	76 42                	jbe    4035b8 <_fb_hGetContext+0xd8>
  403576:	8b 42 40             	mov    0x40(%edx),%eax
  403579:	89 43 54             	mov    %eax,0x54(%ebx)
  40357c:	8b 42 40             	mov    0x40(%edx),%eax
  40357f:	25 00 00 00 ff       	and    $0xff000000,%eax
  403584:	89 43 58             	mov    %eax,0x58(%ebx)
  403587:	b8 01 00 00 00       	mov    $0x1,%eax
  40358c:	89 83 90 00 00 00    	mov    %eax,0x90(%ebx)
  403592:	31 c0                	xor    %eax,%eax
  403594:	89 44 24 04          	mov    %eax,0x4(%esp)
  403598:	89 1c 24             	mov    %ebx,(%esp)
  40359b:	e8 60 fd ff ff       	call   403300 <_fb_hPrepareTarget>
  4035a0:	89 1c 24             	mov    %ebx,(%esp)
  4035a3:	b8 00 00 00 ff       	mov    $0xff000000,%eax
  4035a8:	89 44 24 04          	mov    %eax,0x4(%esp)
  4035ac:	e8 7f f6 ff ff       	call   402c30 <_fb_hSetPixelTransfer>
  4035b1:	89 d8                	mov    %ebx,%eax
  4035b3:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4035b6:	c9                   	leave  
  4035b7:	c3                   	ret    
  4035b8:	c7 43 54 0f 00 00 00 	movl   $0xf,0x54(%ebx)
  4035bf:	eb bb                	jmp    40357c <_fb_hGetContext+0x9c>
  4035c1:	89 04 24             	mov    %eax,(%esp)
  4035c4:	e8 77 58 00 00       	call   408e40 <_free>
  4035c9:	e9 55 ff ff ff       	jmp    403523 <_fb_hGetContext+0x43>
  4035ce:	90                   	nop    
  4035cf:	90                   	nop    

004035d0 <_fb_hMemCpyMMX>:
  4035d0:	55                   	push   %ebp
  4035d1:	89 e5                	mov    %esp,%ebp
  4035d3:	56                   	push   %esi
  4035d4:	57                   	push   %edi
  4035d5:	8b 7d 08             	mov    0x8(%ebp),%edi
  4035d8:	8b 75 0c             	mov    0xc(%ebp),%esi
  4035db:	8b 4d 10             	mov    0x10(%ebp),%ecx
  4035de:	d1 e9                	shr    %ecx
  4035e0:	73 02                	jae    4035e4 <memcpy_skip_1>
  4035e2:	a4                   	movsb  %ds:(%esi),%es:(%edi)
  4035e3:	90                   	nop    

004035e4 <memcpy_skip_1>:
  4035e4:	d1 e9                	shr    %ecx
  4035e6:	73 04                	jae    4035ec <memcpy_skip_2>
  4035e8:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
  4035ea:	89 f6                	mov    %esi,%esi

004035ec <memcpy_skip_2>:
  4035ec:	d1 e9                	shr    %ecx
  4035ee:	73 04                	jae    4035f4 <memcpy_skip_4>
  4035f0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
  4035f1:	8d 76 00             	lea    0x0(%esi),%esi

004035f4 <memcpy_skip_4>:
  4035f4:	09 c9                	or     %ecx,%ecx
  4035f6:	74 10                	je     403608 <memcpy_end>

004035f8 <memcpy_loop>:
  4035f8:	83 c7 08             	add    $0x8,%edi
  4035fb:	0f 6f 06             	movq   (%esi),%mm0
  4035fe:	83 c6 08             	add    $0x8,%esi
  403601:	0f 7f 47 f8          	movq   %mm0,0xfffffff8(%edi)
  403605:	49                   	dec    %ecx
  403606:	75 f0                	jne    4035f8 <memcpy_loop>

00403608 <memcpy_end>:
  403608:	0f 77                	emms   
  40360a:	5f                   	pop    %edi
  40360b:	5e                   	pop    %esi
  40360c:	5d                   	pop    %ebp
  40360d:	c3                   	ret    
  40360e:	89 f6                	mov    %esi,%esi

00403610 <_fb_hMemSetMMX>:
  403610:	55                   	push   %ebp
  403611:	89 e5                	mov    %esp,%ebp
  403613:	57                   	push   %edi
  403614:	8b 7d 08             	mov    0x8(%ebp),%edi
  403617:	8b 45 0c             	mov    0xc(%ebp),%eax
  40361a:	8b 4d 10             	mov    0x10(%ebp),%ecx
  40361d:	88 c4                	mov    %al,%ah
  40361f:	66 89 c2             	mov    %ax,%dx
  403622:	c1 e0 10             	shl    $0x10,%eax
  403625:	66 89 d0             	mov    %dx,%ax
  403628:	d1 e9                	shr    %ecx
  40362a:	73 04                	jae    403630 <memset_skip_1>
  40362c:	aa                   	stos   %al,%es:(%edi)
  40362d:	8d 76 00             	lea    0x0(%esi),%esi

00403630 <memset_skip_1>:
  403630:	d1 e9                	shr    %ecx
  403632:	73 04                	jae    403638 <memset_skip_2>
  403634:	66 ab                	stos   %ax,%es:(%edi)
  403636:	89 f6                	mov    %esi,%esi

00403638 <memset_skip_2>:
  403638:	d1 e9                	shr    %ecx
  40363a:	73 04                	jae    403640 <memset_skip_4>
  40363c:	ab                   	stos   %eax,%es:(%edi)
  40363d:	8d 76 00             	lea    0x0(%esi),%esi

00403640 <memset_skip_4>:
  403640:	09 c9                	or     %ecx,%ecx
  403642:	74 14                	je     403658 <memset_end>
  403644:	0f 6e c0             	movd   %eax,%mm0
  403647:	0f 62 c0             	punpckldq %mm0,%mm0
  40364a:	89 f6                	mov    %esi,%esi

0040364c <memset_loop>:
  40364c:	0f 7f 07             	movq   %mm0,(%edi)
  40364f:	83 c7 08             	add    $0x8,%edi
  403652:	49                   	dec    %ecx
  403653:	75 f7                	jne    40364c <memset_loop>
  403655:	8d 76 00             	lea    0x0(%esi),%esi

00403658 <memset_end>:
  403658:	0f 77                	emms   
  40365a:	5f                   	pop    %edi
  40365b:	5d                   	pop    %ebp
  40365c:	c3                   	ret    
  40365d:	8d 76 00             	lea    0x0(%esi),%esi

00403660 <_fb_hPixelSet2MMX>:
  403660:	55                   	push   %ebp
  403661:	89 e5                	mov    %esp,%ebp
  403663:	57                   	push   %edi
  403664:	8b 7d 08             	mov    0x8(%ebp),%edi
  403667:	8b 45 0c             	mov    0xc(%ebp),%eax
  40366a:	8b 4d 10             	mov    0x10(%ebp),%ecx
  40366d:	66 89 c2             	mov    %ax,%dx
  403670:	c1 e0 10             	shl    $0x10,%eax
  403673:	66 89 d0             	mov    %dx,%ax
  403676:	d1 e9                	shr    %ecx
  403678:	73 02                	jae    40367c <pixelset2_skip_1>
  40367a:	66 ab                	stos   %ax,%es:(%edi)

0040367c <pixelset2_skip_1>:
  40367c:	d1 e9                	shr    %ecx
  40367e:	73 04                	jae    403684 <pixelset2_skip_2>
  403680:	ab                   	stos   %eax,%es:(%edi)
  403681:	8d 76 00             	lea    0x0(%esi),%esi

00403684 <pixelset2_skip_2>:
  403684:	0f 6e c0             	movd   %eax,%mm0
  403687:	0f 62 c0             	punpckldq %mm0,%mm0
  40368a:	d1 e9                	shr    %ecx
  40368c:	73 06                	jae    403694 <pixelset2_skip_4>
  40368e:	0f 7f 07             	movq   %mm0,(%edi)
  403691:	83 c7 08             	add    $0x8,%edi

00403694 <pixelset2_skip_4>:
  403694:	09 c9                	or     %ecx,%ecx
  403696:	74 10                	je     4036a8 <pixelset2_end>

00403698 <pixelset2_loop>:
  403698:	0f 7f 07             	movq   %mm0,(%edi)
  40369b:	0f 7f 47 08          	movq   %mm0,0x8(%edi)
  40369f:	83 c7 10             	add    $0x10,%edi
  4036a2:	49                   	dec    %ecx
  4036a3:	75 f3                	jne    403698 <pixelset2_loop>
  4036a5:	8d 76 00             	lea    0x0(%esi),%esi

004036a8 <pixelset2_end>:
  4036a8:	0f 77                	emms   
  4036aa:	5f                   	pop    %edi
  4036ab:	5d                   	pop    %ebp
  4036ac:	c3                   	ret    
  4036ad:	8d 76 00             	lea    0x0(%esi),%esi

004036b0 <_fb_hPixelSet4MMX>:
  4036b0:	55                   	push   %ebp
  4036b1:	89 e5                	mov    %esp,%ebp
  4036b3:	57                   	push   %edi
  4036b4:	8b 7d 08             	mov    0x8(%ebp),%edi
  4036b7:	8b 45 0c             	mov    0xc(%ebp),%eax
  4036ba:	8b 4d 10             	mov    0x10(%ebp),%ecx
  4036bd:	d1 e9                	shr    %ecx
  4036bf:	73 03                	jae    4036c4 <pixelset4_skip_1>
  4036c1:	ab                   	stos   %eax,%es:(%edi)
  4036c2:	89 f6                	mov    %esi,%esi

004036c4 <pixelset4_skip_1>:
  4036c4:	0f 6e c0             	movd   %eax,%mm0
  4036c7:	0f 62 c0             	punpckldq %mm0,%mm0
  4036ca:	d1 e9                	shr    %ecx
  4036cc:	73 06                	jae    4036d4 <pixelset4_skip_2>
  4036ce:	0f 7f 07             	movq   %mm0,(%edi)
  4036d1:	83 c7 08             	add    $0x8,%edi

004036d4 <pixelset4_skip_2>:
  4036d4:	d1 e9                	shr    %ecx
  4036d6:	73 0c                	jae    4036e4 <pixelset4_skip_4>
  4036d8:	0f 7f 07             	movq   %mm0,(%edi)
  4036db:	0f 7f 47 08          	movq   %mm0,0x8(%edi)
  4036df:	83 c7 10             	add    $0x10,%edi
  4036e2:	89 f6                	mov    %esi,%esi

004036e4 <pixelset4_skip_4>:
  4036e4:	09 c9                	or     %ecx,%ecx
  4036e6:	74 18                	je     403700 <pixelset4_end>

004036e8 <pixelset4_loop>:
  4036e8:	0f 7f 07             	movq   %mm0,(%edi)
  4036eb:	0f 7f 47 08          	movq   %mm0,0x8(%edi)
  4036ef:	0f 7f 47 10          	movq   %mm0,0x10(%edi)
  4036f3:	0f 7f 47 18          	movq   %mm0,0x18(%edi)
  4036f7:	83 c7 20             	add    $0x20,%edi
  4036fa:	49                   	dec    %ecx
  4036fb:	75 eb                	jne    4036e8 <pixelset4_loop>
  4036fd:	8d 76 00             	lea    0x0(%esi),%esi

00403700 <pixelset4_end>:
  403700:	0f 77                	emms   
  403702:	5f                   	pop    %edi
  403703:	5d                   	pop    %ebp
  403704:	c3                   	ret    
  403705:	8d 76 00             	lea    0x0(%esi),%esi

00403708 <_fb_hPixelSetAlpha4MMX>:
  403708:	55                   	push   %ebp
  403709:	89 e5                	mov    %esp,%ebp
  40370b:	56                   	push   %esi
  40370c:	57                   	push   %edi
  40370d:	53                   	push   %ebx
  40370e:	8b 75 0c             	mov    0xc(%ebp),%esi
  403711:	8b 7d 08             	mov    0x8(%ebp),%edi
  403714:	0f 6e f6             	movd   %esi,%mm6
  403717:	8b 4d 10             	mov    0x10(%ebp),%ecx
  40371a:	d1 e9                	shr    %ecx
  40371c:	73 5a                	jae    403778 <pixelsetalpha4_skip_1>
  40371e:	83 c7 04             	add    $0x4,%edi
  403721:	89 f0                	mov    %esi,%eax
  403723:	8b 5f fc             	mov    0xfffffffc(%edi),%ebx
  403726:	89 c1                	mov    %eax,%ecx
  403728:	89 da                	mov    %ebx,%edx
  40372a:	25 ff 00 ff 00       	and    $0xff00ff,%eax
  40372f:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
  403735:	c1 ee 18             	shr    $0x18,%esi
  403738:	29 d0                	sub    %edx,%eax
  40373a:	f7 ee                	imul   %esi
  40373c:	91                   	xchg   %eax,%ecx
  40373d:	89 da                	mov    %ebx,%edx
  40373f:	25 00 ff 00 ff       	and    $0xff00ff00,%eax
  403744:	81 e2 00 ff 00 ff    	and    $0xff00ff00,%edx
  40374a:	29 d0                	sub    %edx,%eax
  40374c:	c1 e8 08             	shr    $0x8,%eax
  40374f:	f7 ee                	imul   %esi
  403751:	c1 e9 08             	shr    $0x8,%ecx
  403754:	89 da                	mov    %ebx,%edx
  403756:	81 e3 ff 00 ff 00    	and    $0xff00ff,%ebx
  40375c:	81 e2 00 ff 00 ff    	and    $0xff00ff00,%edx
  403762:	01 cb                	add    %ecx,%ebx
  403764:	01 d0                	add    %edx,%eax
  403766:	81 e3 ff 00 ff 00    	and    $0xff00ff,%ebx
  40376c:	25 00 ff 00 ff       	and    $0xff00ff00,%eax
  403771:	09 d8                	or     %ebx,%eax
  403773:	89 47 fc             	mov    %eax,0xfffffffc(%edi)
  403776:	89 f6                	mov    %esi,%esi

00403778 <pixelsetalpha4_skip_1>:
  403778:	8b 4d 10             	mov    0x10(%ebp),%ecx
  40377b:	d1 e9                	shr    %ecx
  40377d:	74 65                	je     4037e4 <pixelsetalpha4_end>
  40377f:	0f 62 f6             	punpckldq %mm6,%mm6
  403782:	0f 6f 2d 78 a2 40 00 	movq   0x40a278,%mm5
  403789:	8d 76 00             	lea    0x0(%esi),%esi

0040378c <pixelsetalpha4_x_loop>:
  40378c:	0f 6f c6             	movq   %mm6,%mm0
  40378f:	0f 6f 0f             	movq   (%edi),%mm1
  403792:	0f 6f d0             	movq   %mm0,%mm2
  403795:	0f 6f d8             	movq   %mm0,%mm3
  403798:	0f 6f e1             	movq   %mm1,%mm4
  40379b:	0f 72 d2 18          	psrld  $0x18,%mm2
  40379f:	0f 71 d3 08          	psrlw  $0x8,%mm3
  4037a3:	0f 71 d4 08          	psrlw  $0x8,%mm4
  4037a7:	0f 6b d2             	packssdw %mm2,%mm2
  4037aa:	0f db c5             	pand   %mm5,%mm0
  4037ad:	0f db cd             	pand   %mm5,%mm1
  4037b0:	0f 61 d2             	punpcklwd %mm2,%mm2
  4037b3:	0f f9 c1             	psubw  %mm1,%mm0
  4037b6:	0f f9 dc             	psubw  %mm4,%mm3
  4037b9:	0f d5 c2             	pmullw %mm2,%mm0
  4037bc:	0f d5 da             	pmullw %mm2,%mm3
  4037bf:	0f 71 e0 08          	psraw  $0x8,%mm0
  4037c3:	0f 71 e3 08          	psraw  $0x8,%mm3
  4037c7:	0f fd c1             	paddw  %mm1,%mm0
  4037ca:	0f fd dc             	paddw  %mm4,%mm3
  4037cd:	0f db c5             	pand   %mm5,%mm0
  4037d0:	0f 71 f3 08          	psllw  $0x8,%mm3
  4037d4:	83 c7 08             	add    $0x8,%edi
  4037d7:	0f eb c3             	por    %mm3,%mm0
  4037da:	0f 7f 47 f8          	movq   %mm0,0xfffffff8(%edi)
  4037de:	49                   	dec    %ecx
  4037df:	75 ab                	jne    40378c <pixelsetalpha4_x_loop>
  4037e1:	8d 76 00             	lea    0x0(%esi),%esi

004037e4 <pixelsetalpha4_end>:
  4037e4:	0f 77                	emms   
  4037e6:	5b                   	pop    %ebx
  4037e7:	5f                   	pop    %edi
  4037e8:	5e                   	pop    %esi
  4037e9:	5d                   	pop    %ebp
  4037ea:	c3                   	ret    
  4037eb:	90                   	nop    
  4037ec:	8d 74 26 00          	lea    0x0(%esi),%esi

004037f0 <_fb_hPutPixelAlpha4MMX>:
  4037f0:	55                   	push   %ebp
  4037f1:	89 e5                	mov    %esp,%ebp
  4037f3:	57                   	push   %edi
  4037f4:	8b 7d 08             	mov    0x8(%ebp),%edi
  4037f7:	8b 55 14             	mov    0x14(%ebp),%edx
  4037fa:	8b 4d 10             	mov    0x10(%ebp),%ecx
  4037fd:	8b 45 0c             	mov    0xc(%ebp),%eax
  403800:	8b 6f 08             	mov    0x8(%edi),%ebp
  403803:	0f 6e ca             	movd   %edx,%mm1
  403806:	8b 7c 8d 00          	mov    0x0(%ebp,%ecx,4),%edi
  40380a:	c1 ea 18             	shr    $0x18,%edx
  40380d:	8d 3c 87             	lea    (%edi,%eax,4),%edi
  403810:	0f ef d2             	pxor   %mm2,%mm2
  403813:	0f 6e 07             	movd   (%edi),%mm0
  403816:	0f 6e da             	movd   %edx,%mm3
  403819:	0f 60 ca             	punpcklbw %mm2,%mm1
  40381c:	0f 60 c2             	punpcklbw %mm2,%mm0
  40381f:	0f 61 db             	punpcklwd %mm3,%mm3
  403822:	0f f9 c8             	psubw  %mm0,%mm1
  403825:	0f 61 db             	punpcklwd %mm3,%mm3
  403828:	0f 71 f0 08          	psllw  $0x8,%mm0
  40382c:	0f d5 cb             	pmullw %mm3,%mm1
  40382f:	0f fd c1             	paddw  %mm1,%mm0
  403832:	0f 71 d0 08          	psrlw  $0x8,%mm0
  403836:	0f 67 c0             	packuswb %mm0,%mm0
  403839:	0f 7e 07             	movd   %mm0,(%edi)
  40383c:	0f 77                	emms   
  40383e:	5f                   	pop    %edi
  40383f:	5d                   	pop    %ebp
  403840:	c3                   	ret    
  403841:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00403848 <_fb_hPutAlphaMaskMMX>:
  403848:	55                   	push   %ebp
  403849:	89 e5                	mov    %esp,%ebp
  40384b:	56                   	push   %esi
  40384c:	57                   	push   %edi
  40384d:	53                   	push   %ebx
  40384e:	8b 5d 10             	mov    0x10(%ebp),%ebx
  403851:	8b 55 1c             	mov    0x1c(%ebp),%edx
  403854:	29 5d 18             	sub    %ebx,0x18(%ebp)
  403857:	0f ef ff             	pxor   %mm7,%mm7
  40385a:	c1 e3 02             	shl    $0x2,%ebx
  40385d:	8b 7d 0c             	mov    0xc(%ebp),%edi
  403860:	29 da                	sub    %ebx,%edx
  403862:	8b 75 08             	mov    0x8(%ebp),%esi
  403865:	8b 5d 14             	mov    0x14(%ebp),%ebx
  403868:	0f 6f 35 70 a2 40 00 	movq   0x40a270,%mm6
  40386f:	90                   	nop    

00403870 <alpha_mask_y_loop>:
  403870:	8b 4d 10             	mov    0x10(%ebp),%ecx
  403873:	0f ef ff             	pxor   %mm7,%mm7
  403876:	d1 e9                	shr    %ecx
  403878:	73 12                	jae    40388c <alpha_mask_skip_1>
  40387a:	ac                   	lods   %ds:(%esi),%al
  40387b:	c1 e0 18             	shl    $0x18,%eax
  40387e:	81 27 ff ff ff 00    	andl   $0xffffff,(%edi)
  403884:	09 07                	or     %eax,(%edi)
  403886:	83 c7 04             	add    $0x4,%edi
  403889:	8d 76 00             	lea    0x0(%esi),%esi

0040388c <alpha_mask_skip_1>:
  40388c:	d1 e9                	shr    %ecx
  40388e:	73 24                	jae    4038b4 <alpha_mask_skip_2>
  403890:	66 ad                	lods   %ds:(%esi),%ax
  403892:	0f 6f 0f             	movq   (%edi),%mm1
  403895:	0f 6e c0             	movd   %eax,%mm0
  403898:	0f 60 c7             	punpcklbw %mm7,%mm0
  40389b:	0f 61 c7             	punpcklwd %mm7,%mm0
  40389e:	0f 72 f0 18          	pslld  $0x18,%mm0
  4038a2:	0f db 0d 70 a2 40 00 	pand   0x40a270,%mm1
  4038a9:	83 c7 08             	add    $0x8,%edi
  4038ac:	0f eb c8             	por    %mm0,%mm1
  4038af:	0f 7f 4f f8          	movq   %mm1,0xfffffff8(%edi)
  4038b3:	90                   	nop    

004038b4 <alpha_mask_skip_2>:
  4038b4:	d1 e9                	shr    %ecx
  4038b6:	73 40                	jae    4038f8 <alpha_mask_skip_4>
  4038b8:	ad                   	lods   %ds:(%esi),%eax
  4038b9:	0f 6f 17             	movq   (%edi),%mm2
  4038bc:	0f 6e c0             	movd   %eax,%mm0
  4038bf:	0f 6f 5f 08          	movq   0x8(%edi),%mm3
  4038c3:	0f 60 c7             	punpcklbw %mm7,%mm0
  4038c6:	83 c7 10             	add    $0x10,%edi
  4038c9:	0f 6f c8             	movq   %mm0,%mm1
  4038cc:	0f 61 c7             	punpcklwd %mm7,%mm0
  4038cf:	0f 69 cf             	punpckhwd %mm7,%mm1
  4038d2:	0f 72 f0 18          	pslld  $0x18,%mm0
  4038d6:	0f 72 f1 18          	pslld  $0x18,%mm1
  4038da:	0f db 15 70 a2 40 00 	pand   0x40a270,%mm2
  4038e1:	0f db 1d 70 a2 40 00 	pand   0x40a270,%mm3
  4038e8:	0f eb d0             	por    %mm0,%mm2
  4038eb:	0f eb d9             	por    %mm1,%mm3
  4038ee:	0f 7f 57 f0          	movq   %mm2,0xfffffff0(%edi)
  4038f2:	0f 7f 5f f8          	movq   %mm3,0xfffffff8(%edi)
  4038f6:	89 f6                	mov    %esi,%esi

004038f8 <alpha_mask_skip_4>:
  4038f8:	09 c9                	or     %ecx,%ecx
  4038fa:	0f 84 80 00 00 00    	je     403980 <alpha_mask_next_line>

00403900 <alpha_mask_x_loop>:
  403900:	0f 6f 06             	movq   (%esi),%mm0
  403903:	0f 6f 16             	movq   (%esi),%mm2
  403906:	0f 60 c7             	punpcklbw %mm7,%mm0
  403909:	0f 68 d7             	punpckhbw %mm7,%mm2
  40390c:	0f 6f c8             	movq   %mm0,%mm1
  40390f:	0f 6f da             	movq   %mm2,%mm3
  403912:	0f 61 c7             	punpcklwd %mm7,%mm0
  403915:	0f 69 cf             	punpckhwd %mm7,%mm1
  403918:	0f 61 d7             	punpcklwd %mm7,%mm2
  40391b:	0f 69 df             	punpckhwd %mm7,%mm3
  40391e:	0f 6f 27             	movq   (%edi),%mm4
  403921:	0f 6f 6f 08          	movq   0x8(%edi),%mm5
  403925:	0f 6f 77 10          	movq   0x10(%edi),%mm6
  403929:	0f 6f 7f 18          	movq   0x18(%edi),%mm7
  40392d:	0f 72 f0 18          	pslld  $0x18,%mm0
  403931:	0f 72 f1 18          	pslld  $0x18,%mm1
  403935:	0f 72 f2 18          	pslld  $0x18,%mm2
  403939:	0f 72 f3 18          	pslld  $0x18,%mm3
  40393d:	83 c7 20             	add    $0x20,%edi
  403940:	83 c6 08             	add    $0x8,%esi
  403943:	0f db 25 70 a2 40 00 	pand   0x40a270,%mm4
  40394a:	0f db 2d 70 a2 40 00 	pand   0x40a270,%mm5
  403951:	0f db 35 70 a2 40 00 	pand   0x40a270,%mm6
  403958:	0f db 3d 70 a2 40 00 	pand   0x40a270,%mm7
  40395f:	0f eb e0             	por    %mm0,%mm4
  403962:	0f eb e9             	por    %mm1,%mm5
  403965:	0f eb f2             	por    %mm2,%mm6
  403968:	0f eb fb             	por    %mm3,%mm7
  40396b:	0f 7f 67 e0          	movq   %mm4,0xffffffe0(%edi)
  40396f:	0f 7f 6f e8          	movq   %mm5,0xffffffe8(%edi)
  403973:	0f 7f 77 f0          	movq   %mm6,0xfffffff0(%edi)
  403977:	0f 7f 7f f8          	movq   %mm7,0xfffffff8(%edi)
  40397b:	49                   	dec    %ecx
  40397c:	75 82                	jne    403900 <alpha_mask_x_loop>
  40397e:	89 f6                	mov    %esi,%esi

00403980 <alpha_mask_next_line>:
  403980:	03 75 18             	add    0x18(%ebp),%esi
  403983:	01 d7                	add    %edx,%edi
  403985:	4b                   	dec    %ebx
  403986:	0f 85 e4 fe ff ff    	jne    403870 <alpha_mask_y_loop>
  40398c:	0f 77                	emms   
  40398e:	5b                   	pop    %ebx
  40398f:	5f                   	pop    %edi
  403990:	5e                   	pop    %esi
  403991:	5d                   	pop    %ebp
  403992:	c3                   	ret    
  403993:	90                   	nop    
  403994:	8d 74 26 00          	lea    0x0(%esi),%esi

00403998 <_fb_MMX_code_end>:
  403998:	90                   	nop    
  403999:	90                   	nop    
  40399a:	90                   	nop    
  40399b:	90                   	nop    
  40399c:	90                   	nop    
  40399d:	90                   	nop    
  40399e:	90                   	nop    
  40399f:	90                   	nop    

004039a0 <_fb_StrAllocTempDescZEx@8>:
  4039a0:	55                   	push   %ebp
  4039a1:	89 e5                	mov    %esp,%ebp
  4039a3:	83 ec 18             	sub    $0x18,%esp
  4039a6:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4039ad:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  4039b0:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  4039b3:	8b 75 0c             	mov    0xc(%ebp),%esi
  4039b6:	e8 d5 56 00 00       	call   409090 <_EnterCriticalSection@4>
  4039bb:	83 ec 04             	sub    $0x4,%esp
  4039be:	e8 8d 19 00 00       	call   405350 <_fb_hStrAllocTmpDesc@0>
  4039c3:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4039ca:	89 c3                	mov    %eax,%ebx
  4039cc:	e8 cf 56 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4039d1:	83 ec 04             	sub    $0x4,%esp
  4039d4:	85 db                	test   %ebx,%ebx
  4039d6:	b8 98 07 41 00       	mov    $0x410798,%eax
  4039db:	74 0d                	je     4039ea <_fb_StrAllocTempDescZEx@8+0x4a>
  4039dd:	89 73 04             	mov    %esi,0x4(%ebx)
  4039e0:	8b 45 08             	mov    0x8(%ebp),%eax
  4039e3:	89 73 08             	mov    %esi,0x8(%ebx)
  4039e6:	89 03                	mov    %eax,(%ebx)
  4039e8:	89 d8                	mov    %ebx,%eax
  4039ea:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  4039ed:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  4039f0:	89 ec                	mov    %ebp,%esp
  4039f2:	5d                   	pop    %ebp
  4039f3:	c2 08 00             	ret    $0x8
  4039f6:	8d 76 00             	lea    0x0(%esi),%esi
  4039f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00403a00 <_fb_StrAllocTempDescZ@4>:
  403a00:	55                   	push   %ebp
  403a01:	31 c0                	xor    %eax,%eax
  403a03:	89 e5                	mov    %esp,%ebp
  403a05:	53                   	push   %ebx
  403a06:	83 ec 14             	sub    $0x14,%esp
  403a09:	8b 5d 08             	mov    0x8(%ebp),%ebx
  403a0c:	85 db                	test   %ebx,%ebx
  403a0e:	74 08                	je     403a18 <_fb_StrAllocTempDescZ@4+0x18>
  403a10:	89 1c 24             	mov    %ebx,(%esp)
  403a13:	e8 48 54 00 00       	call   408e60 <_strlen>
  403a18:	89 1c 24             	mov    %ebx,(%esp)
  403a1b:	89 44 24 04          	mov    %eax,0x4(%esp)
  403a1f:	e8 7c ff ff ff       	call   4039a0 <_fb_StrAllocTempDescZEx@8>
  403a24:	83 ec 08             	sub    $0x8,%esp
  403a27:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403a2a:	c9                   	leave  
  403a2b:	c2 04 00             	ret    $0x4
  403a2e:	90                   	nop    
  403a2f:	90                   	nop    

00403a30 <_fb_PrintStringEx>:
  403a30:	55                   	push   %ebp
  403a31:	89 e5                	mov    %esp,%ebp
  403a33:	83 ec 28             	sub    $0x28,%esp
  403a36:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  403a39:	8b 75 0c             	mov    0xc(%ebp),%esi
  403a3c:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  403a3f:	8b 7d 08             	mov    0x8(%ebp),%edi
  403a42:	85 f6                	test   %esi,%esi
  403a44:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  403a47:	74 06                	je     403a4f <_fb_PrintStringEx+0x1f>
  403a49:	8b 1e                	mov    (%esi),%ebx
  403a4b:	85 db                	test   %ebx,%ebx
  403a4d:	75 27                	jne    403a76 <_fb_PrintStringEx+0x46>
  403a4f:	8b 45 10             	mov    0x10(%ebp),%eax
  403a52:	89 3c 24             	mov    %edi,(%esp)
  403a55:	89 44 24 04          	mov    %eax,0x4(%esp)
  403a59:	e8 62 1d 00 00       	call   4057c0 <_fb_PrintVoidEx>
  403a5e:	89 34 24             	mov    %esi,(%esp)
  403a61:	e8 3a 1c 00 00       	call   4056a0 <_fb_hStrDelTemp@4>
  403a66:	83 ec 04             	sub    $0x4,%esp
  403a69:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  403a6c:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  403a6f:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  403a72:	89 ec                	mov    %ebp,%esp
  403a74:	5d                   	pop    %ebp
  403a75:	c3                   	ret    
  403a76:	8b 46 04             	mov    0x4(%esi),%eax
  403a79:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
  403a7e:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  403a81:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403a88:	e8 03 56 00 00       	call   409090 <_EnterCriticalSection@4>
  403a8d:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  403a90:	83 ec 04             	sub    $0x4,%esp
  403a93:	85 c0                	test   %eax,%eax
  403a95:	75 36                	jne    403acd <_fb_PrintStringEx+0x9d>
  403a97:	8b 45 10             	mov    0x10(%ebp),%eax
  403a9a:	89 3c 24             	mov    %edi,(%esp)
  403a9d:	89 44 24 04          	mov    %eax,0x4(%esp)
  403aa1:	e8 1a 1d 00 00       	call   4057c0 <_fb_PrintVoidEx>
  403aa6:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403aad:	e8 ee 55 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  403ab2:	83 ec 04             	sub    $0x4,%esp
  403ab5:	89 34 24             	mov    %esi,(%esp)
  403ab8:	e8 e3 1b 00 00       	call   4056a0 <_fb_hStrDelTemp@4>
  403abd:	83 ec 04             	sub    $0x4,%esp
  403ac0:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  403ac3:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  403ac6:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  403ac9:	89 ec                	mov    %ebp,%esp
  403acb:	5d                   	pop    %ebp
  403acc:	c3                   	ret    
  403acd:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  403ad0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  403ad4:	89 3c 24             	mov    %edi,(%esp)
  403ad7:	89 44 24 08          	mov    %eax,0x8(%esp)
  403adb:	e8 80 1d 00 00       	call   405860 <_fb_hFilePrintBufferEx>
  403ae0:	eb b5                	jmp    403a97 <_fb_PrintStringEx+0x67>
  403ae2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  403ae9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00403af0 <_fb_PrintString@12>:
  403af0:	55                   	push   %ebp
  403af1:	89 e5                	mov    %esp,%ebp
  403af3:	83 ec 18             	sub    $0x18,%esp
  403af6:	8b 45 10             	mov    0x10(%ebp),%eax
  403af9:	8b 55 08             	mov    0x8(%ebp),%edx
  403afc:	89 44 24 08          	mov    %eax,0x8(%esp)
  403b00:	8b 45 0c             	mov    0xc(%ebp),%eax
  403b03:	85 d2                	test   %edx,%edx
  403b05:	89 44 24 04          	mov    %eax,0x4(%esp)
  403b09:	b8 30 08 41 00       	mov    $0x410830,%eax
  403b0e:	74 21                	je     403b31 <_fb_PrintString@12+0x41>
  403b10:	83 fa ff             	cmp    $0xffffffff,%edx
  403b13:	b8 70 08 41 00       	mov    $0x410870,%eax
  403b18:	74 17                	je     403b31 <_fb_PrintString@12+0x41>
  403b1a:	8d 42 ff             	lea    0xffffffff(%edx),%eax
  403b1d:	31 c9                	xor    %ecx,%ecx
  403b1f:	3d fd 00 00 00       	cmp    $0xfd,%eax
  403b24:	77 09                	ja     403b2f <_fb_PrintString@12+0x3f>
  403b26:	c1 e2 06             	shl    $0x6,%edx
  403b29:	8d 8a 70 08 41 00    	lea    0x410870(%edx),%ecx
  403b2f:	89 c8                	mov    %ecx,%eax
  403b31:	89 04 24             	mov    %eax,(%esp)
  403b34:	e8 f7 fe ff ff       	call   403a30 <_fb_PrintStringEx>
  403b39:	c9                   	leave  
  403b3a:	c2 0c 00             	ret    $0xc
  403b3d:	90                   	nop    
  403b3e:	90                   	nop    
  403b3f:	90                   	nop    

00403b40 <_fb_PrintInt@12>:
  403b40:	55                   	push   %ebp
  403b41:	89 e5                	mov    %esp,%ebp
  403b43:	83 ec 78             	sub    $0x78,%esp
  403b46:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  403b49:	8b 75 10             	mov    0x10(%ebp),%esi
  403b4c:	8b 45 0c             	mov    0xc(%ebp),%eax
  403b4f:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  403b52:	f7 c6 04 00 00 00    	test   $0x4,%esi
  403b58:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  403b5b:	8b 5d 08             	mov    0x8(%ebp),%ebx
  403b5e:	75 0c                	jne    403b6c <_fb_PrintInt@12+0x2c>
  403b60:	f7 c6 01 00 00 00    	test   $0x1,%esi
  403b66:	0f 84 a4 00 00 00    	je     403c10 <_fb_PrintInt@12+0xd0>
  403b6c:	89 44 24 08          	mov    %eax,0x8(%esp)
  403b70:	ba 10 b0 40 00       	mov    $0x40b010,%edx
  403b75:	89 54 24 04          	mov    %edx,0x4(%esp)
  403b79:	8d 7d 98             	lea    0xffffff98(%ebp),%edi
  403b7c:	89 3c 24             	mov    %edi,(%esp)
  403b7f:	e8 ec 52 00 00       	call   408e70 <_sprintf>
  403b84:	89 44 24 08          	mov    %eax,0x8(%esp)
  403b88:	85 db                	test   %ebx,%ebx
  403b8a:	b8 30 08 41 00       	mov    $0x410830,%eax
  403b8f:	89 7c 24 04          	mov    %edi,0x4(%esp)
  403b93:	74 23                	je     403bb8 <_fb_PrintInt@12+0x78>
  403b95:	83 fb ff             	cmp    $0xffffffff,%ebx
  403b98:	b8 70 08 41 00       	mov    $0x410870,%eax
  403b9d:	74 19                	je     403bb8 <_fb_PrintInt@12+0x78>
  403b9f:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
  403ba2:	31 d2                	xor    %edx,%edx
  403ba4:	3d fd 00 00 00       	cmp    $0xfd,%eax
  403ba9:	77 0b                	ja     403bb6 <_fb_PrintInt@12+0x76>
  403bab:	89 d8                	mov    %ebx,%eax
  403bad:	c1 e0 06             	shl    $0x6,%eax
  403bb0:	8d 90 70 08 41 00    	lea    0x410870(%eax),%edx
  403bb6:	89 d0                	mov    %edx,%eax
  403bb8:	89 04 24             	mov    %eax,(%esp)
  403bbb:	e8 a0 1c 00 00       	call   405860 <_fb_hFilePrintBufferEx>
  403bc0:	f7 c6 02 00 00 00    	test   $0x2,%esi
  403bc6:	74 36                	je     403bfe <_fb_PrintInt@12+0xbe>
  403bc8:	89 74 24 04          	mov    %esi,0x4(%esp)
  403bcc:	85 db                	test   %ebx,%ebx
  403bce:	b8 30 08 41 00       	mov    $0x410830,%eax
  403bd3:	74 21                	je     403bf6 <_fb_PrintInt@12+0xb6>
  403bd5:	83 fb ff             	cmp    $0xffffffff,%ebx
  403bd8:	b8 70 08 41 00       	mov    $0x410870,%eax
  403bdd:	74 17                	je     403bf6 <_fb_PrintInt@12+0xb6>
  403bdf:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
  403be2:	31 d2                	xor    %edx,%edx
  403be4:	3d fd 00 00 00       	cmp    $0xfd,%eax
  403be9:	77 09                	ja     403bf4 <_fb_PrintInt@12+0xb4>
  403beb:	c1 e3 06             	shl    $0x6,%ebx
  403bee:	8d 93 70 08 41 00    	lea    0x410870(%ebx),%edx
  403bf4:	89 d0                	mov    %edx,%eax
  403bf6:	89 04 24             	mov    %eax,(%esp)
  403bf9:	e8 32 1d 00 00       	call   405930 <_fb_PrintPadEx>
  403bfe:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  403c01:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  403c04:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  403c07:	89 ec                	mov    %ebp,%esp
  403c09:	5d                   	pop    %ebp
  403c0a:	c2 0c 00             	ret    $0xc
  403c0d:	8d 76 00             	lea    0x0(%esi),%esi
  403c10:	89 44 24 08          	mov    %eax,0x8(%esp)
  403c14:	b8 16 b0 40 00       	mov    $0x40b016,%eax
  403c19:	89 44 24 04          	mov    %eax,0x4(%esp)
  403c1d:	e9 57 ff ff ff       	jmp    403b79 <_fb_PrintInt@12+0x39>
  403c22:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  403c29:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00403c30 <_fb_PrintUInt@12>:
  403c30:	55                   	push   %ebp
  403c31:	89 e5                	mov    %esp,%ebp
  403c33:	83 ec 78             	sub    $0x78,%esp
  403c36:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  403c39:	8b 75 10             	mov    0x10(%ebp),%esi
  403c3c:	8b 45 0c             	mov    0xc(%ebp),%eax
  403c3f:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  403c42:	f7 c6 04 00 00 00    	test   $0x4,%esi
  403c48:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  403c4b:	8b 5d 08             	mov    0x8(%ebp),%ebx
  403c4e:	75 0c                	jne    403c5c <_fb_PrintUInt@12+0x2c>
  403c50:	f7 c6 01 00 00 00    	test   $0x1,%esi
  403c56:	0f 84 a4 00 00 00    	je     403d00 <_fb_PrintUInt@12+0xd0>
  403c5c:	89 44 24 08          	mov    %eax,0x8(%esp)
  403c60:	bf 1a b0 40 00       	mov    $0x40b01a,%edi
  403c65:	89 7c 24 04          	mov    %edi,0x4(%esp)
  403c69:	8d 7d 98             	lea    0xffffff98(%ebp),%edi
  403c6c:	89 3c 24             	mov    %edi,(%esp)
  403c6f:	e8 fc 51 00 00       	call   408e70 <_sprintf>
  403c74:	89 44 24 08          	mov    %eax,0x8(%esp)
  403c78:	85 db                	test   %ebx,%ebx
  403c7a:	b8 30 08 41 00       	mov    $0x410830,%eax
  403c7f:	89 7c 24 04          	mov    %edi,0x4(%esp)
  403c83:	74 23                	je     403ca8 <_fb_PrintUInt@12+0x78>
  403c85:	83 fb ff             	cmp    $0xffffffff,%ebx
  403c88:	b8 70 08 41 00       	mov    $0x410870,%eax
  403c8d:	74 19                	je     403ca8 <_fb_PrintUInt@12+0x78>
  403c8f:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
  403c92:	31 d2                	xor    %edx,%edx
  403c94:	3d fd 00 00 00       	cmp    $0xfd,%eax
  403c99:	77 0b                	ja     403ca6 <_fb_PrintUInt@12+0x76>
  403c9b:	89 d8                	mov    %ebx,%eax
  403c9d:	c1 e0 06             	shl    $0x6,%eax
  403ca0:	8d 90 70 08 41 00    	lea    0x410870(%eax),%edx
  403ca6:	89 d0                	mov    %edx,%eax
  403ca8:	89 04 24             	mov    %eax,(%esp)
  403cab:	e8 b0 1b 00 00       	call   405860 <_fb_hFilePrintBufferEx>
  403cb0:	f7 c6 02 00 00 00    	test   $0x2,%esi
  403cb6:	74 36                	je     403cee <_fb_PrintUInt@12+0xbe>
  403cb8:	89 74 24 04          	mov    %esi,0x4(%esp)
  403cbc:	85 db                	test   %ebx,%ebx
  403cbe:	b8 30 08 41 00       	mov    $0x410830,%eax
  403cc3:	74 21                	je     403ce6 <_fb_PrintUInt@12+0xb6>
  403cc5:	83 fb ff             	cmp    $0xffffffff,%ebx
  403cc8:	b8 70 08 41 00       	mov    $0x410870,%eax
  403ccd:	74 17                	je     403ce6 <_fb_PrintUInt@12+0xb6>
  403ccf:	8d 43 ff             	lea    0xffffffff(%ebx),%eax
  403cd2:	31 d2                	xor    %edx,%edx
  403cd4:	3d fd 00 00 00       	cmp    $0xfd,%eax
  403cd9:	77 09                	ja     403ce4 <_fb_PrintUInt@12+0xb4>
  403cdb:	c1 e3 06             	shl    $0x6,%ebx
  403cde:	8d 93 70 08 41 00    	lea    0x410870(%ebx),%edx
  403ce4:	89 d0                	mov    %edx,%eax
  403ce6:	89 04 24             	mov    %eax,(%esp)
  403ce9:	e8 42 1c 00 00       	call   405930 <_fb_PrintPadEx>
  403cee:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  403cf1:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  403cf4:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  403cf7:	89 ec                	mov    %ebp,%esp
  403cf9:	5d                   	pop    %ebp
  403cfa:	c2 0c 00             	ret    $0xc
  403cfd:	8d 76 00             	lea    0x0(%esi),%esi
  403d00:	89 44 24 08          	mov    %eax,0x8(%esp)
  403d04:	b9 1f b0 40 00       	mov    $0x40b01f,%ecx
  403d09:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  403d0d:	e9 57 ff ff ff       	jmp    403c69 <_fb_PrintUInt@12+0x39>
  403d12:	90                   	nop    
  403d13:	90                   	nop    
  403d14:	90                   	nop    
  403d15:	90                   	nop    
  403d16:	90                   	nop    
  403d17:	90                   	nop    
  403d18:	90                   	nop    
  403d19:	90                   	nop    
  403d1a:	90                   	nop    
  403d1b:	90                   	nop    
  403d1c:	90                   	nop    
  403d1d:	90                   	nop    
  403d1e:	90                   	nop    
  403d1f:	90                   	nop    

00403d20 <_fb_MutexCreate@0>:
  403d20:	55                   	push   %ebp
  403d21:	89 e5                	mov    %esp,%ebp
  403d23:	53                   	push   %ebx
  403d24:	83 ec 14             	sub    $0x14,%esp
  403d27:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
  403d2e:	e8 1d 51 00 00       	call   408e50 <_malloc>
  403d33:	89 c3                	mov    %eax,%ebx
  403d35:	31 c0                	xor    %eax,%eax
  403d37:	85 db                	test   %ebx,%ebx
  403d39:	74 2b                	je     403d66 <_fb_MutexCreate@0+0x46>
  403d3b:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  403d42:	31 c9                	xor    %ecx,%ecx
  403d44:	ba 01 00 00 00       	mov    $0x1,%edx
  403d49:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
  403d4d:	b8 01 00 00 00       	mov    $0x1,%eax
  403d52:	89 54 24 08          	mov    %edx,0x8(%esp)
  403d56:	89 44 24 04          	mov    %eax,0x4(%esp)
  403d5a:	e8 51 53 00 00       	call   4090b0 <_CreateSemaphoreA@16>
  403d5f:	89 03                	mov    %eax,(%ebx)
  403d61:	83 ec 10             	sub    $0x10,%esp
  403d64:	89 d8                	mov    %ebx,%eax
  403d66:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403d69:	c9                   	leave  
  403d6a:	c3                   	ret    
  403d6b:	90                   	nop    
  403d6c:	8d 74 26 00          	lea    0x0(%esi),%esi

00403d70 <_fb_MutexDestroy@4>:
  403d70:	55                   	push   %ebp
  403d71:	89 e5                	mov    %esp,%ebp
  403d73:	53                   	push   %ebx
  403d74:	83 ec 04             	sub    $0x4,%esp
  403d77:	8b 5d 08             	mov    0x8(%ebp),%ebx
  403d7a:	85 db                	test   %ebx,%ebx
  403d7c:	74 15                	je     403d93 <_fb_MutexDestroy@4+0x23>
  403d7e:	8b 03                	mov    (%ebx),%eax
  403d80:	89 04 24             	mov    %eax,(%esp)
  403d83:	e8 38 53 00 00       	call   4090c0 <_CloseHandle@4>
  403d88:	83 ec 04             	sub    $0x4,%esp
  403d8b:	89 1c 24             	mov    %ebx,(%esp)
  403d8e:	e8 ad 50 00 00       	call   408e40 <_free>
  403d93:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403d96:	c9                   	leave  
  403d97:	c2 04 00             	ret    $0x4
  403d9a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00403da0 <_fb_MutexLock@4>:
  403da0:	55                   	push   %ebp
  403da1:	89 e5                	mov    %esp,%ebp
  403da3:	83 ec 08             	sub    $0x8,%esp
  403da6:	8b 45 08             	mov    0x8(%ebp),%eax
  403da9:	85 c0                	test   %eax,%eax
  403dab:	74 16                	je     403dc3 <_fb_MutexLock@4+0x23>
  403dad:	ba ff ff ff ff       	mov    $0xffffffff,%edx
  403db2:	89 54 24 04          	mov    %edx,0x4(%esp)
  403db6:	8b 00                	mov    (%eax),%eax
  403db8:	89 04 24             	mov    %eax,(%esp)
  403dbb:	e8 10 53 00 00       	call   4090d0 <_WaitForSingleObject@8>
  403dc0:	83 ec 08             	sub    $0x8,%esp
  403dc3:	c9                   	leave  
  403dc4:	c2 04 00             	ret    $0x4
  403dc7:	89 f6                	mov    %esi,%esi
  403dc9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00403dd0 <_fb_MutexUnlock@4>:
  403dd0:	55                   	push   %ebp
  403dd1:	89 e5                	mov    %esp,%ebp
  403dd3:	83 ec 18             	sub    $0x18,%esp
  403dd6:	8b 45 08             	mov    0x8(%ebp),%eax
  403dd9:	85 c0                	test   %eax,%eax
  403ddb:	74 1c                	je     403df9 <_fb_MutexUnlock@4+0x29>
  403ddd:	31 d2                	xor    %edx,%edx
  403ddf:	b9 01 00 00 00       	mov    $0x1,%ecx
  403de4:	89 54 24 08          	mov    %edx,0x8(%esp)
  403de8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  403dec:	8b 00                	mov    (%eax),%eax
  403dee:	89 04 24             	mov    %eax,(%esp)
  403df1:	e8 ea 52 00 00       	call   4090e0 <_ReleaseSemaphore@12>
  403df6:	83 ec 0c             	sub    $0xc,%esp
  403df9:	c9                   	leave  
  403dfa:	c2 04 00             	ret    $0x4
  403dfd:	90                   	nop    
  403dfe:	90                   	nop    
  403dff:	90                   	nop    

00403e00 <_fb_GetY@0>:
  403e00:	55                   	push   %ebp
  403e01:	89 e5                	mov    %esp,%ebp
  403e03:	53                   	push   %ebx
  403e04:	83 ec 04             	sub    $0x4,%esp
  403e07:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403e0e:	e8 7d 52 00 00       	call   409090 <_EnterCriticalSection@4>
  403e13:	a1 cc 07 41 00       	mov    0x4107cc,%eax
  403e18:	83 ec 04             	sub    $0x4,%esp
  403e1b:	85 c0                	test   %eax,%eax
  403e1d:	74 21                	je     403e40 <_fb_GetY@0+0x40>
  403e1f:	ff d0                	call   *%eax
  403e21:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403e28:	89 c3                	mov    %eax,%ebx
  403e2a:	e8 71 52 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  403e2f:	83 ec 04             	sub    $0x4,%esp
  403e32:	89 d8                	mov    %ebx,%eax
  403e34:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403e37:	c9                   	leave  
  403e38:	c3                   	ret    
  403e39:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  403e40:	e8 7b 1c 00 00       	call   405ac0 <_fb_ConsoleGetY>
  403e45:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403e4c:	89 c3                	mov    %eax,%ebx
  403e4e:	e8 4d 52 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  403e53:	83 ec 04             	sub    $0x4,%esp
  403e56:	89 d8                	mov    %ebx,%eax
  403e58:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403e5b:	c9                   	leave  
  403e5c:	c3                   	ret    
  403e5d:	90                   	nop    
  403e5e:	90                   	nop    
  403e5f:	90                   	nop    

00403e60 <_fb_GetX@0>:
  403e60:	55                   	push   %ebp
  403e61:	89 e5                	mov    %esp,%ebp
  403e63:	53                   	push   %ebx
  403e64:	83 ec 04             	sub    $0x4,%esp
  403e67:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403e6e:	e8 1d 52 00 00       	call   409090 <_EnterCriticalSection@4>
  403e73:	a1 c8 07 41 00       	mov    0x4107c8,%eax
  403e78:	83 ec 04             	sub    $0x4,%esp
  403e7b:	85 c0                	test   %eax,%eax
  403e7d:	74 21                	je     403ea0 <_fb_GetX@0+0x40>
  403e7f:	ff d0                	call   *%eax
  403e81:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403e88:	89 c3                	mov    %eax,%ebx
  403e8a:	e8 11 52 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  403e8f:	83 ec 04             	sub    $0x4,%esp
  403e92:	89 d8                	mov    %ebx,%eax
  403e94:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403e97:	c9                   	leave  
  403e98:	c3                   	ret    
  403e99:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  403ea0:	e8 ab 1c 00 00       	call   405b50 <_fb_ConsoleGetX>
  403ea5:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403eac:	89 c3                	mov    %eax,%ebx
  403eae:	e8 ed 51 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  403eb3:	83 ec 04             	sub    $0x4,%esp
  403eb6:	89 d8                	mov    %ebx,%eax
  403eb8:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403ebb:	c9                   	leave  
  403ebc:	c3                   	ret    
  403ebd:	90                   	nop    
  403ebe:	90                   	nop    
  403ebf:	90                   	nop    

00403ec0 <_fb_Locate@20>:
  403ec0:	55                   	push   %ebp
  403ec1:	89 e5                	mov    %esp,%ebp
  403ec3:	83 ec 28             	sub    $0x28,%esp
  403ec6:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  403ec9:	8b 75 10             	mov    0x10(%ebp),%esi
  403ecc:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  403ecf:	8d 5d f4             	lea    0xfffffff4(%ebp),%ebx
  403ed2:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  403ed6:	89 74 24 08          	mov    %esi,0x8(%esp)
  403eda:	8b 45 0c             	mov    0xc(%ebp),%eax
  403edd:	89 44 24 04          	mov    %eax,0x4(%esp)
  403ee1:	8b 45 08             	mov    0x8(%ebp),%eax
  403ee4:	89 04 24             	mov    %eax,(%esp)
  403ee7:	e8 a4 1c 00 00       	call   405b90 <_fb_LocateEx@16>
  403eec:	83 ec 10             	sub    $0x10,%esp
  403eef:	85 c0                	test   %eax,%eax
  403ef1:	75 0f                	jne    403f02 <_fb_Locate@20+0x42>
  403ef3:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  403ef6:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  403ef9:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  403efc:	89 ec                	mov    %ebp,%esp
  403efe:	5d                   	pop    %ebp
  403eff:	c2 14 00             	ret    $0x14
  403f02:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  403f06:	31 c0                	xor    %eax,%eax
  403f08:	89 74 24 08          	mov    %esi,0x8(%esp)
  403f0c:	89 44 24 04          	mov    %eax,0x4(%esp)
  403f10:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  403f17:	e8 74 1c 00 00       	call   405b90 <_fb_LocateEx@16>
  403f1c:	83 ec 10             	sub    $0x10,%esp
  403f1f:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  403f22:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  403f25:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  403f28:	89 ec                	mov    %ebp,%esp
  403f2a:	5d                   	pop    %ebp
  403f2b:	c2 14 00             	ret    $0x14
  403f2e:	90                   	nop    
  403f2f:	90                   	nop    

00403f30 <_fb_SPACE@4>:
  403f30:	55                   	push   %ebp
  403f31:	89 e5                	mov    %esp,%ebp
  403f33:	83 ec 18             	sub    $0x18,%esp
  403f36:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  403f39:	8b 75 08             	mov    0x8(%ebp),%esi
  403f3c:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  403f3f:	bb 98 07 41 00       	mov    $0x410798,%ebx
  403f44:	85 f6                	test   %esi,%esi
  403f46:	7e 36                	jle    403f7e <_fb_SPACE@4+0x4e>
  403f48:	89 74 24 04          	mov    %esi,0x4(%esp)
  403f4c:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  403f53:	e8 b8 16 00 00       	call   405610 <_fb_hStrAllocTemp@8>
  403f58:	83 ec 08             	sub    $0x8,%esp
  403f5b:	85 c0                	test   %eax,%eax
  403f5d:	89 c3                	mov    %eax,%ebx
  403f5f:	74 2f                	je     403f90 <_fb_SPACE@4+0x60>
  403f61:	89 74 24 08          	mov    %esi,0x8(%esp)
  403f65:	b8 20 00 00 00       	mov    $0x20,%eax
  403f6a:	89 44 24 04          	mov    %eax,0x4(%esp)
  403f6e:	8b 03                	mov    (%ebx),%eax
  403f70:	89 04 24             	mov    %eax,(%esp)
  403f73:	e8 98 4e 00 00       	call   408e10 <_memset>
  403f78:	8b 03                	mov    (%ebx),%eax
  403f7a:	c6 04 06 00          	movb   $0x0,(%esi,%eax,1)
  403f7e:	89 d8                	mov    %ebx,%eax
  403f80:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  403f83:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  403f86:	89 ec                	mov    %ebp,%esp
  403f88:	5d                   	pop    %ebp
  403f89:	c2 04 00             	ret    $0x4
  403f8c:	8d 74 26 00          	lea    0x0(%esi),%esi
  403f90:	bb 98 07 41 00       	mov    $0x410798,%ebx
  403f95:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  403f98:	89 d8                	mov    %ebx,%eax
  403f9a:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  403f9d:	89 ec                	mov    %ebp,%esp
  403f9f:	5d                   	pop    %ebp
  403fa0:	c2 04 00             	ret    $0x4
  403fa3:	90                   	nop    
  403fa4:	90                   	nop    
  403fa5:	90                   	nop    
  403fa6:	90                   	nop    
  403fa7:	90                   	nop    
  403fa8:	90                   	nop    
  403fa9:	90                   	nop    
  403faa:	90                   	nop    
  403fab:	90                   	nop    
  403fac:	90                   	nop    
  403fad:	90                   	nop    
  403fae:	90                   	nop    
  403faf:	90                   	nop    

00403fb0 <_fb_Inkey@0>:
  403fb0:	55                   	push   %ebp
  403fb1:	89 e5                	mov    %esp,%ebp
  403fb3:	53                   	push   %ebx
  403fb4:	83 ec 04             	sub    $0x4,%esp
  403fb7:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403fbe:	e8 cd 50 00 00       	call   409090 <_EnterCriticalSection@4>
  403fc3:	a1 ac 07 41 00       	mov    0x4107ac,%eax
  403fc8:	83 ec 04             	sub    $0x4,%esp
  403fcb:	85 c0                	test   %eax,%eax
  403fcd:	74 21                	je     403ff0 <_fb_Inkey@0+0x40>
  403fcf:	ff d0                	call   *%eax
  403fd1:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403fd8:	89 c3                	mov    %eax,%ebx
  403fda:	e8 c1 50 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  403fdf:	83 ec 04             	sub    $0x4,%esp
  403fe2:	89 d8                	mov    %ebx,%eax
  403fe4:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  403fe7:	c9                   	leave  
  403fe8:	c3                   	ret    
  403fe9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  403ff0:	e8 9b 1c 00 00       	call   405c90 <_fb_ConsoleInkey>
  403ff5:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  403ffc:	89 c3                	mov    %eax,%ebx
  403ffe:	e8 9d 50 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404003:	83 ec 04             	sub    $0x4,%esp
  404006:	89 d8                	mov    %ebx,%eax
  404008:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40400b:	c9                   	leave  
  40400c:	c3                   	ret    
  40400d:	8d 76 00             	lea    0x0(%esi),%esi

00404010 <_fb_Getkey@0>:
  404010:	55                   	push   %ebp
  404011:	89 e5                	mov    %esp,%ebp
  404013:	53                   	push   %ebx
  404014:	83 ec 04             	sub    $0x4,%esp
  404017:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40401e:	e8 6d 50 00 00       	call   409090 <_EnterCriticalSection@4>
  404023:	a1 b0 07 41 00       	mov    0x4107b0,%eax
  404028:	83 ec 04             	sub    $0x4,%esp
  40402b:	85 c0                	test   %eax,%eax
  40402d:	74 21                	je     404050 <_fb_Getkey@0+0x40>
  40402f:	ff d0                	call   *%eax
  404031:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  404038:	89 c3                	mov    %eax,%ebx
  40403a:	e8 61 50 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40403f:	83 ec 04             	sub    $0x4,%esp
  404042:	89 d8                	mov    %ebx,%eax
  404044:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  404047:	c9                   	leave  
  404048:	c3                   	ret    
  404049:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404050:	e8 eb 1c 00 00       	call   405d40 <_fb_ConsoleGetkey>
  404055:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40405c:	89 c3                	mov    %eax,%ebx
  40405e:	e8 3d 50 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404063:	83 ec 04             	sub    $0x4,%esp
  404066:	89 d8                	mov    %ebx,%eax
  404068:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40406b:	c9                   	leave  
  40406c:	c3                   	ret    
  40406d:	8d 76 00             	lea    0x0(%esi),%esi

00404070 <_fb_KeyHit@0>:
  404070:	55                   	push   %ebp
  404071:	89 e5                	mov    %esp,%ebp
  404073:	53                   	push   %ebx
  404074:	83 ec 04             	sub    $0x4,%esp
  404077:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40407e:	e8 0d 50 00 00       	call   409090 <_EnterCriticalSection@4>
  404083:	a1 b4 07 41 00       	mov    0x4107b4,%eax
  404088:	83 ec 04             	sub    $0x4,%esp
  40408b:	85 c0                	test   %eax,%eax
  40408d:	74 21                	je     4040b0 <_fb_KeyHit@0+0x40>
  40408f:	ff d0                	call   *%eax
  404091:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  404098:	89 c3                	mov    %eax,%ebx
  40409a:	e8 01 50 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40409f:	83 ec 04             	sub    $0x4,%esp
  4040a2:	89 d8                	mov    %ebx,%eax
  4040a4:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4040a7:	c9                   	leave  
  4040a8:	c3                   	ret    
  4040a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4040b0:	e8 fb 1c 00 00       	call   405db0 <_fb_ConsoleKeyHit>
  4040b5:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4040bc:	89 c3                	mov    %eax,%ebx
  4040be:	e8 dd 4f 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4040c3:	83 ec 04             	sub    $0x4,%esp
  4040c6:	89 d8                	mov    %ebx,%eax
  4040c8:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4040cb:	c9                   	leave  
  4040cc:	c3                   	ret    
  4040cd:	90                   	nop    
  4040ce:	90                   	nop    
  4040cf:	90                   	nop    

004040d0 <_fb_ASC@8>:
  4040d0:	55                   	push   %ebp
  4040d1:	31 c0                	xor    %eax,%eax
  4040d3:	89 e5                	mov    %esp,%ebp
  4040d5:	83 ec 18             	sub    $0x18,%esp
  4040d8:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4040db:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  4040de:	8b 7d 0c             	mov    0xc(%ebp),%edi
  4040e1:	85 c9                	test   %ecx,%ecx
  4040e3:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  4040e6:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  4040e9:	74 28                	je     404113 <_fb_ASC@8+0x43>
  4040eb:	8b 31                	mov    (%ecx),%esi
  4040ed:	8b 59 04             	mov    0x4(%ecx),%ebx
  4040f0:	85 f6                	test   %esi,%esi
  4040f2:	0f 94 c0             	sete   %al
  4040f5:	81 e3 ff ff ff 7f    	and    $0x7fffffff,%ebx
  4040fb:	0f 94 c2             	sete   %dl
  4040fe:	09 d0                	or     %edx,%eax
  404100:	a8 01                	test   $0x1,%al
  404102:	74 1e                	je     404122 <_fb_ASC@8+0x52>
  404104:	31 db                	xor    %ebx,%ebx
  404106:	89 0c 24             	mov    %ecx,(%esp)
  404109:	e8 92 15 00 00       	call   4056a0 <_fb_hStrDelTemp@4>
  40410e:	83 ec 04             	sub    $0x4,%esp
  404111:	89 d8                	mov    %ebx,%eax
  404113:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  404116:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404119:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  40411c:	89 ec                	mov    %ebp,%esp
  40411e:	5d                   	pop    %ebp
  40411f:	c2 08 00             	ret    $0x8
  404122:	85 ff                	test   %edi,%edi
  404124:	0f 9e c0             	setle  %al
  404127:	39 df                	cmp    %ebx,%edi
  404129:	0f 9f c2             	setg   %dl
  40412c:	09 d0                	or     %edx,%eax
  40412e:	a8 01                	test   $0x1,%al
  404130:	75 d2                	jne    404104 <_fb_ASC@8+0x34>
  404132:	0f b6 5c 3e ff       	movzbl 0xffffffff(%esi,%edi,1),%ebx
  404137:	eb cd                	jmp    404106 <_fb_ASC@8+0x36>
  404139:	90                   	nop    
  40413a:	90                   	nop    
  40413b:	90                   	nop    
  40413c:	90                   	nop    
  40413d:	90                   	nop    
  40413e:	90                   	nop    
  40413f:	90                   	nop    

00404140 <_fb_StrLen@8>:
  404140:	55                   	push   %ebp
  404141:	31 c0                	xor    %eax,%eax
  404143:	89 e5                	mov    %esp,%ebp
  404145:	53                   	push   %ebx
  404146:	83 ec 04             	sub    $0x4,%esp
  404149:	8b 55 08             	mov    0x8(%ebp),%edx
  40414c:	85 d2                	test   %edx,%edx
  40414e:	74 12                	je     404162 <_fb_StrLen@8+0x22>
  404150:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  404154:	74 1a                	je     404170 <_fb_StrLen@8+0x30>
  404156:	89 14 24             	mov    %edx,(%esp)
  404159:	e8 02 4d 00 00       	call   408e60 <_strlen>
  40415e:	89 c3                	mov    %eax,%ebx
  404160:	89 d8                	mov    %ebx,%eax
  404162:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  404165:	c9                   	leave  
  404166:	c2 08 00             	ret    $0x8
  404169:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404170:	8b 5a 04             	mov    0x4(%edx),%ebx
  404173:	89 14 24             	mov    %edx,(%esp)
  404176:	e8 25 15 00 00       	call   4056a0 <_fb_hStrDelTemp@4>
  40417b:	81 e3 ff ff ff 7f    	and    $0x7fffffff,%ebx
  404181:	83 ec 04             	sub    $0x4,%esp
  404184:	eb da                	jmp    404160 <_fb_StrLen@8+0x20>
  404186:	90                   	nop    
  404187:	90                   	nop    
  404188:	90                   	nop    
  404189:	90                   	nop    
  40418a:	90                   	nop    
  40418b:	90                   	nop    
  40418c:	90                   	nop    
  40418d:	90                   	nop    
  40418e:	90                   	nop    
  40418f:	90                   	nop    

00404190 <_fb_LEFT@8>:
  404190:	55                   	push   %ebp
  404191:	b8 98 07 41 00       	mov    $0x410798,%eax
  404196:	89 e5                	mov    %esp,%ebp
  404198:	83 ec 18             	sub    $0x18,%esp
  40419b:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  40419e:	8b 7d 08             	mov    0x8(%ebp),%edi
  4041a1:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  4041a4:	8b 75 0c             	mov    0xc(%ebp),%esi
  4041a7:	85 ff                	test   %edi,%edi
  4041a9:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  4041ac:	74 4b                	je     4041f9 <_fb_LEFT@8+0x69>
  4041ae:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4041b5:	e8 d6 4e 00 00       	call   409090 <_EnterCriticalSection@4>
  4041ba:	8b 07                	mov    (%edi),%eax
  4041bc:	83 ec 04             	sub    $0x4,%esp
  4041bf:	8b 4f 04             	mov    0x4(%edi),%ecx
  4041c2:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
  4041c8:	85 c0                	test   %eax,%eax
  4041ca:	0f 95 c0             	setne  %al
  4041cd:	31 d2                	xor    %edx,%edx
  4041cf:	85 f6                	test   %esi,%esi
  4041d1:	0f 9f c2             	setg   %dl
  4041d4:	85 d0                	test   %edx,%eax
  4041d6:	75 30                	jne    404208 <_fb_LEFT@8+0x78>
  4041d8:	be 98 07 41 00       	mov    $0x410798,%esi
  4041dd:	89 3c 24             	mov    %edi,(%esp)
  4041e0:	e8 7b 14 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  4041e5:	83 ec 04             	sub    $0x4,%esp
  4041e8:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4041ef:	e8 ac 4e 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4041f4:	83 ec 04             	sub    $0x4,%esp
  4041f7:	89 f0                	mov    %esi,%eax
  4041f9:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  4041fc:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  4041ff:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404202:	89 ec                	mov    %ebp,%esp
  404204:	5d                   	pop    %ebp
  404205:	c2 08 00             	ret    $0x8
  404208:	85 c9                	test   %ecx,%ecx
  40420a:	7e cc                	jle    4041d8 <_fb_LEFT@8+0x48>
  40420c:	39 ce                	cmp    %ecx,%esi
  40420e:	89 cb                	mov    %ecx,%ebx
  404210:	7e 32                	jle    404244 <_fb_LEFT@8+0xb4>
  404212:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  404216:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40421d:	e8 7e 13 00 00       	call   4055a0 <_fb_hStrAllocTemp_NoLock@8>
  404222:	83 ec 08             	sub    $0x8,%esp
  404225:	85 c0                	test   %eax,%eax
  404227:	89 c6                	mov    %eax,%esi
  404229:	74 ad                	je     4041d8 <_fb_LEFT@8+0x48>
  40422b:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  40422f:	8b 07                	mov    (%edi),%eax
  404231:	89 44 24 04          	mov    %eax,0x4(%esp)
  404235:	8b 06                	mov    (%esi),%eax
  404237:	89 04 24             	mov    %eax,(%esp)
  40423a:	e8 a1 14 00 00       	call   4056e0 <_fb_hStrCopy@12>
  40423f:	83 ec 0c             	sub    $0xc,%esp
  404242:	eb 99                	jmp    4041dd <_fb_LEFT@8+0x4d>
  404244:	89 f3                	mov    %esi,%ebx
  404246:	eb ca                	jmp    404212 <_fb_LEFT@8+0x82>
  404248:	90                   	nop    
  404249:	90                   	nop    
  40424a:	90                   	nop    
  40424b:	90                   	nop    
  40424c:	90                   	nop    
  40424d:	90                   	nop    
  40424e:	90                   	nop    
  40424f:	90                   	nop    

00404250 <_fb_StrAssignEx@24>:
  404250:	55                   	push   %ebp
  404251:	89 e5                	mov    %esp,%ebp
  404253:	83 ec 28             	sub    $0x28,%esp
  404256:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  404259:	8b 75 08             	mov    0x8(%ebp),%esi
  40425c:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  40425f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  404262:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  404265:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  40426c:	e8 1f 4e 00 00       	call   409090 <_EnterCriticalSection@4>
  404271:	83 ec 04             	sub    $0x4,%esp
  404274:	85 f6                	test   %esi,%esi
  404276:	0f 84 7b 01 00 00    	je     4043f7 <_fb_StrAssignEx@24+0x1a7>
  40427c:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  404283:	8b 45 10             	mov    0x10(%ebp),%eax
  404286:	31 ff                	xor    %edi,%edi
  404288:	85 c0                	test   %eax,%eax
  40428a:	74 1a                	je     4042a6 <_fb_StrAssignEx@24+0x56>
  40428c:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  404290:	0f 84 1d 01 00 00    	je     4043b3 <_fb_StrAssignEx@24+0x163>
  404296:	8b 55 10             	mov    0x10(%ebp),%edx
  404299:	89 55 f0             	mov    %edx,0xfffffff0(%ebp)
  40429c:	89 14 24             	mov    %edx,(%esp)
  40429f:	e8 bc 4b 00 00       	call   408e60 <_strlen>
  4042a4:	89 c7                	mov    %eax,%edi
  4042a6:	83 fb ff             	cmp    $0xffffffff,%ebx
  4042a9:	0f 84 91 00 00 00    	je     404340 <_fb_StrAssignEx@24+0xf0>
  4042af:	85 ff                	test   %edi,%edi
  4042b1:	75 5d                	jne    404310 <_fb_StrAssignEx@24+0xc0>
  4042b3:	c6 06 00             	movb   $0x0,(%esi)
  4042b6:	8b 4d 18             	mov    0x18(%ebp),%ecx
  4042b9:	85 c9                	test   %ecx,%ecx
  4042bb:	74 23                	je     4042e0 <_fb_StrAssignEx@24+0x90>
  4042bd:	29 fb                	sub    %edi,%ebx
  4042bf:	85 db                	test   %ebx,%ebx
  4042c1:	7e 1d                	jle    4042e0 <_fb_StrAssignEx@24+0x90>
  4042c3:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  4042c7:	8d 04 37             	lea    (%edi,%esi,1),%eax
  4042ca:	31 d2                	xor    %edx,%edx
  4042cc:	89 54 24 04          	mov    %edx,0x4(%esp)
  4042d0:	89 04 24             	mov    %eax,(%esp)
  4042d3:	e8 38 4b 00 00       	call   408e10 <_memset>
  4042d8:	90                   	nop    
  4042d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4042e0:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  4042e4:	0f 84 b6 00 00 00    	je     4043a0 <_fb_StrAssignEx@24+0x150>
  4042ea:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4042f1:	e8 aa 4d 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4042f6:	83 ec 04             	sub    $0x4,%esp
  4042f9:	89 f0                	mov    %esi,%eax
  4042fb:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  4042fe:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404301:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404304:	89 ec                	mov    %ebp,%esp
  404306:	5d                   	pop    %ebp
  404307:	c2 18 00             	ret    $0x18
  40430a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  404310:	85 db                	test   %ebx,%ebx
  404312:	0f 84 b8 00 00 00    	je     4043d0 <_fb_StrAssignEx@24+0x180>
  404318:	4b                   	dec    %ebx
  404319:	39 fb                	cmp    %edi,%ebx
  40431b:	7d 03                	jge    404320 <_fb_StrAssignEx@24+0xd0>
  40431d:	89 df                	mov    %ebx,%edi
  40431f:	90                   	nop    
  404320:	89 7c 24 08          	mov    %edi,0x8(%esp)
  404324:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  404327:	89 34 24             	mov    %esi,(%esp)
  40432a:	89 54 24 04          	mov    %edx,0x4(%esp)
  40432e:	e8 ad 13 00 00       	call   4056e0 <_fb_hStrCopy@12>
  404333:	83 ec 0c             	sub    $0xc,%esp
  404336:	e9 7b ff ff ff       	jmp    4042b6 <_fb_StrAssignEx@24+0x66>
  40433b:	90                   	nop    
  40433c:	8d 74 26 00          	lea    0x0(%esi),%esi
  404340:	85 ff                	test   %edi,%edi
  404342:	0f 84 8f 00 00 00    	je     4043d7 <_fb_StrAssignEx@24+0x187>
  404348:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  40434c:	0f 84 df 00 00 00    	je     404431 <_fb_StrAssignEx@24+0x1e1>
  404352:	8b 45 1c             	mov    0x1c(%ebp),%eax
  404355:	85 c0                	test   %eax,%eax
  404357:	0f 85 1e 01 00 00    	jne    40447b <_fb_StrAssignEx@24+0x22b>
  40435d:	8b 46 04             	mov    0x4(%esi),%eax
  404360:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
  404365:	39 f8                	cmp    %edi,%eax
  404367:	74 15                	je     40437e <_fb_StrAssignEx@24+0x12e>
  404369:	89 7c 24 04          	mov    %edi,0x4(%esp)
  40436d:	31 db                	xor    %ebx,%ebx
  40436f:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  404373:	89 34 24             	mov    %esi,(%esp)
  404376:	e8 35 11 00 00       	call   4054b0 <_fb_hStrRealloc@12>
  40437b:	83 ec 0c             	sub    $0xc,%esp
  40437e:	89 7c 24 08          	mov    %edi,0x8(%esp)
  404382:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  404385:	89 44 24 04          	mov    %eax,0x4(%esp)
  404389:	8b 06                	mov    (%esi),%eax
  40438b:	89 04 24             	mov    %eax,(%esp)
  40438e:	e8 4d 13 00 00       	call   4056e0 <_fb_hStrCopy@12>
  404393:	83 ec 0c             	sub    $0xc,%esp
  404396:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  40439a:	0f 85 4a ff ff ff    	jne    4042ea <_fb_StrAssignEx@24+0x9a>
  4043a0:	8b 45 10             	mov    0x10(%ebp),%eax
  4043a3:	89 04 24             	mov    %eax,(%esp)
  4043a6:	e8 b5 12 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  4043ab:	83 ec 04             	sub    $0x4,%esp
  4043ae:	e9 37 ff ff ff       	jmp    4042ea <_fb_StrAssignEx@24+0x9a>
  4043b3:	8b 45 10             	mov    0x10(%ebp),%eax
  4043b6:	8b 55 10             	mov    0x10(%ebp),%edx
  4043b9:	8b 78 04             	mov    0x4(%eax),%edi
  4043bc:	8b 12                	mov    (%edx),%edx
  4043be:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
  4043c4:	89 55 f0             	mov    %edx,0xfffffff0(%ebp)
  4043c7:	e9 da fe ff ff       	jmp    4042a6 <_fb_StrAssignEx@24+0x56>
  4043cc:	8d 74 26 00          	lea    0x0(%esi),%esi
  4043d0:	89 fb                	mov    %edi,%ebx
  4043d2:	e9 49 ff ff ff       	jmp    404320 <_fb_StrAssignEx@24+0xd0>
  4043d7:	8b 45 1c             	mov    0x1c(%ebp),%eax
  4043da:	85 c0                	test   %eax,%eax
  4043dc:	74 43                	je     404421 <_fb_StrAssignEx@24+0x1d1>
  4043de:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
  4043e4:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
  4043eb:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
  4043f2:	e9 e9 fe ff ff       	jmp    4042e0 <_fb_StrAssignEx@24+0x90>
  4043f7:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  4043fb:	0f 84 8e 00 00 00    	je     40448f <_fb_StrAssignEx@24+0x23f>
  404401:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404408:	e8 93 4c 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40440d:	83 ec 04             	sub    $0x4,%esp
  404410:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  404413:	31 c0                	xor    %eax,%eax
  404415:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404418:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  40441b:	89 ec                	mov    %ebp,%esp
  40441d:	5d                   	pop    %ebp
  40441e:	c2 18 00             	ret    $0x18
  404421:	89 34 24             	mov    %esi,(%esp)
  404424:	e8 27 04 00 00       	call   404850 <_fb_StrDelete@4>
  404429:	83 ec 04             	sub    $0x4,%esp
  40442c:	e9 af fe ff ff       	jmp    4042e0 <_fb_StrAssignEx@24+0x90>
  404431:	8b 45 10             	mov    0x10(%ebp),%eax
  404434:	8b 40 04             	mov    0x4(%eax),%eax
  404437:	85 c0                	test   %eax,%eax
  404439:	0f 89 13 ff ff ff    	jns    404352 <_fb_StrAssignEx@24+0x102>
  40443f:	8b 45 1c             	mov    0x1c(%ebp),%eax
  404442:	85 c0                	test   %eax,%eax
  404444:	74 5c                	je     4044a2 <_fb_StrAssignEx@24+0x252>
  404446:	89 7e 04             	mov    %edi,0x4(%esi)
  404449:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  40444c:	89 16                	mov    %edx,(%esi)
  40444e:	8b 55 10             	mov    0x10(%ebp),%edx
  404451:	8b 42 08             	mov    0x8(%edx),%eax
  404454:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
  40445a:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
  404461:	89 46 08             	mov    %eax,0x8(%esi)
  404464:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
  40446b:	89 14 24             	mov    %edx,(%esp)
  40446e:	e8 8d 0f 00 00       	call   405400 <_fb_hStrDelTempDesc@4>
  404473:	83 ec 04             	sub    $0x4,%esp
  404476:	e9 6f fe ff ff       	jmp    4042ea <_fb_StrAssignEx@24+0x9a>
  40447b:	89 7c 24 04          	mov    %edi,0x4(%esp)
  40447f:	89 34 24             	mov    %esi,(%esp)
  404482:	e8 b9 0f 00 00       	call   405440 <_fb_hStrAlloc@8>
  404487:	83 ec 08             	sub    $0x8,%esp
  40448a:	e9 ef fe ff ff       	jmp    40437e <_fb_StrAssignEx@24+0x12e>
  40448f:	8b 45 10             	mov    0x10(%ebp),%eax
  404492:	89 04 24             	mov    %eax,(%esp)
  404495:	e8 c6 11 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  40449a:	83 ec 04             	sub    $0x4,%esp
  40449d:	e9 5f ff ff ff       	jmp    404401 <_fb_StrAssignEx@24+0x1b1>
  4044a2:	89 34 24             	mov    %esi,(%esp)
  4044a5:	e8 a6 03 00 00       	call   404850 <_fb_StrDelete@4>
  4044aa:	83 ec 04             	sub    $0x4,%esp
  4044ad:	eb 97                	jmp    404446 <_fb_StrAssignEx@24+0x1f6>
  4044af:	90                   	nop    

004044b0 <_fb_StrAssign@20>:
  4044b0:	55                   	push   %ebp
  4044b1:	31 c0                	xor    %eax,%eax
  4044b3:	89 e5                	mov    %esp,%ebp
  4044b5:	83 ec 18             	sub    $0x18,%esp
  4044b8:	89 44 24 14          	mov    %eax,0x14(%esp)
  4044bc:	8b 45 18             	mov    0x18(%ebp),%eax
  4044bf:	89 44 24 10          	mov    %eax,0x10(%esp)
  4044c3:	8b 45 14             	mov    0x14(%ebp),%eax
  4044c6:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4044ca:	8b 45 10             	mov    0x10(%ebp),%eax
  4044cd:	89 44 24 08          	mov    %eax,0x8(%esp)
  4044d1:	8b 45 0c             	mov    0xc(%ebp),%eax
  4044d4:	89 44 24 04          	mov    %eax,0x4(%esp)
  4044d8:	8b 45 08             	mov    0x8(%ebp),%eax
  4044db:	89 04 24             	mov    %eax,(%esp)
  4044de:	e8 6d fd ff ff       	call   404250 <_fb_StrAssignEx@24>
  4044e3:	83 ec 18             	sub    $0x18,%esp
  4044e6:	c9                   	leave  
  4044e7:	c2 14 00             	ret    $0x14
  4044ea:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

004044f0 <_fb_StrInit@20>:
  4044f0:	55                   	push   %ebp
  4044f1:	ba ff ff ff ff       	mov    $0xffffffff,%edx
  4044f6:	89 e5                	mov    %esp,%ebp
  4044f8:	83 ec 18             	sub    $0x18,%esp
  4044fb:	8b 45 18             	mov    0x18(%ebp),%eax
  4044fe:	89 54 24 14          	mov    %edx,0x14(%esp)
  404502:	89 44 24 10          	mov    %eax,0x10(%esp)
  404506:	8b 45 14             	mov    0x14(%ebp),%eax
  404509:	89 44 24 0c          	mov    %eax,0xc(%esp)
  40450d:	8b 45 10             	mov    0x10(%ebp),%eax
  404510:	89 44 24 08          	mov    %eax,0x8(%esp)
  404514:	8b 45 0c             	mov    0xc(%ebp),%eax
  404517:	89 44 24 04          	mov    %eax,0x4(%esp)
  40451b:	8b 45 08             	mov    0x8(%ebp),%eax
  40451e:	89 04 24             	mov    %eax,(%esp)
  404521:	e8 2a fd ff ff       	call   404250 <_fb_StrAssignEx@24>
  404526:	83 ec 18             	sub    $0x18,%esp
  404529:	c9                   	leave  
  40452a:	c2 14 00             	ret    $0x14
  40452d:	90                   	nop    
  40452e:	90                   	nop    
  40452f:	90                   	nop    

00404530 <_fb_CHR>:
  404530:	55                   	push   %ebp
  404531:	b8 98 07 41 00       	mov    $0x410798,%eax
  404536:	89 e5                	mov    %esp,%ebp
  404538:	83 ec 18             	sub    $0x18,%esp
  40453b:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  40453e:	8b 7d 08             	mov    0x8(%ebp),%edi
  404541:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  404544:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  404547:	85 ff                	test   %edi,%edi
  404549:	7e 3e                	jle    404589 <_fb_CHR+0x59>
  40454b:	89 7c 24 04          	mov    %edi,0x4(%esp)
  40454f:	8d 75 0c             	lea    0xc(%ebp),%esi
  404552:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  404559:	e8 b2 10 00 00       	call   405610 <_fb_hStrAllocTemp@8>
  40455e:	83 ec 08             	sub    $0x8,%esp
  404561:	85 c0                	test   %eax,%eax
  404563:	89 c3                	mov    %eax,%ebx
  404565:	74 2f                	je     404596 <_fb_CHR+0x66>
  404567:	31 c9                	xor    %ecx,%ecx
  404569:	eb 12                	jmp    40457d <_fb_CHR+0x4d>
  40456b:	90                   	nop    
  40456c:	8d 74 26 00          	lea    0x0(%esi),%esi
  404570:	89 f0                	mov    %esi,%eax
  404572:	8b 10                	mov    (%eax),%edx
  404574:	83 c6 04             	add    $0x4,%esi
  404577:	8b 03                	mov    (%ebx),%eax
  404579:	88 14 01             	mov    %dl,(%ecx,%eax,1)
  40457c:	41                   	inc    %ecx
  40457d:	39 f9                	cmp    %edi,%ecx
  40457f:	7c ef                	jl     404570 <_fb_CHR+0x40>
  404581:	8b 03                	mov    (%ebx),%eax
  404583:	c6 04 07 00          	movb   $0x0,(%edi,%eax,1)
  404587:	89 d8                	mov    %ebx,%eax
  404589:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  40458c:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  40458f:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404592:	89 ec                	mov    %ebp,%esp
  404594:	5d                   	pop    %ebp
  404595:	c3                   	ret    
  404596:	bb 98 07 41 00       	mov    $0x410798,%ebx
  40459b:	eb ea                	jmp    404587 <_fb_CHR+0x57>
  40459d:	90                   	nop    
  40459e:	90                   	nop    
  40459f:	90                   	nop    

004045a0 <_fb_StrConcatAssign@20>:
  4045a0:	55                   	push   %ebp
  4045a1:	89 e5                	mov    %esp,%ebp
  4045a3:	83 ec 28             	sub    $0x28,%esp
  4045a6:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  4045a9:	8b 7d 08             	mov    0x8(%ebp),%edi
  4045ac:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  4045af:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  4045b2:	85 ff                	test   %edi,%edi
  4045b4:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  4045b7:	0f 84 ea 00 00 00    	je     4046a7 <_fb_StrConcatAssign@20+0x107>
  4045bd:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
  4045c1:	0f 84 99 00 00 00    	je     404660 <_fb_StrConcatAssign@20+0xc0>
  4045c7:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  4045cb:	0f 84 a6 00 00 00    	je     404677 <_fb_StrConcatAssign@20+0xd7>
  4045d1:	8b 45 10             	mov    0x10(%ebp),%eax
  4045d4:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  4045d7:	89 04 24             	mov    %eax,(%esp)
  4045da:	e8 81 48 00 00       	call   408e60 <_strlen>
  4045df:	89 c6                	mov    %eax,%esi
  4045e1:	85 f6                	test   %esi,%esi
  4045e3:	7e 7b                	jle    404660 <_fb_StrConcatAssign@20+0xc0>
  4045e5:	83 fb ff             	cmp    $0xffffffff,%ebx
  4045e8:	0f 84 d0 00 00 00    	je     4046be <_fb_StrConcatAssign@20+0x11e>
  4045ee:	89 3c 24             	mov    %edi,(%esp)
  4045f1:	e8 6a 48 00 00       	call   408e60 <_strlen>
  4045f6:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  4045f9:	85 db                	test   %ebx,%ebx
  4045fb:	7e 10                	jle    40460d <_fb_StrConcatAssign@20+0x6d>
  4045fd:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  404600:	4b                   	dec    %ebx
  404601:	89 d8                	mov    %ebx,%eax
  404603:	29 d0                	sub    %edx,%eax
  404605:	39 f0                	cmp    %esi,%eax
  404607:	0f 8c 83 00 00 00    	jl     404690 <_fb_StrConcatAssign@20+0xf0>
  40460d:	89 74 24 08          	mov    %esi,0x8(%esp)
  404611:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  404614:	89 44 24 04          	mov    %eax,0x4(%esp)
  404618:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  40461b:	01 f8                	add    %edi,%eax
  40461d:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  404620:	89 04 24             	mov    %eax,(%esp)
  404623:	e8 b8 10 00 00       	call   4056e0 <_fb_hStrCopy@12>
  404628:	8b 4d 18             	mov    0x18(%ebp),%ecx
  40462b:	83 ec 0c             	sub    $0xc,%esp
  40462e:	85 c9                	test   %ecx,%ecx
  404630:	0f 95 c0             	setne  %al
  404633:	31 d2                	xor    %edx,%edx
  404635:	85 db                	test   %ebx,%ebx
  404637:	0f 9f c2             	setg   %dl
  40463a:	85 d0                	test   %edx,%eax
  40463c:	74 22                	je     404660 <_fb_StrConcatAssign@20+0xc0>
  40463e:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  404641:	01 f0                	add    %esi,%eax
  404643:	29 c3                	sub    %eax,%ebx
  404645:	85 db                	test   %ebx,%ebx
  404647:	7e 17                	jle    404660 <_fb_StrConcatAssign@20+0xc0>
  404649:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  40464c:	31 d2                	xor    %edx,%edx
  40464e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  404652:	89 54 24 04          	mov    %edx,0x4(%esp)
  404656:	01 f0                	add    %esi,%eax
  404658:	89 04 24             	mov    %eax,(%esp)
  40465b:	e8 b0 47 00 00       	call   408e10 <_memset>
  404660:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  404664:	74 31                	je     404697 <_fb_StrConcatAssign@20+0xf7>
  404666:	89 f8                	mov    %edi,%eax
  404668:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  40466b:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  40466e:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404671:	89 ec                	mov    %ebp,%esp
  404673:	5d                   	pop    %ebp
  404674:	c2 14 00             	ret    $0x14
  404677:	8b 45 10             	mov    0x10(%ebp),%eax
  40467a:	8b 00                	mov    (%eax),%eax
  40467c:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  40467f:	8b 45 10             	mov    0x10(%ebp),%eax
  404682:	8b 70 04             	mov    0x4(%eax),%esi
  404685:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
  40468b:	e9 51 ff ff ff       	jmp    4045e1 <_fb_StrConcatAssign@20+0x41>
  404690:	89 c6                	mov    %eax,%esi
  404692:	e9 76 ff ff ff       	jmp    40460d <_fb_StrConcatAssign@20+0x6d>
  404697:	8b 45 10             	mov    0x10(%ebp),%eax
  40469a:	89 04 24             	mov    %eax,(%esp)
  40469d:	e8 fe 0f 00 00       	call   4056a0 <_fb_hStrDelTemp@4>
  4046a2:	83 ec 04             	sub    $0x4,%esp
  4046a5:	eb bf                	jmp    404666 <_fb_StrConcatAssign@20+0xc6>
  4046a7:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  4046ab:	74 54                	je     404701 <_fb_StrConcatAssign@20+0x161>
  4046ad:	31 c0                	xor    %eax,%eax
  4046af:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  4046b2:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  4046b5:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  4046b8:	89 ec                	mov    %ebp,%esp
  4046ba:	5d                   	pop    %ebp
  4046bb:	c2 14 00             	ret    $0x14
  4046be:	8b 5f 04             	mov    0x4(%edi),%ebx
  4046c1:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  4046c6:	89 44 24 08          	mov    %eax,0x8(%esp)
  4046ca:	89 3c 24             	mov    %edi,(%esp)
  4046cd:	81 e3 ff ff ff 7f    	and    $0x7fffffff,%ebx
  4046d3:	8d 04 33             	lea    (%ebx,%esi,1),%eax
  4046d6:	89 44 24 04          	mov    %eax,0x4(%esp)
  4046da:	e8 d1 0d 00 00       	call   4054b0 <_fb_hStrRealloc@12>
  4046df:	83 ec 0c             	sub    $0xc,%esp
  4046e2:	89 74 24 08          	mov    %esi,0x8(%esp)
  4046e6:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  4046e9:	89 44 24 04          	mov    %eax,0x4(%esp)
  4046ed:	8b 0f                	mov    (%edi),%ecx
  4046ef:	01 cb                	add    %ecx,%ebx
  4046f1:	89 1c 24             	mov    %ebx,(%esp)
  4046f4:	e8 e7 0f 00 00       	call   4056e0 <_fb_hStrCopy@12>
  4046f9:	83 ec 0c             	sub    $0xc,%esp
  4046fc:	e9 5f ff ff ff       	jmp    404660 <_fb_StrConcatAssign@20+0xc0>
  404701:	8b 45 10             	mov    0x10(%ebp),%eax
  404704:	89 04 24             	mov    %eax,(%esp)
  404707:	e8 94 0f 00 00       	call   4056a0 <_fb_hStrDelTemp@4>
  40470c:	83 ec 04             	sub    $0x4,%esp
  40470f:	31 c0                	xor    %eax,%eax
  404711:	eb 9c                	jmp    4046af <_fb_StrConcatAssign@20+0x10f>
  404713:	90                   	nop    
  404714:	90                   	nop    
  404715:	90                   	nop    
  404716:	90                   	nop    
  404717:	90                   	nop    
  404718:	90                   	nop    
  404719:	90                   	nop    
  40471a:	90                   	nop    
  40471b:	90                   	nop    
  40471c:	90                   	nop    
  40471d:	90                   	nop    
  40471e:	90                   	nop    
  40471f:	90                   	nop    

00404720 <_fb_RIGHT@8>:
  404720:	55                   	push   %ebp
  404721:	b8 98 07 41 00       	mov    $0x410798,%eax
  404726:	89 e5                	mov    %esp,%ebp
  404728:	83 ec 18             	sub    $0x18,%esp
  40472b:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  40472e:	8b 5d 08             	mov    0x8(%ebp),%ebx
  404731:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  404734:	8b 75 0c             	mov    0xc(%ebp),%esi
  404737:	85 db                	test   %ebx,%ebx
  404739:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  40473c:	74 51                	je     40478f <_fb_RIGHT@8+0x6f>
  40473e:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404745:	e8 46 49 00 00       	call   409090 <_EnterCriticalSection@4>
  40474a:	8b 45 08             	mov    0x8(%ebp),%eax
  40474d:	83 ec 04             	sub    $0x4,%esp
  404750:	8b 58 04             	mov    0x4(%eax),%ebx
  404753:	8b 08                	mov    (%eax),%ecx
  404755:	81 e3 ff ff ff 7f    	and    $0x7fffffff,%ebx
  40475b:	85 c9                	test   %ecx,%ecx
  40475d:	0f 95 c0             	setne  %al
  404760:	31 d2                	xor    %edx,%edx
  404762:	85 f6                	test   %esi,%esi
  404764:	0f 9f c2             	setg   %dl
  404767:	85 d0                	test   %edx,%eax
  404769:	75 35                	jne    4047a0 <_fb_RIGHT@8+0x80>
  40476b:	be 98 07 41 00       	mov    $0x410798,%esi
  404770:	8b 45 08             	mov    0x8(%ebp),%eax
  404773:	89 04 24             	mov    %eax,(%esp)
  404776:	e8 e5 0e 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  40477b:	83 ec 04             	sub    $0x4,%esp
  40477e:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404785:	e8 16 49 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40478a:	83 ec 04             	sub    $0x4,%esp
  40478d:	89 f0                	mov    %esi,%eax
  40478f:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  404792:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404795:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404798:	89 ec                	mov    %ebp,%esp
  40479a:	5d                   	pop    %ebp
  40479b:	c2 08 00             	ret    $0x8
  40479e:	89 f6                	mov    %esi,%esi
  4047a0:	85 db                	test   %ebx,%ebx
  4047a2:	7e c7                	jle    40476b <_fb_RIGHT@8+0x4b>
  4047a4:	39 de                	cmp    %ebx,%esi
  4047a6:	89 df                	mov    %ebx,%edi
  4047a8:	7e 39                	jle    4047e3 <_fb_RIGHT@8+0xc3>
  4047aa:	89 7c 24 04          	mov    %edi,0x4(%esp)
  4047ae:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4047b5:	e8 e6 0d 00 00       	call   4055a0 <_fb_hStrAllocTemp_NoLock@8>
  4047ba:	83 ec 08             	sub    $0x8,%esp
  4047bd:	85 c0                	test   %eax,%eax
  4047bf:	89 c6                	mov    %eax,%esi
  4047c1:	74 a8                	je     40476b <_fb_RIGHT@8+0x4b>
  4047c3:	89 7c 24 08          	mov    %edi,0x8(%esp)
  4047c7:	8b 45 08             	mov    0x8(%ebp),%eax
  4047ca:	8b 10                	mov    (%eax),%edx
  4047cc:	01 d3                	add    %edx,%ebx
  4047ce:	29 fb                	sub    %edi,%ebx
  4047d0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4047d4:	8b 06                	mov    (%esi),%eax
  4047d6:	89 04 24             	mov    %eax,(%esp)
  4047d9:	e8 02 0f 00 00       	call   4056e0 <_fb_hStrCopy@12>
  4047de:	83 ec 0c             	sub    $0xc,%esp
  4047e1:	eb 8d                	jmp    404770 <_fb_RIGHT@8+0x50>
  4047e3:	89 f7                	mov    %esi,%edi
  4047e5:	eb c3                	jmp    4047aa <_fb_RIGHT@8+0x8a>
  4047e7:	90                   	nop    
  4047e8:	90                   	nop    
  4047e9:	90                   	nop    
  4047ea:	90                   	nop    
  4047eb:	90                   	nop    
  4047ec:	90                   	nop    
  4047ed:	90                   	nop    
  4047ee:	90                   	nop    
  4047ef:	90                   	nop    

004047f0 <_fb_Sleep@4>:
  4047f0:	55                   	push   %ebp
  4047f1:	89 e5                	mov    %esp,%ebp
  4047f3:	83 ec 18             	sub    $0x18,%esp
  4047f6:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  4047f9:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  4047fc:	8b 75 08             	mov    0x8(%ebp),%esi
  4047ff:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  404806:	e8 85 48 00 00       	call   409090 <_EnterCriticalSection@4>
  40480b:	83 ec 04             	sub    $0x4,%esp
  40480e:	8b 1d 08 08 41 00    	mov    0x410808,%ebx
  404814:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40481b:	e8 80 48 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404820:	83 ec 04             	sub    $0x4,%esp
  404823:	85 db                	test   %ebx,%ebx
  404825:	74 11                	je     404838 <_fb_Sleep@4+0x48>
  404827:	89 34 24             	mov    %esi,(%esp)
  40482a:	ff d3                	call   *%ebx
  40482c:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  40482f:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  404832:	89 ec                	mov    %ebp,%esp
  404834:	5d                   	pop    %ebp
  404835:	c2 04 00             	ret    $0x4
  404838:	89 34 24             	mov    %esi,(%esp)
  40483b:	e8 90 15 00 00       	call   405dd0 <_fb_ConsoleSleep>
  404840:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  404843:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  404846:	89 ec                	mov    %ebp,%esp
  404848:	5d                   	pop    %ebp
  404849:	c2 04 00             	ret    $0x4
  40484c:	90                   	nop    
  40484d:	90                   	nop    
  40484e:	90                   	nop    
  40484f:	90                   	nop    

00404850 <_fb_StrDelete@4>:
  404850:	55                   	push   %ebp
  404851:	89 e5                	mov    %esp,%ebp
  404853:	53                   	push   %ebx
  404854:	83 ec 04             	sub    $0x4,%esp
  404857:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40485a:	85 db                	test   %ebx,%ebx
  40485c:	74 06                	je     404864 <_fb_StrDelete@4+0x14>
  40485e:	8b 03                	mov    (%ebx),%eax
  404860:	85 c0                	test   %eax,%eax
  404862:	75 0c                	jne    404870 <_fb_StrDelete@4+0x20>
  404864:	58                   	pop    %eax
  404865:	5b                   	pop    %ebx
  404866:	5d                   	pop    %ebp
  404867:	c2 04 00             	ret    $0x4
  40486a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  404870:	89 04 24             	mov    %eax,(%esp)
  404873:	e8 c8 45 00 00       	call   408e40 <_free>
  404878:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
  40487e:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
  404885:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
  40488c:	58                   	pop    %eax
  40488d:	5b                   	pop    %ebx
  40488e:	5d                   	pop    %ebp
  40488f:	c2 04 00             	ret    $0x4
  404892:	90                   	nop    
  404893:	90                   	nop    
  404894:	90                   	nop    
  404895:	90                   	nop    
  404896:	90                   	nop    
  404897:	90                   	nop    
  404898:	90                   	nop    
  404899:	90                   	nop    
  40489a:	90                   	nop    
  40489b:	90                   	nop    
  40489c:	90                   	nop    
  40489d:	90                   	nop    
  40489e:	90                   	nop    
  40489f:	90                   	nop    

004048a0 <_fb_StrAllocTempResult@4>:
  4048a0:	55                   	push   %ebp
  4048a1:	89 e5                	mov    %esp,%ebp
  4048a3:	56                   	push   %esi
  4048a4:	53                   	push   %ebx
  4048a5:	83 ec 10             	sub    $0x10,%esp
  4048a8:	8b 75 08             	mov    0x8(%ebp),%esi
  4048ab:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4048b2:	e8 d9 47 00 00       	call   409090 <_EnterCriticalSection@4>
  4048b7:	83 ec 04             	sub    $0x4,%esp
  4048ba:	e8 91 0a 00 00       	call   405350 <_fb_hStrAllocTmpDesc@0>
  4048bf:	85 c0                	test   %eax,%eax
  4048c1:	89 c3                	mov    %eax,%ebx
  4048c3:	74 43                	je     404908 <_fb_StrAllocTempResult@4+0x68>
  4048c5:	8b 06                	mov    (%esi),%eax
  4048c7:	89 03                	mov    %eax,(%ebx)
  4048c9:	8b 46 04             	mov    0x4(%esi),%eax
  4048cc:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
  4048d2:	0d 00 00 00 80       	or     $0x80000000,%eax
  4048d7:	89 43 04             	mov    %eax,0x4(%ebx)
  4048da:	8b 46 08             	mov    0x8(%esi),%eax
  4048dd:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
  4048e4:	89 43 08             	mov    %eax,0x8(%ebx)
  4048e7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
  4048ee:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4048f5:	e8 a6 47 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4048fa:	83 ec 04             	sub    $0x4,%esp
  4048fd:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  404900:	89 d8                	mov    %ebx,%eax
  404902:	5b                   	pop    %ebx
  404903:	5e                   	pop    %esi
  404904:	5d                   	pop    %ebp
  404905:	c2 04 00             	ret    $0x4
  404908:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  40490f:	e8 8c 47 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404914:	83 ec 04             	sub    $0x4,%esp
  404917:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  40491a:	b8 98 07 41 00       	mov    $0x410798,%eax
  40491f:	5b                   	pop    %ebx
  404920:	5e                   	pop    %esi
  404921:	5d                   	pop    %ebp
  404922:	c2 04 00             	ret    $0x4
  404925:	90                   	nop    
  404926:	90                   	nop    
  404927:	90                   	nop    
  404928:	90                   	nop    
  404929:	90                   	nop    
  40492a:	90                   	nop    
  40492b:	90                   	nop    
  40492c:	90                   	nop    
  40492d:	90                   	nop    
  40492e:	90                   	nop    
  40492f:	90                   	nop    

00404930 <_fb_End@4>:
  404930:	55                   	push   %ebp
  404931:	89 e5                	mov    %esp,%ebp
  404933:	83 ec 08             	sub    $0x8,%esp
  404936:	8b 45 08             	mov    0x8(%ebp),%eax
  404939:	89 04 24             	mov    %eax,(%esp)
  40493c:	e8 4f 45 00 00       	call   408e90 <_exit>
  404941:	eb 0d                	jmp    404950 <_fb_hRtExit>
  404943:	90                   	nop    
  404944:	90                   	nop    
  404945:	90                   	nop    
  404946:	90                   	nop    
  404947:	90                   	nop    
  404948:	90                   	nop    
  404949:	90                   	nop    
  40494a:	90                   	nop    
  40494b:	90                   	nop    
  40494c:	90                   	nop    
  40494d:	90                   	nop    
  40494e:	90                   	nop    
  40494f:	90                   	nop    

00404950 <_fb_hRtExit>:
  404950:	55                   	push   %ebp
  404951:	89 e5                	mov    %esp,%ebp
  404953:	53                   	push   %ebx
  404954:	83 ec 14             	sub    $0x14,%esp
  404957:	a1 60 c2 40 00       	mov    0x40c260,%eax
  40495c:	48                   	dec    %eax
  40495d:	85 c0                	test   %eax,%eax
  40495f:	a3 60 c2 40 00       	mov    %eax,0x40c260
  404964:	74 0a                	je     404970 <_fb_hRtExit+0x20>
  404966:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  404969:	c9                   	leave  
  40496a:	c3                   	ret    
  40496b:	90                   	nop    
  40496c:	8d 74 26 00          	lea    0x0(%esi),%esi
  404970:	e8 db 14 00 00       	call   405e50 <_fb_FileReset@0>
  404975:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40497c:	31 db                	xor    %ebx,%ebx
  40497e:	e8 6d 15 00 00       	call   405ef0 <_fb_hEnd>
  404983:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  404989:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  404990:	89 1c 24             	mov    %ebx,(%esp)
  404993:	e8 58 08 00 00       	call   4051f0 <_fb_TlsDelCtx@4>
  404998:	8b 04 9d 18 08 41 00 	mov    0x410818(,%ebx,4),%eax
  40499f:	83 ec 04             	sub    $0x4,%esp
  4049a2:	43                   	inc    %ebx
  4049a3:	89 04 24             	mov    %eax,(%esp)
  4049a6:	e8 45 47 00 00       	call   4090f0 <_TlsFree@4>
  4049ab:	83 ec 04             	sub    $0x4,%esp
  4049ae:	83 fb 04             	cmp    $0x4,%ebx
  4049b1:	7e dd                	jle    404990 <_fb_hRtExit+0x40>
  4049b3:	a1 a4 07 41 00       	mov    0x4107a4,%eax
  4049b8:	85 c0                	test   %eax,%eax
  4049ba:	74 aa                	je     404966 <_fb_hRtExit+0x16>
  4049bc:	89 44 24 04          	mov    %eax,0x4(%esp)
  4049c0:	a1 e0 62 41 00       	mov    0x4162e0,%eax
  4049c5:	83 c0 40             	add    $0x40,%eax
  4049c8:	89 04 24             	mov    %eax,(%esp)
  4049cb:	e8 b0 44 00 00       	call   408e80 <_fprintf>
  4049d0:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4049d3:	c9                   	leave  
  4049d4:	c3                   	ret    
  4049d5:	90                   	nop    
  4049d6:	90                   	nop    
  4049d7:	90                   	nop    
  4049d8:	90                   	nop    
  4049d9:	90                   	nop    
  4049da:	90                   	nop    
  4049db:	90                   	nop    
  4049dc:	90                   	nop    
  4049dd:	90                   	nop    
  4049de:	90                   	nop    
  4049df:	90                   	nop    

004049e0 <_fb_Color@12>:
  4049e0:	55                   	push   %ebp
  4049e1:	89 e5                	mov    %esp,%ebp
  4049e3:	83 ec 18             	sub    $0x18,%esp
  4049e6:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  4049e9:	8b 5d 10             	mov    0x10(%ebp),%ebx
  4049ec:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  4049ef:	8b 75 0c             	mov    0xc(%ebp),%esi
  4049f2:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  4049f5:	8b 7d 08             	mov    0x8(%ebp),%edi
  4049f8:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4049ff:	e8 8c 46 00 00       	call   409090 <_EnterCriticalSection@4>
  404a04:	a1 bc 07 41 00       	mov    0x4107bc,%eax
  404a09:	83 ec 04             	sub    $0x4,%esp
  404a0c:	85 c0                	test   %eax,%eax
  404a0e:	74 30                	je     404a40 <_fb_Color@12+0x60>
  404a10:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  404a14:	89 74 24 04          	mov    %esi,0x4(%esp)
  404a18:	89 3c 24             	mov    %edi,(%esp)
  404a1b:	ff d0                	call   *%eax
  404a1d:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  404a24:	89 c3                	mov    %eax,%ebx
  404a26:	e8 75 46 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404a2b:	83 ec 04             	sub    $0x4,%esp
  404a2e:	89 d8                	mov    %ebx,%eax
  404a30:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404a33:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  404a36:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404a39:	89 ec                	mov    %ebp,%esp
  404a3b:	5d                   	pop    %ebp
  404a3c:	c2 0c 00             	ret    $0xc
  404a3f:	90                   	nop    
  404a40:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  404a44:	89 74 24 04          	mov    %esi,0x4(%esp)
  404a48:	89 3c 24             	mov    %edi,(%esp)
  404a4b:	e8 70 15 00 00       	call   405fc0 <_fb_ConsoleColor>
  404a50:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  404a57:	89 c3                	mov    %eax,%ebx
  404a59:	e8 42 46 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404a5e:	83 ec 04             	sub    $0x4,%esp
  404a61:	89 d8                	mov    %ebx,%eax
  404a63:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404a66:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  404a69:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404a6c:	89 ec                	mov    %ebp,%esp
  404a6e:	5d                   	pop    %ebp
  404a6f:	c2 0c 00             	ret    $0xc
  404a72:	90                   	nop    
  404a73:	90                   	nop    
  404a74:	90                   	nop    
  404a75:	90                   	nop    
  404a76:	90                   	nop    
  404a77:	90                   	nop    
  404a78:	90                   	nop    
  404a79:	90                   	nop    
  404a7a:	90                   	nop    
  404a7b:	90                   	nop    
  404a7c:	90                   	nop    
  404a7d:	90                   	nop    
  404a7e:	90                   	nop    
  404a7f:	90                   	nop    

00404a80 <_fb_StrConcat@20>:
  404a80:	55                   	push   %ebp
  404a81:	89 e5                	mov    %esp,%ebp
  404a83:	57                   	push   %edi
  404a84:	56                   	push   %esi
  404a85:	53                   	push   %ebx
  404a86:	83 ec 1c             	sub    $0x1c,%esp
  404a89:	8b 55 0c             	mov    0xc(%ebp),%edx
  404a8c:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  404a93:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
  404a9a:	85 d2                	test   %edx,%edx
  404a9c:	74 1b                	je     404ab9 <_fb_StrConcat@20+0x39>
  404a9e:	83 7d 10 ff          	cmpl   $0xffffffff,0x10(%ebp)
  404aa2:	0f 84 38 01 00 00    	je     404be0 <_fb_StrConcat@20+0x160>
  404aa8:	8b 75 0c             	mov    0xc(%ebp),%esi
  404aab:	89 75 f0             	mov    %esi,0xfffffff0(%ebp)
  404aae:	89 34 24             	mov    %esi,(%esp)
  404ab1:	e8 aa 43 00 00       	call   408e60 <_strlen>
  404ab6:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  404ab9:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  404ac0:	8b 45 14             	mov    0x14(%ebp),%eax
  404ac3:	31 db                	xor    %ebx,%ebx
  404ac5:	85 c0                	test   %eax,%eax
  404ac7:	74 1a                	je     404ae3 <_fb_StrConcat@20+0x63>
  404ac9:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
  404acd:	0f 84 2d 01 00 00    	je     404c00 <_fb_StrConcat@20+0x180>
  404ad3:	8b 4d 14             	mov    0x14(%ebp),%ecx
  404ad6:	89 4d ec             	mov    %ecx,0xffffffec(%ebp)
  404ad9:	89 0c 24             	mov    %ecx,(%esp)
  404adc:	e8 7f 43 00 00       	call   408e60 <_strlen>
  404ae1:	89 c3                	mov    %eax,%ebx
  404ae3:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  404ae6:	01 d8                	add    %ebx,%eax
  404ae8:	75 4d                	jne    404b37 <_fb_StrConcat@20+0xb7>
  404aea:	8b 75 08             	mov    0x8(%ebp),%esi
  404aed:	89 34 24             	mov    %esi,(%esp)
  404af0:	e8 5b fd ff ff       	call   404850 <_fb_StrDelete@4>
  404af5:	83 ec 04             	sub    $0x4,%esp
  404af8:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404aff:	e8 8c 45 00 00       	call   409090 <_EnterCriticalSection@4>
  404b04:	83 ec 04             	sub    $0x4,%esp
  404b07:	83 7d 10 ff          	cmpl   $0xffffffff,0x10(%ebp)
  404b0b:	0f 84 80 00 00 00    	je     404b91 <_fb_StrConcat@20+0x111>
  404b11:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
  404b15:	0f 84 95 00 00 00    	je     404bb0 <_fb_StrConcat@20+0x130>
  404b1b:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404b22:	e8 79 45 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404b27:	83 ec 04             	sub    $0x4,%esp
  404b2a:	8b 45 08             	mov    0x8(%ebp),%eax
  404b2d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404b30:	5b                   	pop    %ebx
  404b31:	5e                   	pop    %esi
  404b32:	5f                   	pop    %edi
  404b33:	5d                   	pop    %ebp
  404b34:	c2 14 00             	ret    $0x14
  404b37:	89 44 24 04          	mov    %eax,0x4(%esp)
  404b3b:	8b 45 08             	mov    0x8(%ebp),%eax
  404b3e:	89 04 24             	mov    %eax,(%esp)
  404b41:	e8 ca 0a 00 00       	call   405610 <_fb_hStrAllocTemp@8>
  404b46:	8b 55 08             	mov    0x8(%ebp),%edx
  404b49:	83 ec 08             	sub    $0x8,%esp
  404b4c:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
  404b4f:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
  404b52:	8b 3a                	mov    (%edx),%edi
  404b54:	51                   	push   %ecx
  404b55:	56                   	push   %esi
  404b56:	51                   	push   %ecx
  404b57:	c1 e9 02             	shr    $0x2,%ecx
  404b5a:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
  404b5c:	59                   	pop    %ecx
  404b5d:	83 e1 03             	and    $0x3,%ecx
  404b60:	f3 a4                	repz movsb %ds:(%esi),%es:(%edi)
  404b62:	5e                   	pop    %esi
  404b63:	59                   	pop    %ecx
  404b64:	89 d9                	mov    %ebx,%ecx
  404b66:	8b 75 ec             	mov    0xffffffec(%ebp),%esi
  404b69:	51                   	push   %ecx
  404b6a:	56                   	push   %esi
  404b6b:	51                   	push   %ecx
  404b6c:	c1 e9 02             	shr    $0x2,%ecx
  404b6f:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
  404b71:	59                   	pop    %ecx
  404b72:	83 e1 03             	and    $0x3,%ecx
  404b75:	f3 a4                	repz movsb %ds:(%esi),%es:(%edi)
  404b77:	5e                   	pop    %esi
  404b78:	59                   	pop    %ecx
  404b79:	c6 07 00             	movb   $0x0,(%edi)
  404b7c:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404b83:	e8 08 45 00 00       	call   409090 <_EnterCriticalSection@4>
  404b88:	83 ec 04             	sub    $0x4,%esp
  404b8b:	83 7d 10 ff          	cmpl   $0xffffffff,0x10(%ebp)
  404b8f:	75 80                	jne    404b11 <_fb_StrConcat@20+0x91>
  404b91:	8b 45 0c             	mov    0xc(%ebp),%eax
  404b94:	89 04 24             	mov    %eax,(%esp)
  404b97:	e8 c4 0a 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  404b9c:	83 ec 04             	sub    $0x4,%esp
  404b9f:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
  404ba3:	0f 85 72 ff ff ff    	jne    404b1b <_fb_StrConcat@20+0x9b>
  404ba9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404bb0:	8b 55 14             	mov    0x14(%ebp),%edx
  404bb3:	89 14 24             	mov    %edx,(%esp)
  404bb6:	e8 a5 0a 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  404bbb:	83 ec 04             	sub    $0x4,%esp
  404bbe:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404bc5:	e8 d6 44 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404bca:	83 ec 04             	sub    $0x4,%esp
  404bcd:	8b 45 08             	mov    0x8(%ebp),%eax
  404bd0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404bd3:	5b                   	pop    %ebx
  404bd4:	5e                   	pop    %esi
  404bd5:	5f                   	pop    %edi
  404bd6:	5d                   	pop    %ebp
  404bd7:	c2 14 00             	ret    $0x14
  404bda:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  404be0:	8b 55 0c             	mov    0xc(%ebp),%edx
  404be3:	8b 45 0c             	mov    0xc(%ebp),%eax
  404be6:	8b 4a 04             	mov    0x4(%edx),%ecx
  404be9:	8b 00                	mov    (%eax),%eax
  404beb:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
  404bf1:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  404bf4:	89 4d e8             	mov    %ecx,0xffffffe8(%ebp)
  404bf7:	e9 bd fe ff ff       	jmp    404ab9 <_fb_StrConcat@20+0x39>
  404bfc:	8d 74 26 00          	lea    0x0(%esi),%esi
  404c00:	8b 55 14             	mov    0x14(%ebp),%edx
  404c03:	8b 45 14             	mov    0x14(%ebp),%eax
  404c06:	8b 5a 04             	mov    0x4(%edx),%ebx
  404c09:	8b 00                	mov    (%eax),%eax
  404c0b:	81 e3 ff ff ff 7f    	and    $0x7fffffff,%ebx
  404c11:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  404c14:	e9 ca fe ff ff       	jmp    404ae3 <_fb_StrConcat@20+0x63>
  404c19:	90                   	nop    
  404c1a:	90                   	nop    
  404c1b:	90                   	nop    
  404c1c:	90                   	nop    
  404c1d:	90                   	nop    
  404c1e:	90                   	nop    
  404c1f:	90                   	nop    

00404c20 <_fb_StrCompare@16>:
  404c20:	55                   	push   %ebp
  404c21:	89 e5                	mov    %esp,%ebp
  404c23:	57                   	push   %edi
  404c24:	56                   	push   %esi
  404c25:	53                   	push   %ebx
  404c26:	83 ec 1c             	sub    $0x1c,%esp
  404c29:	8b 75 08             	mov    0x8(%ebp),%esi
  404c2c:	85 f6                	test   %esi,%esi
  404c2e:	0f 95 c0             	setne  %al
  404c31:	31 d2                	xor    %edx,%edx
  404c33:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
  404c37:	0f 95 c2             	setne  %dl
  404c3a:	85 d0                	test   %edx,%eax
  404c3c:	0f 84 1e 01 00 00    	je     404d60 <_fb_StrCompare@16+0x140>
  404c42:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  404c49:	8b 5d 08             	mov    0x8(%ebp),%ebx
  404c4c:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  404c53:	85 db                	test   %ebx,%ebx
  404c55:	74 1b                	je     404c72 <_fb_StrCompare@16+0x52>
  404c57:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  404c5b:	0f 84 8f 01 00 00    	je     404df0 <_fb_StrCompare@16+0x1d0>
  404c61:	8b 75 08             	mov    0x8(%ebp),%esi
  404c64:	89 75 f0             	mov    %esi,0xfffffff0(%ebp)
  404c67:	89 34 24             	mov    %esi,(%esp)
  404c6a:	e8 f1 41 00 00       	call   408e60 <_strlen>
  404c6f:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  404c72:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
  404c79:	8b 4d 10             	mov    0x10(%ebp),%ecx
  404c7c:	31 db                	xor    %ebx,%ebx
  404c7e:	85 c9                	test   %ecx,%ecx
  404c80:	74 18                	je     404c9a <_fb_StrCompare@16+0x7a>
  404c82:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  404c86:	0f 84 98 01 00 00    	je     404e24 <_fb_StrCompare@16+0x204>
  404c8c:	8b 5d 10             	mov    0x10(%ebp),%ebx
  404c8f:	89 1c 24             	mov    %ebx,(%esp)
  404c92:	e8 c9 41 00 00       	call   408e60 <_strlen>
  404c97:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  404c9a:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
  404c9d:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
  404ca0:	39 ca                	cmp    %ecx,%edx
  404ca2:	7e 02                	jle    404ca6 <_fb_StrCompare@16+0x86>
  404ca4:	89 ca                	mov    %ecx,%edx
  404ca6:	31 c0                	xor    %eax,%eax
  404ca8:	85 d2                	test   %edx,%edx
  404caa:	74 1a                	je     404cc6 <_fb_StrCompare@16+0xa6>
  404cac:	89 d1                	mov    %edx,%ecx
  404cae:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
  404cb1:	89 df                	mov    %ebx,%edi
  404cb3:	56                   	push   %esi
  404cb4:	57                   	push   %edi
  404cb5:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
  404cb7:	74 09                	je     404cc2 <_fb_StrCompare@16+0xa2>
  404cb9:	b9 01 00 00 00       	mov    $0x1,%ecx
  404cbe:	77 02                	ja     404cc2 <_fb_StrCompare@16+0xa2>
  404cc0:	f7 d9                	neg    %ecx
  404cc2:	5f                   	pop    %edi
  404cc3:	5e                   	pop    %esi
  404cc4:	89 c8                	mov    %ecx,%eax
  404cc6:	85 c0                	test   %eax,%eax
  404cc8:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
  404ccb:	89 c3                	mov    %eax,%ebx
  404ccd:	0f 94 c0             	sete   %al
  404cd0:	39 55 ec             	cmp    %edx,0xffffffec(%ebp)
  404cd3:	0f 95 c2             	setne  %dl
  404cd6:	0f b6 d2             	movzbl %dl,%edx
  404cd9:	85 d0                	test   %edx,%eax
  404cdb:	0f 84 a7 00 00 00    	je     404d88 <_fb_StrCompare@16+0x168>
  404ce1:	8b 4d e8             	mov    0xffffffe8(%ebp),%ecx
  404ce4:	31 db                	xor    %ebx,%ebx
  404ce6:	39 4d ec             	cmp    %ecx,0xffffffec(%ebp)
  404ce9:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404cf0:	0f 9f c3             	setg   %bl
  404cf3:	8d 5c 1b ff          	lea    0xffffffff(%ebx,%ebx,1),%ebx
  404cf7:	e8 94 43 00 00       	call   409090 <_EnterCriticalSection@4>
  404cfc:	83 ec 04             	sub    $0x4,%esp
  404cff:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  404d03:	0f 85 98 00 00 00    	jne    404da1 <_fb_StrCompare@16+0x181>
  404d09:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404d10:	8b 7d 08             	mov    0x8(%ebp),%edi
  404d13:	89 3c 24             	mov    %edi,(%esp)
  404d16:	e8 45 09 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  404d1b:	83 ec 04             	sub    $0x4,%esp
  404d1e:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  404d22:	0f 85 7f 00 00 00    	jne    404da7 <_fb_StrCompare@16+0x187>
  404d28:	90                   	nop    
  404d29:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404d30:	8b 45 10             	mov    0x10(%ebp),%eax
  404d33:	89 04 24             	mov    %eax,(%esp)
  404d36:	e8 25 09 00 00       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  404d3b:	83 ec 04             	sub    $0x4,%esp
  404d3e:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404d45:	e8 56 43 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404d4a:	83 ec 04             	sub    $0x4,%esp
  404d4d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404d50:	89 d8                	mov    %ebx,%eax
  404d52:	5b                   	pop    %ebx
  404d53:	5e                   	pop    %esi
  404d54:	5f                   	pop    %edi
  404d55:	5d                   	pop    %ebp
  404d56:	c2 10 00             	ret    $0x10
  404d59:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404d60:	8b 55 08             	mov    0x8(%ebp),%edx
  404d63:	85 d2                	test   %edx,%edx
  404d65:	74 5b                	je     404dc2 <_fb_StrCompare@16+0x1a2>
  404d67:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  404d6b:	0f 84 9f 00 00 00    	je     404e10 <_fb_StrCompare@16+0x1f0>
  404d71:	8b 75 08             	mov    0x8(%ebp),%esi
  404d74:	89 34 24             	mov    %esi,(%esp)
  404d77:	e8 e4 40 00 00       	call   408e60 <_strlen>
  404d7c:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  404d7f:	31 db                	xor    %ebx,%ebx
  404d81:	83 7d ec 00          	cmpl   $0x0,0xffffffec(%ebp)
  404d85:	0f 95 c3             	setne  %bl
  404d88:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404d8f:	e8 fc 42 00 00       	call   409090 <_EnterCriticalSection@4>
  404d94:	83 ec 04             	sub    $0x4,%esp
  404d97:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  404d9b:	0f 84 6f ff ff ff    	je     404d10 <_fb_StrCompare@16+0xf0>
  404da1:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  404da5:	74 89                	je     404d30 <_fb_StrCompare@16+0x110>
  404da7:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  404dae:	e8 ed 42 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  404db3:	83 ec 04             	sub    $0x4,%esp
  404db6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404db9:	89 d8                	mov    %ebx,%eax
  404dbb:	5b                   	pop    %ebx
  404dbc:	5e                   	pop    %esi
  404dbd:	5f                   	pop    %edi
  404dbe:	5d                   	pop    %ebp
  404dbf:	c2 10 00             	ret    $0x10
  404dc2:	8b 45 10             	mov    0x10(%ebp),%eax
  404dc5:	31 db                	xor    %ebx,%ebx
  404dc7:	85 c0                	test   %eax,%eax
  404dc9:	74 bd                	je     404d88 <_fb_StrCompare@16+0x168>
  404dcb:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
  404dcf:	74 65                	je     404e36 <_fb_StrCompare@16+0x216>
  404dd1:	8b 45 10             	mov    0x10(%ebp),%eax
  404dd4:	89 04 24             	mov    %eax,(%esp)
  404dd7:	e8 84 40 00 00       	call   408e60 <_strlen>
  404ddc:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  404ddf:	83 7d e8 01          	cmpl   $0x1,0xffffffe8(%ebp)
  404de3:	19 db                	sbb    %ebx,%ebx
  404de5:	f7 d3                	not    %ebx
  404de7:	eb 9f                	jmp    404d88 <_fb_StrCompare@16+0x168>
  404de9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404df0:	8b 55 08             	mov    0x8(%ebp),%edx
  404df3:	8b 45 08             	mov    0x8(%ebp),%eax
  404df6:	8b 4a 04             	mov    0x4(%edx),%ecx
  404df9:	8b 00                	mov    (%eax),%eax
  404dfb:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
  404e01:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  404e04:	89 4d ec             	mov    %ecx,0xffffffec(%ebp)
  404e07:	e9 66 fe ff ff       	jmp    404c72 <_fb_StrCompare@16+0x52>
  404e0c:	8d 74 26 00          	lea    0x0(%esi),%esi
  404e10:	8b 55 08             	mov    0x8(%ebp),%edx
  404e13:	8b 4a 04             	mov    0x4(%edx),%ecx
  404e16:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
  404e1c:	89 4d ec             	mov    %ecx,0xffffffec(%ebp)
  404e1f:	e9 5b ff ff ff       	jmp    404d7f <_fb_StrCompare@16+0x15f>
  404e24:	8b 7d 10             	mov    0x10(%ebp),%edi
  404e27:	8b 47 04             	mov    0x4(%edi),%eax
  404e2a:	8b 1f                	mov    (%edi),%ebx
  404e2c:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
  404e31:	e9 61 fe ff ff       	jmp    404c97 <_fb_StrCompare@16+0x77>
  404e36:	8b 75 10             	mov    0x10(%ebp),%esi
  404e39:	8b 7e 04             	mov    0x4(%esi),%edi
  404e3c:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
  404e42:	89 7d e8             	mov    %edi,0xffffffe8(%ebp)
  404e45:	eb 98                	jmp    404ddf <_fb_StrCompare@16+0x1bf>
  404e47:	90                   	nop    
  404e48:	90                   	nop    
  404e49:	90                   	nop    
  404e4a:	90                   	nop    
  404e4b:	90                   	nop    
  404e4c:	90                   	nop    
  404e4d:	90                   	nop    
  404e4e:	90                   	nop    
  404e4f:	90                   	nop    

00404e50 <_fb_Cls@4>:
  404e50:	55                   	push   %ebp
  404e51:	89 e5                	mov    %esp,%ebp
  404e53:	53                   	push   %ebx
  404e54:	83 ec 04             	sub    $0x4,%esp
  404e57:	8b 5d 08             	mov    0x8(%ebp),%ebx
  404e5a:	e8 51 13 00 00       	call   4061b0 <_fb_DevScrnInit_NoOpen>
  404e5f:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  404e66:	e8 25 42 00 00       	call   409090 <_EnterCriticalSection@4>
  404e6b:	a1 b8 07 41 00       	mov    0x4107b8,%eax
  404e70:	83 ec 04             	sub    $0x4,%esp
  404e73:	85 c0                	test   %eax,%eax
  404e75:	74 1c                	je     404e93 <_fb_Cls@4+0x43>
  404e77:	89 1c 24             	mov    %ebx,(%esp)
  404e7a:	ff d0                	call   *%eax
  404e7c:	31 c0                	xor    %eax,%eax
  404e7e:	a3 54 08 41 00       	mov    %eax,0x410854
  404e83:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  404e86:	c7 45 08 c0 48 41 00 	movl   $0x4148c0,0x8(%ebp)
  404e8d:	c9                   	leave  
  404e8e:	e9 0d 42 00 00       	jmp    4090a0 <_LeaveCriticalSection@4>
  404e93:	89 1c 24             	mov    %ebx,(%esp)
  404e96:	e8 c5 11 00 00       	call   406060 <_fb_ConsoleClear>
  404e9b:	31 c0                	xor    %eax,%eax
  404e9d:	a3 54 08 41 00       	mov    %eax,0x410854
  404ea2:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  404ea5:	c7 45 08 c0 48 41 00 	movl   $0x4148c0,0x8(%ebp)
  404eac:	c9                   	leave  
  404ead:	e9 ee 41 00 00       	jmp    4090a0 <_LeaveCriticalSection@4>
  404eb2:	90                   	nop    
  404eb3:	90                   	nop    
  404eb4:	90                   	nop    
  404eb5:	90                   	nop    
  404eb6:	90                   	nop    
  404eb7:	90                   	nop    
  404eb8:	90                   	nop    
  404eb9:	90                   	nop    
  404eba:	90                   	nop    
  404ebb:	90                   	nop    
  404ebc:	90                   	nop    
  404ebd:	90                   	nop    
  404ebe:	90                   	nop    
  404ebf:	90                   	nop    

00404ec0 <_fb_IntToStr@4>:
  404ec0:	55                   	push   %ebp
  404ec1:	b9 0c 00 00 00       	mov    $0xc,%ecx
  404ec6:	89 e5                	mov    %esp,%ebp
  404ec8:	83 ec 18             	sub    $0x18,%esp
  404ecb:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  404ece:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  404ed1:	31 f6                	xor    %esi,%esi
  404ed3:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  404ed6:	8b 7d 08             	mov    0x8(%ebp),%edi
  404ed9:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  404edd:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  404ee4:	e8 27 07 00 00       	call   405610 <_fb_hStrAllocTemp@8>
  404ee9:	83 ec 08             	sub    $0x8,%esp
  404eec:	85 c0                	test   %eax,%eax
  404eee:	89 c3                	mov    %eax,%ebx
  404ef0:	74 5e                	je     404f50 <_fb_IntToStr@4+0x90>
  404ef2:	83 3d 74 48 41 00 02 	cmpl   $0x2,0x414874
  404ef9:	74 45                	je     404f40 <_fb_IntToStr@4+0x80>
  404efb:	ba 0a 00 00 00       	mov    $0xa,%edx
  404f00:	89 54 24 08          	mov    %edx,0x8(%esp)
  404f04:	8b 03                	mov    (%ebx),%eax
  404f06:	89 3c 24             	mov    %edi,(%esp)
  404f09:	01 c6                	add    %eax,%esi
  404f0b:	89 74 24 04          	mov    %esi,0x4(%esp)
  404f0f:	e8 9c 3f 00 00       	call   408eb0 <__itoa>
  404f14:	8b 03                	mov    (%ebx),%eax
  404f16:	89 04 24             	mov    %eax,(%esp)
  404f19:	e8 42 3f 00 00       	call   408e60 <_strlen>
  404f1e:	8b 53 04             	mov    0x4(%ebx),%edx
  404f21:	81 e2 00 00 00 80    	and    $0x80000000,%edx
  404f27:	09 c2                	or     %eax,%edx
  404f29:	89 53 04             	mov    %edx,0x4(%ebx)
  404f2c:	89 d8                	mov    %ebx,%eax
  404f2e:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404f31:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  404f34:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404f37:	89 ec                	mov    %ebp,%esp
  404f39:	5d                   	pop    %ebp
  404f3a:	c2 04 00             	ret    $0x4
  404f3d:	8d 76 00             	lea    0x0(%esi),%esi
  404f40:	85 ff                	test   %edi,%edi
  404f42:	78 b7                	js     404efb <_fb_IntToStr@4+0x3b>
  404f44:	8b 00                	mov    (%eax),%eax
  404f46:	be 01 00 00 00       	mov    $0x1,%esi
  404f4b:	c6 00 20             	movb   $0x20,(%eax)
  404f4e:	eb ab                	jmp    404efb <_fb_IntToStr@4+0x3b>
  404f50:	bb 98 07 41 00       	mov    $0x410798,%ebx
  404f55:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  404f58:	89 d8                	mov    %ebx,%eax
  404f5a:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  404f5d:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  404f60:	89 ec                	mov    %ebp,%esp
  404f62:	5d                   	pop    %ebp
  404f63:	c2 04 00             	ret    $0x4
  404f66:	8d 76 00             	lea    0x0(%esi),%esi
  404f69:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00404f70 <_fb_UIntToStr@4>:
  404f70:	55                   	push   %ebp
  404f71:	b8 0c 00 00 00       	mov    $0xc,%eax
  404f76:	89 e5                	mov    %esp,%ebp
  404f78:	56                   	push   %esi
  404f79:	31 f6                	xor    %esi,%esi
  404f7b:	53                   	push   %ebx
  404f7c:	83 ec 10             	sub    $0x10,%esp
  404f7f:	89 44 24 04          	mov    %eax,0x4(%esp)
  404f83:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  404f8a:	e8 81 06 00 00       	call   405610 <_fb_hStrAllocTemp@8>
  404f8f:	83 ec 08             	sub    $0x8,%esp
  404f92:	85 c0                	test   %eax,%eax
  404f94:	89 c3                	mov    %eax,%ebx
  404f96:	74 58                	je     404ff0 <_fb_UIntToStr@4+0x80>
  404f98:	83 3d 74 48 41 00 02 	cmpl   $0x2,0x414874
  404f9f:	74 3f                	je     404fe0 <_fb_UIntToStr@4+0x70>
  404fa1:	b8 0a 00 00 00       	mov    $0xa,%eax
  404fa6:	89 44 24 08          	mov    %eax,0x8(%esp)
  404faa:	8b 03                	mov    (%ebx),%eax
  404fac:	01 c6                	add    %eax,%esi
  404fae:	89 74 24 04          	mov    %esi,0x4(%esp)
  404fb2:	8b 45 08             	mov    0x8(%ebp),%eax
  404fb5:	89 04 24             	mov    %eax,(%esp)
  404fb8:	e8 e3 3e 00 00       	call   408ea0 <__ultoa>
  404fbd:	8b 03                	mov    (%ebx),%eax
  404fbf:	89 04 24             	mov    %eax,(%esp)
  404fc2:	e8 99 3e 00 00       	call   408e60 <_strlen>
  404fc7:	8b 53 04             	mov    0x4(%ebx),%edx
  404fca:	81 e2 00 00 00 80    	and    $0x80000000,%edx
  404fd0:	09 c2                	or     %eax,%edx
  404fd2:	89 53 04             	mov    %edx,0x4(%ebx)
  404fd5:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  404fd8:	89 d8                	mov    %ebx,%eax
  404fda:	5b                   	pop    %ebx
  404fdb:	5e                   	pop    %esi
  404fdc:	5d                   	pop    %ebp
  404fdd:	c2 04 00             	ret    $0x4
  404fe0:	8b 00                	mov    (%eax),%eax
  404fe2:	be 01 00 00 00       	mov    $0x1,%esi
  404fe7:	c6 00 20             	movb   $0x20,(%eax)
  404fea:	eb b5                	jmp    404fa1 <_fb_UIntToStr@4+0x31>
  404fec:	8d 74 26 00          	lea    0x0(%esi),%esi
  404ff0:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  404ff3:	bb 98 07 41 00       	mov    $0x410798,%ebx
  404ff8:	89 d8                	mov    %ebx,%eax
  404ffa:	5b                   	pop    %ebx
  404ffb:	5e                   	pop    %esi
  404ffc:	5d                   	pop    %ebp
  404ffd:	c2 04 00             	ret    $0x4

00405000 <_fb_hRtInit>:
  405000:	55                   	push   %ebp
  405001:	89 e5                	mov    %esp,%ebp
  405003:	83 ec 18             	sub    $0x18,%esp
  405006:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  405009:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  40500c:	a1 60 c2 40 00       	mov    0x40c260,%eax
  405011:	40                   	inc    %eax
  405012:	a3 60 c2 40 00       	mov    %eax,0x40c260
  405017:	48                   	dec    %eax
  405018:	74 0a                	je     405024 <_fb_hRtInit+0x24>
  40501a:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  40501d:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  405020:	89 ec                	mov    %ebp,%esp
  405022:	5d                   	pop    %ebp
  405023:	c3                   	ret    
  405024:	c7 04 24 90 07 41 00 	movl   $0x410790,(%esp)
  40502b:	ba e8 40 00 00       	mov    $0x40e8,%edx
  405030:	31 c0                	xor    %eax,%eax
  405032:	89 54 24 08          	mov    %edx,0x8(%esp)
  405036:	31 db                	xor    %ebx,%ebx
  405038:	be 10 08 41 00       	mov    $0x410810,%esi
  40503d:	89 44 24 04          	mov    %eax,0x4(%esp)
  405041:	e8 ca 3d 00 00       	call   408e10 <_memset>
  405046:	e8 a5 02 00 00       	call   4052f0 <_fb_hInit>
  40504b:	90                   	nop    
  40504c:	8d 74 26 00          	lea    0x0(%esi),%esi
  405050:	e8 ab 40 00 00       	call   409100 <_TlsAlloc@0>
  405055:	89 44 9e 08          	mov    %eax,0x8(%esi,%ebx,4)
  405059:	43                   	inc    %ebx
  40505a:	83 fb 04             	cmp    $0x4,%ebx
  40505d:	7e f1                	jle    405050 <_fb_hRtInit+0x50>
  40505f:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  405062:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  405065:	89 ec                	mov    %ebp,%esp
  405067:	5d                   	pop    %ebp
  405068:	c3                   	ret    
  405069:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00405070 <_fb_Init@12>:
  405070:	55                   	push   %ebp
  405071:	89 e5                	mov    %esp,%ebp
  405073:	8b 45 08             	mov    0x8(%ebp),%eax
  405076:	a3 90 07 41 00       	mov    %eax,0x410790
  40507b:	8b 45 0c             	mov    0xc(%ebp),%eax
  40507e:	a3 94 07 41 00       	mov    %eax,0x410794
  405083:	8b 45 10             	mov    0x10(%ebp),%eax
  405086:	5d                   	pop    %ebp
  405087:	a3 74 48 41 00       	mov    %eax,0x414874
  40508c:	c2 0c 00             	ret    $0xc
  40508f:	90                   	nop    

00405090 <_threadproc@4>:
  405090:	55                   	push   %ebp
  405091:	89 e5                	mov    %esp,%ebp
  405093:	83 ec 08             	sub    $0x8,%esp
  405096:	8b 55 08             	mov    0x8(%ebp),%edx
  405099:	8b 42 08             	mov    0x8(%edx),%eax
  40509c:	89 04 24             	mov    %eax,(%esp)
  40509f:	ff 52 04             	call   *0x4(%edx)
  4050a2:	83 ec 04             	sub    $0x4,%esp
  4050a5:	e8 96 01 00 00       	call   405240 <_fb_TlsFreeCtxTb@0>
  4050aa:	c9                   	leave  
  4050ab:	b8 01 00 00 00       	mov    $0x1,%eax
  4050b0:	c2 04 00             	ret    $0x4
  4050b3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4050b9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004050c0 <_fb_ThreadCreate@12>:
  4050c0:	55                   	push   %ebp
  4050c1:	89 e5                	mov    %esp,%ebp
  4050c3:	53                   	push   %ebx
  4050c4:	83 ec 24             	sub    $0x24,%esp
  4050c7:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
  4050ce:	e8 7d 3d 00 00       	call   408e50 <_malloc>
  4050d3:	31 d2                	xor    %edx,%edx
  4050d5:	85 c0                	test   %eax,%eax
  4050d7:	89 c3                	mov    %eax,%ebx
  4050d9:	74 41                	je     40511c <_fb_ThreadCreate@12+0x5c>
  4050db:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  4050df:	8b 45 08             	mov    0x8(%ebp),%eax
  4050e2:	31 d2                	xor    %edx,%edx
  4050e4:	89 54 24 10          	mov    %edx,0x10(%esp)
  4050e8:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4050ef:	89 43 04             	mov    %eax,0x4(%ebx)
  4050f2:	8b 45 0c             	mov    0xc(%ebp),%eax
  4050f5:	89 43 08             	mov    %eax,0x8(%ebx)
  4050f8:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
  4050fb:	89 44 24 14          	mov    %eax,0x14(%esp)
  4050ff:	b8 90 50 40 00       	mov    $0x405090,%eax
  405104:	89 44 24 08          	mov    %eax,0x8(%esp)
  405108:	8b 45 10             	mov    0x10(%ebp),%eax
  40510b:	89 44 24 04          	mov    %eax,0x4(%esp)
  40510f:	e8 ac 3d 00 00       	call   408ec0 <__beginthreadex>
  405114:	89 03                	mov    %eax,(%ebx)
  405116:	85 c0                	test   %eax,%eax
  405118:	89 da                	mov    %ebx,%edx
  40511a:	74 0a                	je     405126 <_fb_ThreadCreate@12+0x66>
  40511c:	83 c4 24             	add    $0x24,%esp
  40511f:	89 d0                	mov    %edx,%eax
  405121:	5b                   	pop    %ebx
  405122:	5d                   	pop    %ebp
  405123:	c2 0c 00             	ret    $0xc
  405126:	89 1c 24             	mov    %ebx,(%esp)
  405129:	e8 12 3d 00 00       	call   408e40 <_free>
  40512e:	31 d2                	xor    %edx,%edx
  405130:	eb ea                	jmp    40511c <_fb_ThreadCreate@12+0x5c>
  405132:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  405139:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00405140 <_fb_ThreadWait@4>:
  405140:	55                   	push   %ebp
  405141:	89 e5                	mov    %esp,%ebp
  405143:	53                   	push   %ebx
  405144:	83 ec 14             	sub    $0x14,%esp
  405147:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40514a:	85 db                	test   %ebx,%ebx
  40514c:	74 2b                	je     405179 <_fb_ThreadWait@4+0x39>
  40514e:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
  405153:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  405157:	8b 03                	mov    (%ebx),%eax
  405159:	89 04 24             	mov    %eax,(%esp)
  40515c:	e8 6f 3f 00 00       	call   4090d0 <_WaitForSingleObject@8>
  405161:	8b 03                	mov    (%ebx),%eax
  405163:	83 ec 08             	sub    $0x8,%esp
  405166:	89 04 24             	mov    %eax,(%esp)
  405169:	e8 52 3f 00 00       	call   4090c0 <_CloseHandle@4>
  40516e:	83 ec 04             	sub    $0x4,%esp
  405171:	89 1c 24             	mov    %ebx,(%esp)
  405174:	e8 c7 3c 00 00       	call   408e40 <_free>
  405179:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40517c:	c9                   	leave  
  40517d:	c2 04 00             	ret    $0x4

00405180 <_fb_TlsGetCtx@8>:
  405180:	55                   	push   %ebp
  405181:	89 e5                	mov    %esp,%ebp
  405183:	83 ec 18             	sub    $0x18,%esp
  405186:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  405189:	8b 75 08             	mov    0x8(%ebp),%esi
  40518c:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  40518f:	8b 04 b5 18 08 41 00 	mov    0x410818(,%esi,4),%eax
  405196:	89 04 24             	mov    %eax,(%esp)
  405199:	e8 72 3f 00 00       	call   409110 <_TlsGetValue@4>
  40519e:	83 ec 04             	sub    $0x4,%esp
  4051a1:	85 c0                	test   %eax,%eax
  4051a3:	89 c3                	mov    %eax,%ebx
  4051a5:	74 0e                	je     4051b5 <_fb_TlsGetCtx@8+0x35>
  4051a7:	89 d8                	mov    %ebx,%eax
  4051a9:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  4051ac:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  4051af:	89 ec                	mov    %ebp,%esp
  4051b1:	5d                   	pop    %ebp
  4051b2:	c2 08 00             	ret    $0x8
  4051b5:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  4051bc:	8b 45 0c             	mov    0xc(%ebp),%eax
  4051bf:	89 44 24 04          	mov    %eax,0x4(%esp)
  4051c3:	e8 08 3d 00 00       	call   408ed0 <_calloc>
  4051c8:	89 44 24 04          	mov    %eax,0x4(%esp)
  4051cc:	89 c3                	mov    %eax,%ebx
  4051ce:	8b 04 b5 18 08 41 00 	mov    0x410818(,%esi,4),%eax
  4051d5:	89 04 24             	mov    %eax,(%esp)
  4051d8:	e8 43 3f 00 00       	call   409120 <_TlsSetValue@8>
  4051dd:	83 ec 08             	sub    $0x8,%esp
  4051e0:	eb c5                	jmp    4051a7 <_fb_TlsGetCtx@8+0x27>
  4051e2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4051e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004051f0 <_fb_TlsDelCtx@4>:
  4051f0:	55                   	push   %ebp
  4051f1:	89 e5                	mov    %esp,%ebp
  4051f3:	53                   	push   %ebx
  4051f4:	83 ec 14             	sub    $0x14,%esp
  4051f7:	8b 5d 08             	mov    0x8(%ebp),%ebx
  4051fa:	8b 04 9d 18 08 41 00 	mov    0x410818(,%ebx,4),%eax
  405201:	89 04 24             	mov    %eax,(%esp)
  405204:	e8 07 3f 00 00       	call   409110 <_TlsGetValue@4>
  405209:	83 ec 04             	sub    $0x4,%esp
  40520c:	85 c0                	test   %eax,%eax
  40520e:	74 20                	je     405230 <_fb_TlsDelCtx@4+0x40>
  405210:	89 04 24             	mov    %eax,(%esp)
  405213:	e8 28 3c 00 00       	call   408e40 <_free>
  405218:	31 c0                	xor    %eax,%eax
  40521a:	89 44 24 04          	mov    %eax,0x4(%esp)
  40521e:	8b 04 9d 18 08 41 00 	mov    0x410818(,%ebx,4),%eax
  405225:	89 04 24             	mov    %eax,(%esp)
  405228:	e8 f3 3e 00 00       	call   409120 <_TlsSetValue@8>
  40522d:	83 ec 08             	sub    $0x8,%esp
  405230:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405233:	c9                   	leave  
  405234:	c2 04 00             	ret    $0x4
  405237:	89 f6                	mov    %esi,%esi
  405239:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00405240 <_fb_TlsFreeCtxTb@0>:
  405240:	55                   	push   %ebp
  405241:	89 e5                	mov    %esp,%ebp
  405243:	53                   	push   %ebx
  405244:	83 ec 04             	sub    $0x4,%esp
  405247:	31 db                	xor    %ebx,%ebx
  405249:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  405250:	89 1c 24             	mov    %ebx,(%esp)
  405253:	43                   	inc    %ebx
  405254:	e8 97 ff ff ff       	call   4051f0 <_fb_TlsDelCtx@4>
  405259:	83 ec 04             	sub    $0x4,%esp
  40525c:	83 fb 04             	cmp    $0x4,%ebx
  40525f:	7e ef                	jle    405250 <_fb_TlsFreeCtxTb@0+0x10>
  405261:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405264:	c9                   	leave  
  405265:	c3                   	ret    
  405266:	90                   	nop    
  405267:	90                   	nop    
  405268:	90                   	nop    
  405269:	90                   	nop    
  40526a:	90                   	nop    
  40526b:	90                   	nop    
  40526c:	90                   	nop    
  40526d:	90                   	nop    
  40526e:	90                   	nop    
  40526f:	90                   	nop    

00405270 <_fb_CpuDetect>:
  405270:	a1 b0 a2 40 00       	mov    0x40a2b0,%eax
  405275:	09 c0                	or     %eax,%eax
  405277:	74 01                	je     40527a <detect>
  405279:	c3                   	ret    

0040527a <detect>:
  40527a:	55                   	push   %ebp
  40527b:	89 e5                	mov    %esp,%ebp
  40527d:	53                   	push   %ebx
  40527e:	57                   	push   %edi
  40527f:	56                   	push   %esi
  405280:	9c                   	pushf  
  405281:	58                   	pop    %eax
  405282:	89 c2                	mov    %eax,%edx
  405284:	35 00 00 20 00       	xor    $0x200000,%eax
  405289:	50                   	push   %eax
  40528a:	9d                   	popf   
  40528b:	9c                   	pushf  
  40528c:	58                   	pop    %eax
  40528d:	31 d0                	xor    %edx,%eax
  40528f:	75 28                	jne    4052b9 <cpuid_ok>
  405291:	bb 00 00 00 03       	mov    $0x3000000,%ebx
  405296:	89 e1                	mov    %esp,%ecx
  405298:	83 e4 fb             	and    $0xfffffffb,%esp
  40529b:	9c                   	pushf  
  40529c:	58                   	pop    %eax
  40529d:	89 c2                	mov    %eax,%edx
  40529f:	35 00 00 04 00       	xor    $0x40000,%eax
  4052a4:	50                   	push   %eax
  4052a5:	9d                   	popf   
  4052a6:	9c                   	pushf  
  4052a7:	58                   	pop    %eax
  4052a8:	31 d0                	xor    %edx,%eax
  4052aa:	89 cc                	mov    %ecx,%esp
  4052ac:	74 05                	je     4052b3 <cpu486_not_found>
  4052ae:	bb 00 00 00 04       	mov    $0x4000000,%ebx

004052b3 <cpu486_not_found>:
  4052b3:	52                   	push   %edx
  4052b4:	9d                   	popf   
  4052b5:	89 d8                	mov    %ebx,%eax
  4052b7:	eb 2b                	jmp    4052e4 <cpudetect_exit>

004052b9 <cpuid_ok>:
  4052b9:	b8 01 00 00 00       	mov    $0x1,%eax
  4052be:	0f a2                	cpuid  
  4052c0:	89 c3                	mov    %eax,%ebx
  4052c2:	c1 e0 10             	shl    $0x10,%eax
  4052c5:	25 00 00 00 0f       	and    $0xf000000,%eax
  4052ca:	3d 00 00 00 0f       	cmp    $0xf000000,%eax
  4052cf:	75 0b                	jne    4052dc <no_extended_family>
  4052d1:	c1 e3 0c             	shl    $0xc,%ebx
  4052d4:	81 e3 00 00 00 f0    	and    $0xf0000000,%ebx
  4052da:	01 d8                	add    %ebx,%eax

004052dc <no_extended_family>:
  4052dc:	81 e2 ff ff ff 00    	and    $0xffffff,%edx
  4052e2:	09 d0                	or     %edx,%eax

004052e4 <cpudetect_exit>:
  4052e4:	a3 b0 a2 40 00       	mov    %eax,0x40a2b0
  4052e9:	5e                   	pop    %esi
  4052ea:	5f                   	pop    %edi
  4052eb:	5b                   	pop    %ebx
  4052ec:	5d                   	pop    %ebp
  4052ed:	c3                   	ret    
  4052ee:	90                   	nop    
  4052ef:	90                   	nop    

004052f0 <_fb_hInit>:
  4052f0:	55                   	push   %ebp
  4052f1:	b8 00 03 03 00       	mov    $0x30300,%eax
  4052f6:	89 e5                	mov    %esp,%ebp
  4052f8:	57                   	push   %edi
  4052f9:	83 ec 14             	sub    $0x14,%esp
  4052fc:	bf e0 48 41 00       	mov    $0x4148e0,%edi
  405301:	89 44 24 04          	mov    %eax,0x4(%esp)
  405305:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40530c:	e8 cf 3b 00 00       	call   408ee0 <__controlfp>
  405311:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  405318:	e8 13 3e 00 00       	call   409130 <_InitializeCriticalSection@4>
  40531d:	83 ec 04             	sub    $0x4,%esp
  405320:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  405327:	e8 04 3e 00 00       	call   409130 <_InitializeCriticalSection@4>
  40532c:	83 ec 04             	sub    $0x4,%esp
  40532f:	c7 04 24 a0 48 41 00 	movl   $0x4148a0,(%esp)
  405336:	e8 f5 3d 00 00       	call   409130 <_InitializeCriticalSection@4>
  40533b:	fc                   	cld    
  40533c:	b9 0d 00 00 00       	mov    $0xd,%ecx
  405341:	31 c0                	xor    %eax,%eax
  405343:	f3 ab                	repz stos %eax,%es:(%edi)
  405345:	83 ec 04             	sub    $0x4,%esp
  405348:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  40534b:	c9                   	leave  
  40534c:	c3                   	ret    
  40534d:	90                   	nop    
  40534e:	90                   	nop    
  40534f:	90                   	nop    

00405350 <_fb_hStrAllocTmpDesc@0>:
  405350:	55                   	push   %ebp
  405351:	89 e5                	mov    %esp,%ebp
  405353:	83 ec 18             	sub    $0x18,%esp
  405356:	a1 7c c2 40 00       	mov    0x40c27c,%eax
  40535b:	85 c0                	test   %eax,%eax
  40535d:	75 09                	jne    405368 <_fb_hStrAllocTmpDesc@0+0x18>
  40535f:	a1 74 c2 40 00       	mov    0x40c274,%eax
  405364:	85 c0                	test   %eax,%eax
  405366:	74 2e                	je     405396 <_fb_hStrAllocTmpDesc@0+0x46>
  405368:	c7 04 24 70 c2 40 00 	movl   $0x40c270,(%esp)
  40536f:	e8 3c 0f 00 00       	call   4062b0 <_fb_hListAllocElem>
  405374:	31 d2                	xor    %edx,%edx
  405376:	85 c0                	test   %eax,%eax
  405378:	74 18                	je     405392 <_fb_hStrAllocTmpDesc@0+0x42>
  40537a:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
  405381:	8d 50 08             	lea    0x8(%eax),%edx
  405384:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
  40538b:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
  405392:	c9                   	leave  
  405393:	89 d0                	mov    %edx,%eax
  405395:	c3                   	ret    
  405396:	c7 04 24 70 c2 40 00 	movl   $0x40c270,(%esp)
  40539d:	b9 00 01 00 00       	mov    $0x100,%ecx
  4053a2:	ba 14 00 00 00       	mov    $0x14,%edx
  4053a7:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
  4053ab:	b8 80 c2 40 00       	mov    $0x40c280,%eax
  4053b0:	89 54 24 08          	mov    %edx,0x8(%esp)
  4053b4:	89 44 24 04          	mov    %eax,0x4(%esp)
  4053b8:	e8 93 0e 00 00       	call   406250 <_fb_hListInit>
  4053bd:	eb a9                	jmp    405368 <_fb_hStrAllocTmpDesc@0+0x18>
  4053bf:	90                   	nop    

004053c0 <_fb_hStrFreeTmpDesc@4>:
  4053c0:	55                   	push   %ebp
  4053c1:	89 e5                	mov    %esp,%ebp
  4053c3:	53                   	push   %ebx
  4053c4:	83 ec 14             	sub    $0x14,%esp
  4053c7:	8b 5d 08             	mov    0x8(%ebp),%ebx
  4053ca:	c7 04 24 70 c2 40 00 	movl   $0x40c270,(%esp)
  4053d1:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4053d5:	e8 06 0f 00 00       	call   4062e0 <_fb_hListFreeElem>
  4053da:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
  4053e1:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
  4053e8:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
  4053ef:	83 c4 14             	add    $0x14,%esp
  4053f2:	5b                   	pop    %ebx
  4053f3:	5d                   	pop    %ebp
  4053f4:	c2 04 00             	ret    $0x4
  4053f7:	89 f6                	mov    %esi,%esi
  4053f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00405400 <_fb_hStrDelTempDesc@4>:
  405400:	55                   	push   %ebp
  405401:	89 e5                	mov    %esp,%ebp
  405403:	83 ec 08             	sub    $0x8,%esp
  405406:	8b 45 08             	mov    0x8(%ebp),%eax
  405409:	83 e8 08             	sub    $0x8,%eax
  40540c:	3d 80 c2 40 00       	cmp    $0x40c280,%eax
  405411:	72 07                	jb     40541a <_fb_hStrDelTempDesc@4+0x1a>
  405413:	3d 6c d6 40 00       	cmp    $0x40d66c,%eax
  405418:	76 09                	jbe    405423 <_fb_hStrDelTempDesc@4+0x23>
  40541a:	c9                   	leave  
  40541b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  405420:	c2 04 00             	ret    $0x4
  405423:	89 04 24             	mov    %eax,(%esp)
  405426:	e8 95 ff ff ff       	call   4053c0 <_fb_hStrFreeTmpDesc@4>
  40542b:	83 ec 04             	sub    $0x4,%esp
  40542e:	c9                   	leave  
  40542f:	31 c0                	xor    %eax,%eax
  405431:	c2 04 00             	ret    $0x4
  405434:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  40543a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00405440 <_fb_hStrAlloc@8>:
  405440:	55                   	push   %ebp
  405441:	89 e5                	mov    %esp,%ebp
  405443:	83 ec 18             	sub    $0x18,%esp
  405446:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  405449:	8b 7d 0c             	mov    0xc(%ebp),%edi
  40544c:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  40544f:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  405452:	8d 5f 1f             	lea    0x1f(%edi),%ebx
  405455:	8b 75 08             	mov    0x8(%ebp),%esi
  405458:	83 e3 e0             	and    $0xffffffe0,%ebx
  40545b:	8d 43 01             	lea    0x1(%ebx),%eax
  40545e:	89 04 24             	mov    %eax,(%esp)
  405461:	e8 ea 39 00 00       	call   408e50 <_malloc>
  405466:	89 06                	mov    %eax,(%esi)
  405468:	85 c0                	test   %eax,%eax
  40546a:	74 17                	je     405483 <_fb_hStrAlloc@8+0x43>
  40546c:	89 5e 08             	mov    %ebx,0x8(%esi)
  40546f:	89 f0                	mov    %esi,%eax
  405471:	89 7e 04             	mov    %edi,0x4(%esi)
  405474:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  405477:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  40547a:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  40547d:	89 ec                	mov    %ebp,%esp
  40547f:	5d                   	pop    %ebp
  405480:	c2 08 00             	ret    $0x8
  405483:	8d 47 01             	lea    0x1(%edi),%eax
  405486:	89 fb                	mov    %edi,%ebx
  405488:	89 04 24             	mov    %eax,(%esp)
  40548b:	e8 c0 39 00 00       	call   408e50 <_malloc>
  405490:	89 06                	mov    %eax,(%esi)
  405492:	85 c0                	test   %eax,%eax
  405494:	75 d6                	jne    40546c <_fb_hStrAlloc@8+0x2c>
  405496:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
  40549d:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
  4054a4:	eb ce                	jmp    405474 <_fb_hStrAlloc@8+0x34>
  4054a6:	8d 76 00             	lea    0x0(%esi),%esi
  4054a9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004054b0 <_fb_hStrRealloc@12>:
  4054b0:	55                   	push   %ebp
  4054b1:	89 e5                	mov    %esp,%ebp
  4054b3:	83 ec 18             	sub    $0x18,%esp
  4054b6:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  4054b9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  4054bc:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  4054bf:	8b 75 08             	mov    0x8(%ebp),%esi
  4054c2:	83 c3 1f             	add    $0x1f,%ebx
  4054c5:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  4054c8:	83 e3 e0             	and    $0xffffffe0,%ebx
  4054cb:	8b 16                	mov    (%esi),%edx
  4054cd:	89 d8                	mov    %ebx,%eax
  4054cf:	c1 f8 03             	sar    $0x3,%eax
  4054d2:	01 c3                	add    %eax,%ebx
  4054d4:	85 d2                	test   %edx,%edx
  4054d6:	74 18                	je     4054f0 <_fb_hStrRealloc@12+0x40>
  4054d8:	8b 4e 08             	mov    0x8(%esi),%ecx
  4054db:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
  4054de:	7c 10                	jl     4054f0 <_fb_hStrRealloc@12+0x40>
  4054e0:	89 c8                	mov    %ecx,%eax
  4054e2:	c1 f8 03             	sar    $0x3,%eax
  4054e5:	29 c1                	sub    %eax,%ecx
  4054e7:	39 d9                	cmp    %ebx,%ecx
  4054e9:	7e 2b                	jle    405516 <_fb_hStrRealloc@12+0x66>
  4054eb:	90                   	nop    
  4054ec:	8d 74 26 00          	lea    0x0(%esi),%esi
  4054f0:	8b 4d 10             	mov    0x10(%ebp),%ecx
  4054f3:	85 c9                	test   %ecx,%ecx
  4054f5:	75 40                	jne    405537 <_fb_hStrRealloc@12+0x87>
  4054f7:	89 34 24             	mov    %esi,(%esp)
  4054fa:	e8 51 f3 ff ff       	call   404850 <_fb_StrDelete@4>
  4054ff:	83 ec 04             	sub    $0x4,%esp
  405502:	8d 43 01             	lea    0x1(%ebx),%eax
  405505:	89 04 24             	mov    %eax,(%esp)
  405508:	e8 43 39 00 00       	call   408e50 <_malloc>
  40550d:	89 06                	mov    %eax,(%esi)
  40550f:	85 c0                	test   %eax,%eax
  405511:	74 5d                	je     405570 <_fb_hStrRealloc@12+0xc0>
  405513:	89 5e 08             	mov    %ebx,0x8(%esi)
  405516:	8b 46 04             	mov    0x4(%esi),%eax
  405519:	8b 55 0c             	mov    0xc(%ebp),%edx
  40551c:	25 00 00 00 80       	and    $0x80000000,%eax
  405521:	09 d0                	or     %edx,%eax
  405523:	89 46 04             	mov    %eax,0x4(%esi)
  405526:	89 f0                	mov    %esi,%eax
  405528:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  40552b:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  40552e:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  405531:	89 ec                	mov    %ebp,%esp
  405533:	5d                   	pop    %ebp
  405534:	c2 0c 00             	ret    $0xc
  405537:	89 14 24             	mov    %edx,(%esp)
  40553a:	8d 43 01             	lea    0x1(%ebx),%eax
  40553d:	89 d7                	mov    %edx,%edi
  40553f:	89 44 24 04          	mov    %eax,0x4(%esp)
  405543:	e8 e8 38 00 00       	call   408e30 <_realloc>
  405548:	89 06                	mov    %eax,(%esi)
  40554a:	85 c0                	test   %eax,%eax
  40554c:	75 c5                	jne    405513 <_fb_hStrRealloc@12+0x63>
  40554e:	89 3c 24             	mov    %edi,(%esp)
  405551:	8b 45 0c             	mov    0xc(%ebp),%eax
  405554:	40                   	inc    %eax
  405555:	89 44 24 04          	mov    %eax,0x4(%esp)
  405559:	e8 d2 38 00 00       	call   408e30 <_realloc>
  40555e:	85 c0                	test   %eax,%eax
  405560:	89 c2                	mov    %eax,%edx
  405562:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  405565:	74 32                	je     405599 <_fb_hStrRealloc@12+0xe9>
  405567:	89 06                	mov    %eax,(%esi)
  405569:	eb 18                	jmp    405583 <_fb_hStrRealloc@12+0xd3>
  40556b:	90                   	nop    
  40556c:	8d 74 26 00          	lea    0x0(%esi),%esi
  405570:	8b 45 0c             	mov    0xc(%ebp),%eax
  405573:	40                   	inc    %eax
  405574:	89 04 24             	mov    %eax,(%esp)
  405577:	e8 d4 38 00 00       	call   408e50 <_malloc>
  40557c:	89 06                	mov    %eax,(%esi)
  40557e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  405581:	89 c2                	mov    %eax,%edx
  405583:	85 d2                	test   %edx,%edx
  405585:	75 8c                	jne    405513 <_fb_hStrRealloc@12+0x63>
  405587:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
  40558e:	31 c0                	xor    %eax,%eax
  405590:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
  405597:	eb 8f                	jmp    405528 <_fb_hStrRealloc@12+0x78>
  405599:	89 3e                	mov    %edi,(%esi)
  40559b:	31 c0                	xor    %eax,%eax
  40559d:	eb 89                	jmp    405528 <_fb_hStrRealloc@12+0x78>
  40559f:	90                   	nop    

004055a0 <_fb_hStrAllocTemp_NoLock@8>:
  4055a0:	55                   	push   %ebp
  4055a1:	89 e5                	mov    %esp,%ebp
  4055a3:	56                   	push   %esi
  4055a4:	53                   	push   %ebx
  4055a5:	83 ec 10             	sub    $0x10,%esp
  4055a8:	8b 5d 08             	mov    0x8(%ebp),%ebx
  4055ab:	85 db                	test   %ebx,%ebx
  4055ad:	0f 94 c0             	sete   %al
  4055b0:	0f b6 f0             	movzbl %al,%esi
  4055b3:	85 f6                	test   %esi,%esi
  4055b5:	74 0d                	je     4055c4 <_fb_hStrAllocTemp_NoLock@8+0x24>
  4055b7:	e8 94 fd ff ff       	call   405350 <_fb_hStrAllocTmpDesc@0>
  4055bc:	89 c3                	mov    %eax,%ebx
  4055be:	31 c0                	xor    %eax,%eax
  4055c0:	85 db                	test   %ebx,%ebx
  4055c2:	74 25                	je     4055e9 <_fb_hStrAllocTemp_NoLock@8+0x49>
  4055c4:	89 1c 24             	mov    %ebx,(%esp)
  4055c7:	31 c0                	xor    %eax,%eax
  4055c9:	89 44 24 08          	mov    %eax,0x8(%esp)
  4055cd:	8b 45 0c             	mov    0xc(%ebp),%eax
  4055d0:	89 44 24 04          	mov    %eax,0x4(%esp)
  4055d4:	e8 d7 fe ff ff       	call   4054b0 <_fb_hStrRealloc@12>
  4055d9:	83 ec 0c             	sub    $0xc,%esp
  4055dc:	85 c0                	test   %eax,%eax
  4055de:	74 12                	je     4055f2 <_fb_hStrAllocTemp_NoLock@8+0x52>
  4055e0:	81 4b 04 00 00 00 80 	orl    $0x80000000,0x4(%ebx)
  4055e7:	89 d8                	mov    %ebx,%eax
  4055e9:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4055ec:	5b                   	pop    %ebx
  4055ed:	5e                   	pop    %esi
  4055ee:	5d                   	pop    %ebp
  4055ef:	c2 08 00             	ret    $0x8
  4055f2:	85 f6                	test   %esi,%esi
  4055f4:	75 04                	jne    4055fa <_fb_hStrAllocTemp_NoLock@8+0x5a>
  4055f6:	31 c0                	xor    %eax,%eax
  4055f8:	eb ef                	jmp    4055e9 <_fb_hStrAllocTemp_NoLock@8+0x49>
  4055fa:	89 1c 24             	mov    %ebx,(%esp)
  4055fd:	e8 fe fd ff ff       	call   405400 <_fb_hStrDelTempDesc@4>
  405602:	83 ec 04             	sub    $0x4,%esp
  405605:	31 c0                	xor    %eax,%eax
  405607:	eb e0                	jmp    4055e9 <_fb_hStrAllocTemp_NoLock@8+0x49>
  405609:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00405610 <_fb_hStrAllocTemp@8>:
  405610:	55                   	push   %ebp
  405611:	89 e5                	mov    %esp,%ebp
  405613:	53                   	push   %ebx
  405614:	83 ec 14             	sub    $0x14,%esp
  405617:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  40561e:	e8 6d 3a 00 00       	call   409090 <_EnterCriticalSection@4>
  405623:	8b 45 0c             	mov    0xc(%ebp),%eax
  405626:	83 ec 04             	sub    $0x4,%esp
  405629:	89 44 24 04          	mov    %eax,0x4(%esp)
  40562d:	8b 45 08             	mov    0x8(%ebp),%eax
  405630:	89 04 24             	mov    %eax,(%esp)
  405633:	e8 68 ff ff ff       	call   4055a0 <_fb_hStrAllocTemp_NoLock@8>
  405638:	83 ec 08             	sub    $0x8,%esp
  40563b:	89 c3                	mov    %eax,%ebx
  40563d:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  405644:	e8 57 3a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  405649:	83 ec 04             	sub    $0x4,%esp
  40564c:	89 d8                	mov    %ebx,%eax
  40564e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405651:	c9                   	leave  
  405652:	c2 08 00             	ret    $0x8
  405655:	8d 74 26 00          	lea    0x0(%esi),%esi
  405659:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00405660 <_fb_hStrDelTemp_NoLock@4>:
  405660:	55                   	push   %ebp
  405661:	89 e5                	mov    %esp,%ebp
  405663:	53                   	push   %ebx
  405664:	83 ec 04             	sub    $0x4,%esp
  405667:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40566a:	85 db                	test   %ebx,%ebx
  40566c:	74 20                	je     40568e <_fb_hStrDelTemp_NoLock@4+0x2e>
  40566e:	8b 43 04             	mov    0x4(%ebx),%eax
  405671:	85 c0                	test   %eax,%eax
  405673:	78 0c                	js     405681 <_fb_hStrDelTemp_NoLock@4+0x21>
  405675:	89 5d 08             	mov    %ebx,0x8(%ebp)
  405678:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40567b:	c9                   	leave  
  40567c:	e9 7f fd ff ff       	jmp    405400 <_fb_hStrDelTempDesc@4>
  405681:	89 1c 24             	mov    %ebx,(%esp)
  405684:	e8 c7 f1 ff ff       	call   404850 <_fb_StrDelete@4>
  405689:	83 ec 04             	sub    $0x4,%esp
  40568c:	eb e7                	jmp    405675 <_fb_hStrDelTemp_NoLock@4+0x15>
  40568e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405691:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  405696:	c9                   	leave  
  405697:	c2 04 00             	ret    $0x4
  40569a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

004056a0 <_fb_hStrDelTemp@4>:
  4056a0:	55                   	push   %ebp
  4056a1:	89 e5                	mov    %esp,%ebp
  4056a3:	53                   	push   %ebx
  4056a4:	83 ec 04             	sub    $0x4,%esp
  4056a7:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4056ae:	e8 dd 39 00 00       	call   409090 <_EnterCriticalSection@4>
  4056b3:	8b 45 08             	mov    0x8(%ebp),%eax
  4056b6:	83 ec 04             	sub    $0x4,%esp
  4056b9:	89 04 24             	mov    %eax,(%esp)
  4056bc:	e8 9f ff ff ff       	call   405660 <_fb_hStrDelTemp_NoLock@4>
  4056c1:	83 ec 04             	sub    $0x4,%esp
  4056c4:	89 c3                	mov    %eax,%ebx
  4056c6:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  4056cd:	e8 ce 39 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4056d2:	83 ec 04             	sub    $0x4,%esp
  4056d5:	89 d8                	mov    %ebx,%eax
  4056d7:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4056da:	c9                   	leave  
  4056db:	c2 04 00             	ret    $0x4
  4056de:	89 f6                	mov    %esi,%esi

004056e0 <_fb_hStrCopy@12>:
  4056e0:	55                   	push   %ebp
  4056e1:	89 e5                	mov    %esp,%ebp
  4056e3:	83 ec 08             	sub    $0x8,%esp
  4056e6:	89 34 24             	mov    %esi,(%esp)
  4056e9:	8b 75 0c             	mov    0xc(%ebp),%esi
  4056ec:	8b 4d 10             	mov    0x10(%ebp),%ecx
  4056ef:	89 7c 24 04          	mov    %edi,0x4(%esp)
  4056f3:	85 f6                	test   %esi,%esi
  4056f5:	8b 7d 08             	mov    0x8(%ebp),%edi
  4056f8:	0f 95 c0             	setne  %al
  4056fb:	31 d2                	xor    %edx,%edx
  4056fd:	85 c9                	test   %ecx,%ecx
  4056ff:	0f 9f c2             	setg   %dl
  405702:	85 d0                	test   %edx,%eax
  405704:	74 10                	je     405716 <_fb_hStrCopy@12+0x36>
  405706:	51                   	push   %ecx
  405707:	56                   	push   %esi
  405708:	51                   	push   %ecx
  405709:	c1 e9 02             	shr    $0x2,%ecx
  40570c:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
  40570e:	59                   	pop    %ecx
  40570f:	83 e1 03             	and    $0x3,%ecx
  405712:	f3 a4                	repz movsb %ds:(%esi),%es:(%edi)
  405714:	5e                   	pop    %esi
  405715:	59                   	pop    %ecx
  405716:	c6 07 00             	movb   $0x0,(%edi)
  405719:	8b 34 24             	mov    (%esp),%esi
  40571c:	8b 7c 24 04          	mov    0x4(%esp),%edi
  405720:	89 ec                	mov    %ebp,%esp
  405722:	5d                   	pop    %ebp
  405723:	c2 0c 00             	ret    $0xc
  405726:	8d 76 00             	lea    0x0(%esi),%esi
  405729:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00405730 <_fb_hStrSkipChar@12>:
  405730:	55                   	push   %ebp
  405731:	89 e5                	mov    %esp,%ebp
  405733:	8b 55 08             	mov    0x8(%ebp),%edx
  405736:	53                   	push   %ebx
  405737:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  40573a:	8b 5d 10             	mov    0x10(%ebp),%ebx
  40573d:	85 d2                	test   %edx,%edx
  40573f:	74 1f                	je     405760 <_fb_hStrSkipChar@12+0x30>
  405741:	49                   	dec    %ecx
  405742:	78 1c                	js     405760 <_fb_hStrSkipChar@12+0x30>
  405744:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  40574a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi
  405750:	0f be 02             	movsbl (%edx),%eax
  405753:	39 d8                	cmp    %ebx,%eax
  405755:	75 09                	jne    405760 <_fb_hStrSkipChar@12+0x30>
  405757:	42                   	inc    %edx
  405758:	49                   	dec    %ecx
  405759:	79 f5                	jns    405750 <_fb_hStrSkipChar@12+0x20>
  40575b:	90                   	nop    
  40575c:	8d 74 26 00          	lea    0x0(%esi),%esi
  405760:	5b                   	pop    %ebx
  405761:	89 d0                	mov    %edx,%eax
  405763:	5d                   	pop    %ebp
  405764:	c2 0c 00             	ret    $0xc
  405767:	89 f6                	mov    %esi,%esi
  405769:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00405770 <_fb_hStrSkipCharRev@12>:
  405770:	55                   	push   %ebp
  405771:	89 e5                	mov    %esp,%ebp
  405773:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  405776:	56                   	push   %esi
  405777:	8b 75 10             	mov    0x10(%ebp),%esi
  40577a:	53                   	push   %ebx
  40577b:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40577e:	85 db                	test   %ebx,%ebx
  405780:	0f 94 c0             	sete   %al
  405783:	85 c9                	test   %ecx,%ecx
  405785:	0f 9e c2             	setle  %dl
  405788:	09 d0                	or     %edx,%eax
  40578a:	a8 01                	test   $0x1,%al
  40578c:	89 da                	mov    %ebx,%edx
  40578e:	75 24                	jne    4057b4 <_fb_hStrSkipCharRev@12+0x44>
  405790:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
  405793:	49                   	dec    %ecx
  405794:	8d 58 ff             	lea    0xffffffff(%eax),%ebx
  405797:	78 19                	js     4057b2 <_fb_hStrSkipCharRev@12+0x42>
  405799:	0f b6 50 ff          	movzbl 0xffffffff(%eax),%edx
  40579d:	eb 08                	jmp    4057a7 <_fb_hStrSkipCharRev@12+0x37>
  40579f:	90                   	nop    
  4057a0:	4b                   	dec    %ebx
  4057a1:	49                   	dec    %ecx
  4057a2:	78 0e                	js     4057b2 <_fb_hStrSkipCharRev@12+0x42>
  4057a4:	0f b6 13             	movzbl (%ebx),%edx
  4057a7:	0f be c2             	movsbl %dl,%eax
  4057aa:	39 f0                	cmp    %esi,%eax
  4057ac:	74 f2                	je     4057a0 <_fb_hStrSkipCharRev@12+0x30>
  4057ae:	84 d2                	test   %dl,%dl
  4057b0:	74 ee                	je     4057a0 <_fb_hStrSkipCharRev@12+0x30>
  4057b2:	89 da                	mov    %ebx,%edx
  4057b4:	5b                   	pop    %ebx
  4057b5:	89 d0                	mov    %edx,%eax
  4057b7:	5e                   	pop    %esi
  4057b8:	5d                   	pop    %ebp
  4057b9:	c2 0c 00             	ret    $0xc
  4057bc:	90                   	nop    
  4057bd:	90                   	nop    
  4057be:	90                   	nop    
  4057bf:	90                   	nop    

004057c0 <_fb_PrintVoidEx>:
  4057c0:	55                   	push   %ebp
  4057c1:	89 e5                	mov    %esp,%ebp
  4057c3:	83 ec 18             	sub    $0x18,%esp
  4057c6:	8b 45 0c             	mov    0xc(%ebp),%eax
  4057c9:	8b 55 08             	mov    0x8(%ebp),%edx
  4057cc:	a8 04                	test   $0x4,%al
  4057ce:	75 20                	jne    4057f0 <_fb_PrintVoidEx+0x30>
  4057d0:	a8 01                	test   $0x1,%al
  4057d2:	75 1c                	jne    4057f0 <_fb_PrintVoidEx+0x30>
  4057d4:	a8 02                	test   $0x2,%al
  4057d6:	75 08                	jne    4057e0 <_fb_PrintVoidEx+0x20>
  4057d8:	c9                   	leave  
  4057d9:	c3                   	ret    
  4057da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4057e0:	89 55 08             	mov    %edx,0x8(%ebp)
  4057e3:	83 e0 fc             	and    $0xfffffffc,%eax
  4057e6:	89 45 0c             	mov    %eax,0xc(%ebp)
  4057e9:	c9                   	leave  
  4057ea:	e9 41 01 00 00       	jmp    405930 <_fb_PrintPadEx>
  4057ef:	90                   	nop    
  4057f0:	89 14 24             	mov    %edx,(%esp)
  4057f3:	b9 02 00 00 00       	mov    $0x2,%ecx
  4057f8:	b8 30 b0 40 00       	mov    $0x40b030,%eax
  4057fd:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  405801:	89 44 24 04          	mov    %eax,0x4(%esp)
  405805:	e8 56 00 00 00       	call   405860 <_fb_hFilePrintBufferEx>
  40580a:	c9                   	leave  
  40580b:	c3                   	ret    
  40580c:	8d 74 26 00          	lea    0x0(%esi),%esi

00405810 <_fb_PrintVoid@8>:
  405810:	55                   	push   %ebp
  405811:	89 e5                	mov    %esp,%ebp
  405813:	83 ec 08             	sub    $0x8,%esp
  405816:	8b 55 08             	mov    0x8(%ebp),%edx
  405819:	8b 45 0c             	mov    0xc(%ebp),%eax
  40581c:	85 d2                	test   %edx,%edx
  40581e:	89 44 24 04          	mov    %eax,0x4(%esp)
  405822:	b8 30 08 41 00       	mov    $0x410830,%eax
  405827:	74 21                	je     40584a <_fb_PrintVoid@8+0x3a>
  405829:	83 fa ff             	cmp    $0xffffffff,%edx
  40582c:	b8 70 08 41 00       	mov    $0x410870,%eax
  405831:	74 17                	je     40584a <_fb_PrintVoid@8+0x3a>
  405833:	8d 42 ff             	lea    0xffffffff(%edx),%eax
  405836:	31 c9                	xor    %ecx,%ecx
  405838:	3d fd 00 00 00       	cmp    $0xfd,%eax
  40583d:	77 09                	ja     405848 <_fb_PrintVoid@8+0x38>
  40583f:	c1 e2 06             	shl    $0x6,%edx
  405842:	8d 8a 70 08 41 00    	lea    0x410870(%edx),%ecx
  405848:	89 c8                	mov    %ecx,%eax
  40584a:	89 04 24             	mov    %eax,(%esp)
  40584d:	e8 6e ff ff ff       	call   4057c0 <_fb_PrintVoidEx>
  405852:	c9                   	leave  
  405853:	c2 08 00             	ret    $0x8
  405856:	90                   	nop    
  405857:	90                   	nop    
  405858:	90                   	nop    
  405859:	90                   	nop    
  40585a:	90                   	nop    
  40585b:	90                   	nop    
  40585c:	90                   	nop    
  40585d:	90                   	nop    
  40585e:	90                   	nop    
  40585f:	90                   	nop    

00405860 <_fb_hFilePrintBufferEx>:
  405860:	55                   	push   %ebp
  405861:	89 e5                	mov    %esp,%ebp
  405863:	53                   	push   %ebx
  405864:	83 ec 24             	sub    $0x24,%esp
  405867:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40586a:	e8 f1 0f 00 00       	call   406860 <_fb_DevScrnInit_Write>
  40586f:	85 db                	test   %ebx,%ebx
  405871:	74 07                	je     40587a <_fb_hFilePrintBufferEx+0x1a>
  405873:	8b 43 34             	mov    0x34(%ebx),%eax
  405876:	85 c0                	test   %eax,%eax
  405878:	75 16                	jne    405890 <_fb_hFilePrintBufferEx+0x30>
  40587a:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405881:	e8 ca 0a 00 00       	call   406350 <_fb_ErrorSetNum@4>
  405886:	83 ec 04             	sub    $0x4,%esp
  405889:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40588c:	c9                   	leave  
  40588d:	c3                   	ret    
  40588e:	89 f6                	mov    %esi,%esi
  405890:	31 c0                	xor    %eax,%eax
  405892:	b9 01 00 00 00       	mov    $0x1,%ecx
  405897:	31 d2                	xor    %edx,%edx
  405899:	89 44 24 1c          	mov    %eax,0x1c(%esp)
  40589d:	b8 01 00 00 00       	mov    $0x1,%eax
  4058a2:	89 44 24 18          	mov    %eax,0x18(%esp)
  4058a6:	89 4c 24 14          	mov    %ecx,0x14(%esp)
  4058aa:	8b 45 10             	mov    0x10(%ebp),%eax
  4058ad:	89 44 24 10          	mov    %eax,0x10(%esp)
  4058b1:	8b 45 0c             	mov    0xc(%ebp),%eax
  4058b4:	89 1c 24             	mov    %ebx,(%esp)
  4058b7:	89 54 24 04          	mov    %edx,0x4(%esp)
  4058bb:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4058bf:	31 c0                	xor    %eax,%eax
  4058c1:	89 44 24 08          	mov    %eax,0x8(%esp)
  4058c5:	e8 a6 0b 00 00       	call   406470 <_fb_FilePutDataEx>
  4058ca:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4058cd:	c9                   	leave  
  4058ce:	c3                   	ret    
  4058cf:	90                   	nop    

004058d0 <_fb_hFilePrintBuffer>:
  4058d0:	55                   	push   %ebp
  4058d1:	89 e5                	mov    %esp,%ebp
  4058d3:	83 ec 18             	sub    $0x18,%esp
  4058d6:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  4058d9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  4058dc:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  4058df:	8b 75 08             	mov    0x8(%ebp),%esi
  4058e2:	89 1c 24             	mov    %ebx,(%esp)
  4058e5:	e8 76 35 00 00       	call   408e60 <_strlen>
  4058ea:	89 44 24 08          	mov    %eax,0x8(%esp)
  4058ee:	85 f6                	test   %esi,%esi
  4058f0:	b8 30 08 41 00       	mov    $0x410830,%eax
  4058f5:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4058f9:	74 21                	je     40591c <_fb_hFilePrintBuffer+0x4c>
  4058fb:	83 fe ff             	cmp    $0xffffffff,%esi
  4058fe:	b8 70 08 41 00       	mov    $0x410870,%eax
  405903:	74 17                	je     40591c <_fb_hFilePrintBuffer+0x4c>
  405905:	8d 46 ff             	lea    0xffffffff(%esi),%eax
  405908:	31 d2                	xor    %edx,%edx
  40590a:	3d fd 00 00 00       	cmp    $0xfd,%eax
  40590f:	77 09                	ja     40591a <_fb_hFilePrintBuffer+0x4a>
  405911:	c1 e6 06             	shl    $0x6,%esi
  405914:	8d 96 70 08 41 00    	lea    0x410870(%esi),%edx
  40591a:	89 d0                	mov    %edx,%eax
  40591c:	89 04 24             	mov    %eax,(%esp)
  40591f:	e8 3c ff ff ff       	call   405860 <_fb_hFilePrintBufferEx>
  405924:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  405927:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  40592a:	89 ec                	mov    %ebp,%esp
  40592c:	5d                   	pop    %ebp
  40592d:	c3                   	ret    
  40592e:	90                   	nop    
  40592f:	90                   	nop    

00405930 <_fb_PrintPadEx>:
  405930:	55                   	push   %ebp
  405931:	89 e5                	mov    %esp,%ebp
  405933:	57                   	push   %edi
  405934:	56                   	push   %esi
  405935:	53                   	push   %ebx
  405936:	83 ec 2c             	sub    $0x2c,%esp
  405939:	8b 7d 08             	mov    0x8(%ebp),%edi
  40593c:	e8 1f 0f 00 00       	call   406860 <_fb_DevScrnInit_Write>
  405941:	85 ff                	test   %edi,%edi
  405943:	89 fe                	mov    %edi,%esi
  405945:	74 31                	je     405978 <_fb_PrintPadEx+0x48>
  405947:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40594e:	e8 3d 37 00 00       	call   409090 <_EnterCriticalSection@4>
  405953:	8b 47 3c             	mov    0x3c(%edi),%eax
  405956:	83 ec 04             	sub    $0x4,%esp
  405959:	eb 0a                	jmp    405965 <_fb_PrintPadEx+0x35>
  40595b:	90                   	nop    
  40595c:	8d 74 26 00          	lea    0x0(%esi),%esi
  405960:	89 c6                	mov    %eax,%esi
  405962:	8b 40 3c             	mov    0x3c(%eax),%eax
  405965:	85 c0                	test   %eax,%eax
  405967:	75 f7                	jne    405960 <_fb_PrintPadEx+0x30>
  405969:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  405970:	e8 2b 37 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  405975:	83 ec 04             	sub    $0x4,%esp
  405978:	8b 46 24             	mov    0x24(%esi),%eax
  40597b:	ba 93 24 49 92       	mov    $0x92492493,%edx
  405980:	8d 48 0e             	lea    0xe(%eax),%ecx
  405983:	8d 58 01             	lea    0x1(%eax),%ebx
  405986:	89 c8                	mov    %ecx,%eax
  405988:	f7 ea                	imul   %edx
  40598a:	89 c8                	mov    %ecx,%eax
  40598c:	c1 f8 1f             	sar    $0x1f,%eax
  40598f:	01 ca                	add    %ecx,%edx
  405991:	c1 fa 03             	sar    $0x3,%edx
  405994:	89 d1                	mov    %edx,%ecx
  405996:	29 c1                	sub    %eax,%ecx
  405998:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
  40599f:	29 c8                	sub    %ecx,%eax
  4059a1:	8d 4c 00 01          	lea    0x1(%eax,%eax,1),%ecx
  4059a5:	8b 46 28             	mov    0x28(%esi),%eax
  4059a8:	85 c0                	test   %eax,%eax
  4059aa:	74 14                	je     4059c0 <_fb_PrintPadEx+0x90>
  4059ac:	83 e8 0e             	sub    $0xe,%eax
  4059af:	39 c1                	cmp    %eax,%ecx
  4059b1:	76 0d                	jbe    4059c0 <_fb_PrintPadEx+0x90>
  4059b3:	b9 01 00 00 00       	mov    $0x1,%ecx
  4059b8:	90                   	nop    
  4059b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4059c0:	39 d9                	cmp    %ebx,%ecx
  4059c2:	7f 22                	jg     4059e6 <_fb_PrintPadEx+0xb6>
  4059c4:	89 3c 24             	mov    %edi,(%esp)
  4059c7:	b9 02 00 00 00       	mov    $0x2,%ecx
  4059cc:	ba 40 b0 40 00       	mov    $0x40b040,%edx
  4059d1:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  4059d5:	89 54 24 04          	mov    %edx,0x4(%esp)
  4059d9:	e8 82 fe ff ff       	call   405860 <_fb_hFilePrintBufferEx>
  4059de:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4059e1:	5b                   	pop    %ebx
  4059e2:	5e                   	pop    %esi
  4059e3:	5f                   	pop    %edi
  4059e4:	5d                   	pop    %ebp
  4059e5:	c3                   	ret    
  4059e6:	29 d9                	sub    %ebx,%ecx
  4059e8:	8d 75 d8             	lea    0xffffffd8(%ebp),%esi
  4059eb:	b8 20 00 00 00       	mov    $0x20,%eax
  4059f0:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  4059f4:	89 cb                	mov    %ecx,%ebx
  4059f6:	89 34 24             	mov    %esi,(%esp)
  4059f9:	89 44 24 04          	mov    %eax,0x4(%esp)
  4059fd:	e8 0e 34 00 00       	call   408e10 <_memset>
  405a02:	c6 44 2b d8 00       	movb   $0x0,0xffffffd8(%ebx,%ebp,1)
  405a07:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  405a0b:	89 74 24 04          	mov    %esi,0x4(%esp)
  405a0f:	89 3c 24             	mov    %edi,(%esp)
  405a12:	e8 49 fe ff ff       	call   405860 <_fb_hFilePrintBufferEx>
  405a17:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  405a1a:	5b                   	pop    %ebx
  405a1b:	5e                   	pop    %esi
  405a1c:	5f                   	pop    %edi
  405a1d:	5d                   	pop    %ebp
  405a1e:	c3                   	ret    
  405a1f:	90                   	nop    

00405a20 <_fb_PrintPad@8>:
  405a20:	55                   	push   %ebp
  405a21:	89 e5                	mov    %esp,%ebp
  405a23:	83 ec 08             	sub    $0x8,%esp
  405a26:	8b 55 08             	mov    0x8(%ebp),%edx
  405a29:	8b 45 0c             	mov    0xc(%ebp),%eax
  405a2c:	85 d2                	test   %edx,%edx
  405a2e:	89 44 24 04          	mov    %eax,0x4(%esp)
  405a32:	b8 30 08 41 00       	mov    $0x410830,%eax
  405a37:	74 21                	je     405a5a <_fb_PrintPad@8+0x3a>
  405a39:	83 fa ff             	cmp    $0xffffffff,%edx
  405a3c:	b8 70 08 41 00       	mov    $0x410870,%eax
  405a41:	74 17                	je     405a5a <_fb_PrintPad@8+0x3a>
  405a43:	8d 42 ff             	lea    0xffffffff(%edx),%eax
  405a46:	31 c9                	xor    %ecx,%ecx
  405a48:	3d fd 00 00 00       	cmp    $0xfd,%eax
  405a4d:	77 09                	ja     405a58 <_fb_PrintPad@8+0x38>
  405a4f:	c1 e2 06             	shl    $0x6,%edx
  405a52:	8d 8a 70 08 41 00    	lea    0x410870(%edx),%ecx
  405a58:	89 c8                	mov    %ecx,%eax
  405a5a:	89 04 24             	mov    %eax,(%esp)
  405a5d:	e8 ce fe ff ff       	call   405930 <_fb_PrintPadEx>
  405a62:	c9                   	leave  
  405a63:	c2 08 00             	ret    $0x8
  405a66:	90                   	nop    
  405a67:	90                   	nop    
  405a68:	90                   	nop    
  405a69:	90                   	nop    
  405a6a:	90                   	nop    
  405a6b:	90                   	nop    
  405a6c:	90                   	nop    
  405a6d:	90                   	nop    
  405a6e:	90                   	nop    
  405a6f:	90                   	nop    

00405a70 <_fb_ConsoleGetRawYEx>:
  405a70:	55                   	push   %ebp
  405a71:	89 e5                	mov    %esp,%ebp
  405a73:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  405a76:	83 ec 38             	sub    $0x38,%esp
  405a79:	89 44 24 04          	mov    %eax,0x4(%esp)
  405a7d:	8b 45 08             	mov    0x8(%ebp),%eax
  405a80:	89 04 24             	mov    %eax,(%esp)
  405a83:	e8 b8 36 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  405a88:	83 ec 08             	sub    $0x8,%esp
  405a8b:	31 d2                	xor    %edx,%edx
  405a8d:	85 c0                	test   %eax,%eax
  405a8f:	74 04                	je     405a95 <_fb_ConsoleGetRawYEx+0x25>
  405a91:	0f bf 55 de          	movswl 0xffffffde(%ebp),%edx
  405a95:	c9                   	leave  
  405a96:	89 d0                	mov    %edx,%eax
  405a98:	c3                   	ret    
  405a99:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00405aa0 <_fb_ConsoleGetRawY>:
  405aa0:	55                   	push   %ebp
  405aa1:	89 e5                	mov    %esp,%ebp
  405aa3:	83 ec 08             	sub    $0x8,%esp
  405aa6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  405aad:	e8 8e 0f 00 00       	call   406a40 <_fb_hConsoleGetHandle>
  405ab2:	89 04 24             	mov    %eax,(%esp)
  405ab5:	e8 b6 ff ff ff       	call   405a70 <_fb_ConsoleGetRawYEx>
  405aba:	c9                   	leave  
  405abb:	c3                   	ret    
  405abc:	8d 74 26 00          	lea    0x0(%esi),%esi

00405ac0 <_fb_ConsoleGetY>:
  405ac0:	55                   	push   %ebp
  405ac1:	89 e5                	mov    %esp,%ebp
  405ac3:	83 ec 18             	sub    $0x18,%esp
  405ac6:	e8 d5 ff ff ff       	call   405aa0 <_fb_ConsoleGetRawY>
  405acb:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
  405ace:	31 c0                	xor    %eax,%eax
  405ad0:	31 d2                	xor    %edx,%edx
  405ad2:	89 44 24 08          	mov    %eax,0x8(%esp)
  405ad6:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  405ad9:	89 44 24 04          	mov    %eax,0x4(%esp)
  405add:	89 54 24 0c          	mov    %edx,0xc(%esp)
  405ae1:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  405ae8:	e8 a3 0e 00 00       	call   406990 <_fb_hConvertFromConsole@16>
  405aed:	83 ec 10             	sub    $0x10,%esp
  405af0:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  405af3:	c9                   	leave  
  405af4:	c3                   	ret    
  405af5:	90                   	nop    
  405af6:	90                   	nop    
  405af7:	90                   	nop    
  405af8:	90                   	nop    
  405af9:	90                   	nop    
  405afa:	90                   	nop    
  405afb:	90                   	nop    
  405afc:	90                   	nop    
  405afd:	90                   	nop    
  405afe:	90                   	nop    
  405aff:	90                   	nop    

00405b00 <_fb_ConsoleGetRawXEx>:
  405b00:	55                   	push   %ebp
  405b01:	89 e5                	mov    %esp,%ebp
  405b03:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  405b06:	83 ec 38             	sub    $0x38,%esp
  405b09:	89 44 24 04          	mov    %eax,0x4(%esp)
  405b0d:	8b 45 08             	mov    0x8(%ebp),%eax
  405b10:	89 04 24             	mov    %eax,(%esp)
  405b13:	e8 28 36 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  405b18:	83 ec 08             	sub    $0x8,%esp
  405b1b:	31 d2                	xor    %edx,%edx
  405b1d:	85 c0                	test   %eax,%eax
  405b1f:	74 04                	je     405b25 <_fb_ConsoleGetRawXEx+0x25>
  405b21:	0f bf 55 dc          	movswl 0xffffffdc(%ebp),%edx
  405b25:	c9                   	leave  
  405b26:	89 d0                	mov    %edx,%eax
  405b28:	c3                   	ret    
  405b29:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00405b30 <_fb_ConsoleGetRawX>:
  405b30:	55                   	push   %ebp
  405b31:	89 e5                	mov    %esp,%ebp
  405b33:	83 ec 08             	sub    $0x8,%esp
  405b36:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  405b3d:	e8 fe 0e 00 00       	call   406a40 <_fb_hConsoleGetHandle>
  405b42:	89 04 24             	mov    %eax,(%esp)
  405b45:	e8 b6 ff ff ff       	call   405b00 <_fb_ConsoleGetRawXEx>
  405b4a:	c9                   	leave  
  405b4b:	c3                   	ret    
  405b4c:	8d 74 26 00          	lea    0x0(%esi),%esi

00405b50 <_fb_ConsoleGetX>:
  405b50:	55                   	push   %ebp
  405b51:	89 e5                	mov    %esp,%ebp
  405b53:	83 ec 18             	sub    $0x18,%esp
  405b56:	e8 d5 ff ff ff       	call   405b30 <_fb_ConsoleGetRawX>
  405b5b:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
  405b5e:	31 c0                	xor    %eax,%eax
  405b60:	31 c9                	xor    %ecx,%ecx
  405b62:	89 44 24 04          	mov    %eax,0x4(%esp)
  405b66:	31 d2                	xor    %edx,%edx
  405b68:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  405b6b:	89 04 24             	mov    %eax,(%esp)
  405b6e:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
  405b72:	89 54 24 08          	mov    %edx,0x8(%esp)
  405b76:	e8 15 0e 00 00       	call   406990 <_fb_hConvertFromConsole@16>
  405b7b:	83 ec 10             	sub    $0x10,%esp
  405b7e:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  405b81:	c9                   	leave  
  405b82:	c3                   	ret    
  405b83:	90                   	nop    
  405b84:	90                   	nop    
  405b85:	90                   	nop    
  405b86:	90                   	nop    
  405b87:	90                   	nop    
  405b88:	90                   	nop    
  405b89:	90                   	nop    
  405b8a:	90                   	nop    
  405b8b:	90                   	nop    
  405b8c:	90                   	nop    
  405b8d:	90                   	nop    
  405b8e:	90                   	nop    
  405b8f:	90                   	nop    

00405b90 <_fb_LocateEx@16>:
  405b90:	55                   	push   %ebp
  405b91:	89 e5                	mov    %esp,%ebp
  405b93:	57                   	push   %edi
  405b94:	56                   	push   %esi
  405b95:	53                   	push   %ebx
  405b96:	83 ec 1c             	sub    $0x1c,%esp
  405b99:	8b 75 08             	mov    0x8(%ebp),%esi
  405b9c:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
  405ba3:	8b 7d 0c             	mov    0xc(%ebp),%edi
  405ba6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  405bad:	e8 9e 07 00 00       	call   406350 <_fb_ErrorSetNum@4>
  405bb2:	83 ec 04             	sub    $0x4,%esp
  405bb5:	89 c3                	mov    %eax,%ebx
  405bb7:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  405bba:	89 44 24 04          	mov    %eax,0x4(%esp)
  405bbe:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
  405bc1:	89 04 24             	mov    %eax,(%esp)
  405bc4:	e8 27 11 00 00       	call   406cf0 <_fb_ConsoleGetView>
  405bc9:	31 d2                	xor    %edx,%edx
  405bcb:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  405bce:	89 54 24 04          	mov    %edx,0x4(%esp)
  405bd2:	89 04 24             	mov    %eax,(%esp)
  405bd5:	e8 36 0f 00 00       	call   406b10 <_fb_GetSize@8>
  405bda:	83 ec 08             	sub    $0x8,%esp
  405bdd:	85 f6                	test   %esi,%esi
  405bdf:	74 0f                	je     405bf0 <_fb_LocateEx@16+0x60>
  405be1:	3b 75 ec             	cmp    0xffffffec(%ebp),%esi
  405be4:	7c 15                	jl     405bfb <_fb_LocateEx@16+0x6b>
  405be6:	3b 75 f0             	cmp    0xfffffff0(%ebp),%esi
  405be9:	7f 10                	jg     405bfb <_fb_LocateEx@16+0x6b>
  405beb:	90                   	nop    
  405bec:	8d 74 26 00          	lea    0x0(%esi),%esi
  405bf0:	85 ff                	test   %edi,%edi
  405bf2:	74 33                	je     405c27 <_fb_LocateEx@16+0x97>
  405bf4:	7e 05                	jle    405bfb <_fb_LocateEx@16+0x6b>
  405bf6:	3b 7d e8             	cmp    0xffffffe8(%ebp),%edi
  405bf9:	7e 2c                	jle    405c27 <_fb_LocateEx@16+0x97>
  405bfb:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405c02:	e8 49 07 00 00       	call   406350 <_fb_ErrorSetNum@4>
  405c07:	83 ec 04             	sub    $0x4,%esp
  405c0a:	89 c3                	mov    %eax,%ebx
  405c0c:	8b 45 14             	mov    0x14(%ebp),%eax
  405c0f:	85 c0                	test   %eax,%eax
  405c11:	74 08                	je     405c1b <_fb_LocateEx@16+0x8b>
  405c13:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  405c16:	8b 55 14             	mov    0x14(%ebp),%edx
  405c19:	89 02                	mov    %eax,(%edx)
  405c1b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  405c1e:	89 d8                	mov    %ebx,%eax
  405c20:	5b                   	pop    %ebx
  405c21:	5e                   	pop    %esi
  405c22:	5f                   	pop    %edi
  405c23:	5d                   	pop    %ebp
  405c24:	c2 10 00             	ret    $0x10
  405c27:	e8 84 05 00 00       	call   4061b0 <_fb_DevScrnInit_NoOpen>
  405c2c:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  405c33:	e8 58 34 00 00       	call   409090 <_EnterCriticalSection@4>
  405c38:	a1 c0 07 41 00       	mov    0x4107c0,%eax
  405c3d:	83 ec 04             	sub    $0x4,%esp
  405c40:	85 c0                	test   %eax,%eax
  405c42:	74 30                	je     405c74 <_fb_LocateEx@16+0xe4>
  405c44:	89 7c 24 04          	mov    %edi,0x4(%esp)
  405c48:	8b 55 10             	mov    0x10(%ebp),%edx
  405c4b:	89 34 24             	mov    %esi,(%esp)
  405c4e:	89 54 24 08          	mov    %edx,0x8(%esp)
  405c52:	ff d0                	call   *%eax
  405c54:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  405c57:	85 ff                	test   %edi,%edi
  405c59:	74 08                	je     405c63 <_fb_LocateEx@16+0xd3>
  405c5b:	8d 47 ff             	lea    0xffffffff(%edi),%eax
  405c5e:	a3 54 08 41 00       	mov    %eax,0x410854
  405c63:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  405c6a:	e8 31 34 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  405c6f:	83 ec 04             	sub    $0x4,%esp
  405c72:	eb 98                	jmp    405c0c <_fb_LocateEx@16+0x7c>
  405c74:	89 7c 24 04          	mov    %edi,0x4(%esp)
  405c78:	8b 45 10             	mov    0x10(%ebp),%eax
  405c7b:	89 34 24             	mov    %esi,(%esp)
  405c7e:	89 44 24 08          	mov    %eax,0x8(%esp)
  405c82:	e8 09 0f 00 00       	call   406b90 <_fb_ConsoleLocate>
  405c87:	eb cb                	jmp    405c54 <_fb_LocateEx@16+0xc4>
  405c89:	90                   	nop    
  405c8a:	90                   	nop    
  405c8b:	90                   	nop    
  405c8c:	90                   	nop    
  405c8d:	90                   	nop    
  405c8e:	90                   	nop    
  405c8f:	90                   	nop    

00405c90 <_fb_ConsoleInkey>:
  405c90:	55                   	push   %ebp
  405c91:	89 e5                	mov    %esp,%ebp
  405c93:	53                   	push   %ebx
  405c94:	83 ec 14             	sub    $0x14,%esp
  405c97:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405c9e:	e8 ed 19 00 00       	call   407690 <_fb_hConsoleGetKey>
  405ca3:	83 f8 ff             	cmp    $0xffffffff,%eax
  405ca6:	89 c3                	mov    %eax,%ebx
  405ca8:	ba 98 07 41 00       	mov    $0x410798,%edx
  405cad:	74 41                	je     405cf0 <_fb_ConsoleInkey+0x60>
  405caf:	3d ff 00 00 00       	cmp    $0xff,%eax
  405cb4:	7f 41                	jg     405cf7 <_fb_ConsoleInkey+0x67>
  405cb6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  405cbd:	b8 01 00 00 00       	mov    $0x1,%eax
  405cc2:	89 44 24 04          	mov    %eax,0x4(%esp)
  405cc6:	e8 45 f9 ff ff       	call   405610 <_fb_hStrAllocTemp@8>
  405ccb:	83 ec 08             	sub    $0x8,%esp
  405cce:	85 c0                	test   %eax,%eax
  405cd0:	89 c2                	mov    %eax,%edx
  405cd2:	74 5c                	je     405d30 <_fb_ConsoleInkey+0xa0>
  405cd4:	8b 00                	mov    (%eax),%eax
  405cd6:	85 d2                	test   %edx,%edx
  405cd8:	88 18                	mov    %bl,(%eax)
  405cda:	8b 02                	mov    (%edx),%eax
  405cdc:	c6 40 01 00          	movb   $0x0,0x1(%eax)
  405ce0:	74 4e                	je     405d30 <_fb_ConsoleInkey+0xa0>
  405ce2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  405ce9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  405cf0:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405cf3:	89 d0                	mov    %edx,%eax
  405cf5:	c9                   	leave  
  405cf6:	c3                   	ret    
  405cf7:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  405cfe:	ba 02 00 00 00       	mov    $0x2,%edx
  405d03:	89 54 24 04          	mov    %edx,0x4(%esp)
  405d07:	e8 04 f9 ff ff       	call   405610 <_fb_hStrAllocTemp@8>
  405d0c:	83 ec 08             	sub    $0x8,%esp
  405d0f:	85 c0                	test   %eax,%eax
  405d11:	89 c2                	mov    %eax,%edx
  405d13:	74 1b                	je     405d30 <_fb_ConsoleInkey+0xa0>
  405d15:	8b 00                	mov    (%eax),%eax
  405d17:	c1 fb 08             	sar    $0x8,%ebx
  405d1a:	85 d2                	test   %edx,%edx
  405d1c:	c6 00 ff             	movb   $0xff,(%eax)
  405d1f:	8b 02                	mov    (%edx),%eax
  405d21:	88 58 01             	mov    %bl,0x1(%eax)
  405d24:	8b 02                	mov    (%edx),%eax
  405d26:	c6 40 02 00          	movb   $0x0,0x2(%eax)
  405d2a:	75 c4                	jne    405cf0 <_fb_ConsoleInkey+0x60>
  405d2c:	8d 74 26 00          	lea    0x0(%esi),%esi
  405d30:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405d33:	ba 98 07 41 00       	mov    $0x410798,%edx
  405d38:	89 d0                	mov    %edx,%eax
  405d3a:	c9                   	leave  
  405d3b:	c3                   	ret    
  405d3c:	8d 74 26 00          	lea    0x0(%esi),%esi

00405d40 <_fb_ConsoleGetkey>:
  405d40:	55                   	push   %ebp
  405d41:	89 e5                	mov    %esp,%ebp
  405d43:	83 ec 08             	sub    $0x8,%esp
  405d46:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405d4d:	e8 3e 19 00 00       	call   407690 <_fb_hConsoleGetKey>
  405d52:	83 f8 ff             	cmp    $0xffffffff,%eax
  405d55:	74 09                	je     405d60 <_fb_ConsoleGetkey+0x20>
  405d57:	c9                   	leave  
  405d58:	c3                   	ret    
  405d59:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  405d60:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
  405d67:	e8 84 ea ff ff       	call   4047f0 <_fb_Sleep@4>
  405d6c:	83 ec 04             	sub    $0x4,%esp
  405d6f:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405d76:	e8 15 19 00 00       	call   407690 <_fb_hConsoleGetKey>
  405d7b:	83 f8 ff             	cmp    $0xffffffff,%eax
  405d7e:	75 d7                	jne    405d57 <_fb_ConsoleGetkey+0x17>
  405d80:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
  405d87:	e8 64 ea ff ff       	call   4047f0 <_fb_Sleep@4>
  405d8c:	83 ec 04             	sub    $0x4,%esp
  405d8f:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405d96:	e8 f5 18 00 00       	call   407690 <_fb_hConsoleGetKey>
  405d9b:	83 f8 ff             	cmp    $0xffffffff,%eax
  405d9e:	74 c0                	je     405d60 <_fb_ConsoleGetkey+0x20>
  405da0:	eb b5                	jmp    405d57 <_fb_ConsoleGetkey+0x17>
  405da2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  405da9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00405db0 <_fb_ConsoleKeyHit>:
  405db0:	55                   	push   %ebp
  405db1:	89 e5                	mov    %esp,%ebp
  405db3:	83 ec 08             	sub    $0x8,%esp
  405db6:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405dbd:	e8 ae 18 00 00       	call   407670 <_fb_hConsolePeekKey>
  405dc2:	c9                   	leave  
  405dc3:	40                   	inc    %eax
  405dc4:	0f 95 c0             	setne  %al
  405dc7:	0f b6 c0             	movzbl %al,%eax
  405dca:	c3                   	ret    
  405dcb:	90                   	nop    
  405dcc:	90                   	nop    
  405dcd:	90                   	nop    
  405dce:	90                   	nop    
  405dcf:	90                   	nop    

00405dd0 <_fb_ConsoleSleep>:
  405dd0:	55                   	push   %ebp
  405dd1:	89 e5                	mov    %esp,%ebp
  405dd3:	53                   	push   %ebx
  405dd4:	83 ec 04             	sub    $0x4,%esp
  405dd7:	8b 5d 08             	mov    0x8(%ebp),%ebx
  405dda:	83 fb ff             	cmp    $0xffffffff,%ebx
  405ddd:	74 54                	je     405e33 <_fb_ConsoleSleep+0x63>
  405ddf:	83 fb 63             	cmp    $0x63,%ebx
  405de2:	7e 2c                	jle    405e10 <_fb_ConsoleSleep+0x40>
  405de4:	83 fb 32             	cmp    $0x32,%ebx
  405de7:	7e 27                	jle    405e10 <_fb_ConsoleSleep+0x40>
  405de9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  405df0:	e8 7b 17 00 00       	call   407570 <_fb_hConsoleInputBufferChanged>
  405df5:	85 c0                	test   %eax,%eax
  405df7:	75 26                	jne    405e1f <_fb_ConsoleSleep+0x4f>
  405df9:	c7 04 24 32 00 00 00 	movl   $0x32,(%esp)
  405e00:	83 eb 32             	sub    $0x32,%ebx
  405e03:	e8 a8 18 00 00       	call   4076b0 <_fb_Delay@4>
  405e08:	83 ec 04             	sub    $0x4,%esp
  405e0b:	83 fb 32             	cmp    $0x32,%ebx
  405e0e:	7f e0                	jg     405df0 <_fb_ConsoleSleep+0x20>
  405e10:	85 db                	test   %ebx,%ebx
  405e12:	78 0b                	js     405e1f <_fb_ConsoleSleep+0x4f>
  405e14:	89 1c 24             	mov    %ebx,(%esp)
  405e17:	e8 94 18 00 00       	call   4076b0 <_fb_Delay@4>
  405e1c:	83 ec 04             	sub    $0x4,%esp
  405e1f:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405e22:	c9                   	leave  
  405e23:	c3                   	ret    
  405e24:	c7 04 24 32 00 00 00 	movl   $0x32,(%esp)
  405e2b:	e8 80 18 00 00       	call   4076b0 <_fb_Delay@4>
  405e30:	83 ec 04             	sub    $0x4,%esp
  405e33:	e8 38 17 00 00       	call   407570 <_fb_hConsoleInputBufferChanged>
  405e38:	85 c0                	test   %eax,%eax
  405e3a:	74 e8                	je     405e24 <_fb_ConsoleSleep+0x54>
  405e3c:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405e3f:	c9                   	leave  
  405e40:	c3                   	ret    
  405e41:	90                   	nop    
  405e42:	90                   	nop    
  405e43:	90                   	nop    
  405e44:	90                   	nop    
  405e45:	90                   	nop    
  405e46:	90                   	nop    
  405e47:	90                   	nop    
  405e48:	90                   	nop    
  405e49:	90                   	nop    
  405e4a:	90                   	nop    
  405e4b:	90                   	nop    
  405e4c:	90                   	nop    
  405e4d:	90                   	nop    
  405e4e:	90                   	nop    
  405e4f:	90                   	nop    

00405e50 <_fb_FileReset@0>:
  405e50:	55                   	push   %ebp
  405e51:	89 e5                	mov    %esp,%ebp
  405e53:	56                   	push   %esi
  405e54:	53                   	push   %ebx
  405e55:	83 ec 10             	sub    $0x10,%esp
  405e58:	8b 1d 70 48 41 00    	mov    0x414870,%ebx
  405e5e:	85 db                	test   %ebx,%ebx
  405e60:	75 07                	jne    405e69 <_fb_FileReset@0+0x19>
  405e62:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  405e65:	5b                   	pop    %ebx
  405e66:	5e                   	pop    %esi
  405e67:	5d                   	pop    %ebp
  405e68:	c3                   	ret    
  405e69:	31 c9                	xor    %ecx,%ecx
  405e6b:	be 01 00 00 00       	mov    $0x1,%esi
  405e70:	bb b0 08 41 00       	mov    $0x4108b0,%ebx
  405e75:	89 0d 70 48 41 00    	mov    %ecx,0x414870
  405e7b:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  405e82:	e8 09 32 00 00       	call   409090 <_EnterCriticalSection@4>
  405e87:	83 ec 04             	sub    $0x4,%esp
  405e8a:	eb 10                	jmp    405e9c <_fb_FileReset@0+0x4c>
  405e8c:	8d 74 26 00          	lea    0x0(%esi),%esi
  405e90:	46                   	inc    %esi
  405e91:	83 c3 40             	add    $0x40,%ebx
  405e94:	81 fe ff 00 00 00    	cmp    $0xff,%esi
  405e9a:	74 19                	je     405eb5 <_fb_FileReset@0+0x65>
  405e9c:	8b 43 34             	mov    0x34(%ebx),%eax
  405e9f:	85 c0                	test   %eax,%eax
  405ea1:	74 ed                	je     405e90 <_fb_FileReset@0+0x40>
  405ea3:	89 1c 24             	mov    %ebx,(%esp)
  405ea6:	46                   	inc    %esi
  405ea7:	83 c3 40             	add    $0x40,%ebx
  405eaa:	ff 50 04             	call   *0x4(%eax)
  405ead:	81 fe ff 00 00 00    	cmp    $0xff,%esi
  405eb3:	75 e7                	jne    405e9c <_fb_FileReset@0+0x4c>
  405eb5:	c7 04 24 b0 08 41 00 	movl   $0x4108b0,(%esp)
  405ebc:	ba c0 3f 00 00       	mov    $0x3fc0,%edx
  405ec1:	31 c0                	xor    %eax,%eax
  405ec3:	89 54 24 08          	mov    %edx,0x8(%esp)
  405ec7:	89 44 24 04          	mov    %eax,0x4(%esp)
  405ecb:	e8 40 2f 00 00       	call   408e10 <_memset>
  405ed0:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  405ed7:	e8 c4 31 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  405edc:	83 ec 04             	sub    $0x4,%esp
  405edf:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  405ee2:	5b                   	pop    %ebx
  405ee3:	5e                   	pop    %esi
  405ee4:	5d                   	pop    %ebp
  405ee5:	c3                   	ret    
  405ee6:	90                   	nop    
  405ee7:	90                   	nop    
  405ee8:	90                   	nop    
  405ee9:	90                   	nop    
  405eea:	90                   	nop    
  405eeb:	90                   	nop    
  405eec:	90                   	nop    
  405eed:	90                   	nop    
  405eee:	90                   	nop    
  405eef:	90                   	nop    

00405ef0 <_fb_hEnd>:
  405ef0:	55                   	push   %ebp
  405ef1:	89 e5                	mov    %esp,%ebp
  405ef3:	83 ec 08             	sub    $0x8,%esp
  405ef6:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  405efd:	e8 4e 32 00 00       	call   409150 <_DeleteCriticalSection@4>
  405f02:	83 ec 04             	sub    $0x4,%esp
  405f05:	c7 04 24 80 48 41 00 	movl   $0x414880,(%esp)
  405f0c:	e8 3f 32 00 00       	call   409150 <_DeleteCriticalSection@4>
  405f11:	83 ec 04             	sub    $0x4,%esp
  405f14:	c7 04 24 a0 48 41 00 	movl   $0x4148a0,(%esp)
  405f1b:	e8 30 32 00 00       	call   409150 <_DeleteCriticalSection@4>
  405f20:	83 ec 04             	sub    $0x4,%esp
  405f23:	c9                   	leave  
  405f24:	c3                   	ret    
  405f25:	90                   	nop    
  405f26:	90                   	nop    
  405f27:	90                   	nop    
  405f28:	90                   	nop    
  405f29:	90                   	nop    
  405f2a:	90                   	nop    
  405f2b:	90                   	nop    
  405f2c:	90                   	nop    
  405f2d:	90                   	nop    
  405f2e:	90                   	nop    
  405f2f:	90                   	nop    

00405f30 <_fb_ConsoleColorEx>:
  405f30:	55                   	push   %ebp
  405f31:	89 e5                	mov    %esp,%ebp
  405f33:	83 ec 18             	sub    $0x18,%esp
  405f36:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  405f39:	8b 7d 08             	mov    0x8(%ebp),%edi
  405f3c:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  405f3f:	8b 5d 10             	mov    0x10(%ebp),%ebx
  405f42:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  405f45:	8b 75 0c             	mov    0xc(%ebp),%esi
  405f48:	89 3c 24             	mov    %edi,(%esp)
  405f4b:	e8 70 17 00 00       	call   4076c0 <_fb_ConsoleGetColorAttEx>
  405f50:	89 c2                	mov    %eax,%edx
  405f52:	c1 fa 04             	sar    $0x4,%edx
  405f55:	83 e0 0f             	and    $0xf,%eax
  405f58:	83 e2 0f             	and    $0xf,%edx
  405f5b:	85 f6                	test   %esi,%esi
  405f5d:	78 41                	js     405fa0 <_fb_ConsoleColorEx+0x70>
  405f5f:	89 f0                	mov    %esi,%eax
  405f61:	83 e0 0f             	and    $0xf,%eax
  405f64:	85 db                	test   %ebx,%ebx
  405f66:	8b 34 85 c0 a2 40 00 	mov    0x40a2c0(,%eax,4),%esi
  405f6d:	78 41                	js     405fb0 <_fb_ConsoleColorEx+0x80>
  405f6f:	89 d8                	mov    %ebx,%eax
  405f71:	83 e0 0f             	and    $0xf,%eax
  405f74:	8b 1c 85 c0 a2 40 00 	mov    0x40a2c0(,%eax,4),%ebx
  405f7b:	89 3c 24             	mov    %edi,(%esp)
  405f7e:	c1 e3 04             	shl    $0x4,%ebx
  405f81:	8d 04 33             	lea    (%ebx,%esi,1),%eax
  405f84:	0f b7 c0             	movzwl %ax,%eax
  405f87:	89 44 24 04          	mov    %eax,0x4(%esp)
  405f8b:	e8 d0 31 00 00       	call   409160 <_SetConsoleTextAttribute@8>
  405f90:	83 ec 08             	sub    $0x8,%esp
  405f93:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  405f96:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  405f99:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  405f9c:	89 ec                	mov    %ebp,%esp
  405f9e:	5d                   	pop    %ebp
  405f9f:	c3                   	ret    
  405fa0:	85 db                	test   %ebx,%ebx
  405fa2:	89 c6                	mov    %eax,%esi
  405fa4:	79 c9                	jns    405f6f <_fb_ConsoleColorEx+0x3f>
  405fa6:	8d 76 00             	lea    0x0(%esi),%esi
  405fa9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  405fb0:	89 d3                	mov    %edx,%ebx
  405fb2:	eb c7                	jmp    405f7b <_fb_ConsoleColorEx+0x4b>
  405fb4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  405fba:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00405fc0 <_fb_ConsoleColor>:
  405fc0:	55                   	push   %ebp
  405fc1:	89 e5                	mov    %esp,%ebp
  405fc3:	83 ec 18             	sub    $0x18,%esp
  405fc6:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  405fc9:	8b 15 80 d6 40 00    	mov    0x40d680,%edx
  405fcf:	8b 4d 10             	mov    0x10(%ebp),%ecx
  405fd2:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  405fd5:	a1 00 a3 40 00       	mov    0x40a300,%eax
  405fda:	89 d7                	mov    %edx,%edi
  405fdc:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  405fdf:	c1 e7 10             	shl    $0x10,%edi
  405fe2:	8b 75 08             	mov    0x8(%ebp),%esi
  405fe5:	09 c7                	or     %eax,%edi
  405fe7:	f6 c1 01             	test   $0x1,%cl
  405fea:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  405fed:	75 61                	jne    406050 <_fb_ConsoleColor+0x90>
  405fef:	89 f0                	mov    %esi,%eax
  405ff1:	83 e0 0f             	and    $0xf,%eax
  405ff4:	f6 c1 02             	test   $0x2,%cl
  405ff7:	a3 00 a3 40 00       	mov    %eax,0x40a300
  405ffc:	8b 34 85 c0 a2 40 00 	mov    0x40a2c0(,%eax,4),%esi
  406003:	75 52                	jne    406057 <_fb_ConsoleColor+0x97>
  406005:	89 da                	mov    %ebx,%edx
  406007:	83 e2 0f             	and    $0xf,%edx
  40600a:	8b 1c 95 c0 a2 40 00 	mov    0x40a2c0(,%edx,4),%ebx
  406011:	89 15 80 d6 40 00    	mov    %edx,0x40d680
  406017:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40601e:	c1 e3 04             	shl    $0x4,%ebx
  406021:	e8 1a 0a 00 00       	call   406a40 <_fb_hConsoleGetHandle>
  406026:	89 04 24             	mov    %eax,(%esp)
  406029:	8d 14 33             	lea    (%ebx,%esi,1),%edx
  40602c:	0f b7 d2             	movzwl %dx,%edx
  40602f:	89 54 24 04          	mov    %edx,0x4(%esp)
  406033:	e8 28 31 00 00       	call   409160 <_SetConsoleTextAttribute@8>
  406038:	83 ec 08             	sub    $0x8,%esp
  40603b:	89 f8                	mov    %edi,%eax
  40603d:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  406040:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  406043:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  406046:	89 ec                	mov    %ebp,%esp
  406048:	5d                   	pop    %ebp
  406049:	c3                   	ret    
  40604a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  406050:	f6 c1 02             	test   $0x2,%cl
  406053:	89 c6                	mov    %eax,%esi
  406055:	74 ae                	je     406005 <_fb_ConsoleColor+0x45>
  406057:	89 d3                	mov    %edx,%ebx
  406059:	eb bc                	jmp    406017 <_fb_ConsoleColor+0x57>
  40605b:	90                   	nop    
  40605c:	90                   	nop    
  40605d:	90                   	nop    
  40605e:	90                   	nop    
  40605f:	90                   	nop    

00406060 <_fb_ConsoleClear>:
  406060:	55                   	push   %ebp
  406061:	89 e5                	mov    %esp,%ebp
  406063:	83 ec 38             	sub    $0x38,%esp
  406066:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  406069:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  40606c:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  40606f:	e8 6c 18 00 00       	call   4078e0 <_fb_InitConsoleWindow>
  406074:	0f b7 1d 00 49 41 00 	movzwl 0x414900,%ebx
  40607b:	0f b7 35 04 49 41 00 	movzwl 0x414904,%esi
  406082:	66 39 f3             	cmp    %si,%bx
  406085:	0f 84 86 00 00 00    	je     406111 <_fb_ConsoleClear+0xb1>
  40608b:	0f b7 0d 02 49 41 00 	movzwl 0x414902,%ecx
  406092:	0f b7 3d 06 49 41 00 	movzwl 0x414906,%edi
  406099:	66 39 f9             	cmp    %di,%cx
  40609c:	0f 94 c0             	sete   %al
  40609f:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
  4060a3:	0f 94 c2             	sete   %dl
  4060a6:	09 d0                	or     %edx,%eax
  4060a8:	a8 01                	test   $0x1,%al
  4060aa:	75 65                	jne    406111 <_fb_ConsoleClear+0xb1>
  4060ac:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
  4060b0:	0f bf c9             	movswl %cx,%ecx
  4060b3:	0f bf db             	movswl %bx,%ebx
  4060b6:	89 4d e4             	mov    %ecx,0xffffffe4(%ebp)
  4060b9:	0f bf f6             	movswl %si,%esi
  4060bc:	0f bf cf             	movswl %di,%ecx
  4060bf:	89 5d e8             	mov    %ebx,0xffffffe8(%ebp)
  4060c2:	0f 94 c0             	sete   %al
  4060c5:	81 7d 08 00 00 ff ff 	cmpl   $0xffff0000,0x8(%ebp)
  4060cc:	89 75 e0             	mov    %esi,0xffffffe0(%ebp)
  4060cf:	0f 94 c2             	sete   %dl
  4060d2:	09 d0                	or     %edx,%eax
  4060d4:	a8 01                	test   $0x1,%al
  4060d6:	75 48                	jne    406120 <_fb_ConsoleClear+0xc0>
  4060d8:	89 4d f0             	mov    %ecx,0xfffffff0(%ebp)
  4060db:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  4060de:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  4060e1:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4060e8:	e8 53 09 00 00       	call   406a40 <_fb_hConsoleGetHandle>
  4060ed:	89 04 24             	mov    %eax,(%esp)
  4060f0:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  4060f3:	89 54 24 10          	mov    %edx,0x10(%esp)
  4060f7:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
  4060fa:	89 54 24 0c          	mov    %edx,0xc(%esp)
  4060fe:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  406101:	89 54 24 08          	mov    %edx,0x8(%esp)
  406105:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
  406108:	89 54 24 04          	mov    %edx,0x4(%esp)
  40610c:	e8 ff 15 00 00       	call   407710 <_fb_ConsoleClearViewRawEx>
  406111:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  406114:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  406117:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  40611a:	89 ec                	mov    %ebp,%esp
  40611c:	5d                   	pop    %ebp
  40611d:	c3                   	ret    
  40611e:	89 f6                	mov    %esi,%esi
  406120:	8d 5d f0             	lea    0xfffffff0(%ebp),%ebx
  406123:	8d 75 ec             	lea    0xffffffec(%ebp),%esi
  406126:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  40612a:	89 34 24             	mov    %esi,(%esp)
  40612d:	e8 be 0b 00 00       	call   406cf0 <_fb_ConsoleGetView>
  406132:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  406136:	31 c0                	xor    %eax,%eax
  406138:	89 44 24 08          	mov    %eax,0x8(%esp)
  40613c:	89 74 24 04          	mov    %esi,0x4(%esp)
  406140:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406147:	e8 94 07 00 00       	call   4068e0 <_fb_hConvertToConsole@16>
  40614c:	83 ec 10             	sub    $0x10,%esp
  40614f:	eb 90                	jmp    4060e1 <_fb_ConsoleClear+0x81>
  406151:	90                   	nop    
  406152:	90                   	nop    
  406153:	90                   	nop    
  406154:	90                   	nop    
  406155:	90                   	nop    
  406156:	90                   	nop    
  406157:	90                   	nop    
  406158:	90                   	nop    
  406159:	90                   	nop    
  40615a:	90                   	nop    
  40615b:	90                   	nop    
  40615c:	90                   	nop    
  40615d:	90                   	nop    
  40615e:	90                   	nop    
  40615f:	90                   	nop    

00406160 <_fb_DevScrnInit_Screen>:
  406160:	55                   	push   %ebp
  406161:	89 e5                	mov    %esp,%ebp
  406163:	53                   	push   %ebx
  406164:	83 ec 14             	sub    $0x14,%esp
  406167:	c7 04 24 14 00 00 00 	movl   $0x14,(%esp)
  40616e:	e8 dd 2c 00 00       	call   408e50 <_malloc>
  406173:	89 c3                	mov    %eax,%ebx
  406175:	31 c0                	xor    %eax,%eax
  406177:	89 44 24 04          	mov    %eax,0x4(%esp)
  40617b:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
  40617e:	89 04 24             	mov    %eax,(%esp)
  406181:	e8 8a 09 00 00       	call   406b10 <_fb_GetSize@8>
  406186:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
  40618d:	83 ec 08             	sub    $0x8,%esp
  406190:	89 1d 68 08 41 00    	mov    %ebx,0x410868
  406196:	e8 c5 dc ff ff       	call   403e60 <_fb_GetX@0>
  40619b:	48                   	dec    %eax
  40619c:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40619f:	a3 54 08 41 00       	mov    %eax,0x410854
  4061a4:	8b 45 f8             	mov    0xfffffff8(%ebp),%eax
  4061a7:	a3 58 08 41 00       	mov    %eax,0x410858
  4061ac:	c9                   	leave  
  4061ad:	c3                   	ret    
  4061ae:	89 f6                	mov    %esi,%esi

004061b0 <_fb_DevScrnInit_NoOpen>:
  4061b0:	55                   	push   %ebp
  4061b1:	89 e5                	mov    %esp,%ebp
  4061b3:	83 ec 18             	sub    $0x18,%esp
  4061b6:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  4061b9:	bb 30 08 41 00       	mov    $0x410830,%ebx
  4061be:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  4061c1:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  4061c4:	8b 35 64 08 41 00    	mov    0x410864,%esi
  4061ca:	85 f6                	test   %esi,%esi
  4061cc:	74 12                	je     4061e0 <_fb_DevScrnInit_NoOpen+0x30>
  4061ce:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  4061d1:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  4061d4:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  4061d7:	89 ec                	mov    %ebp,%esp
  4061d9:	5d                   	pop    %ebp
  4061da:	c3                   	ret    
  4061db:	90                   	nop    
  4061dc:	8d 74 26 00          	lea    0x0(%esi),%esi
  4061e0:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4061e7:	89 df                	mov    %ebx,%edi
  4061e9:	bb 04 00 00 00       	mov    $0x4,%ebx
  4061ee:	e8 9d 2e 00 00       	call   409090 <_EnterCriticalSection@4>
  4061f3:	fc                   	cld    
  4061f4:	89 f0                	mov    %esi,%eax
  4061f6:	b9 10 00 00 00       	mov    $0x10,%ecx
  4061fb:	f3 ab                	repz stos %eax,%es:(%edi)
  4061fd:	89 1d 48 08 41 00    	mov    %ebx,0x410848
  406203:	83 ec 04             	sub    $0x4,%esp
  406206:	b9 03 00 00 00       	mov    $0x3,%ecx
  40620b:	89 0d 4c 08 41 00    	mov    %ecx,0x41084c
  406211:	be 04 00 00 00       	mov    $0x4,%esi
  406216:	89 35 30 08 41 00    	mov    %esi,0x410830
  40621c:	e8 3f ff ff ff       	call   406160 <_fb_DevScrnInit_Screen>
  406221:	ba 90 d6 40 00       	mov    $0x40d690,%edx
  406226:	89 15 64 08 41 00    	mov    %edx,0x410864
  40622c:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406233:	e8 68 2e 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  406238:	83 ec 04             	sub    $0x4,%esp
  40623b:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  40623e:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  406241:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  406244:	89 ec                	mov    %ebp,%esp
  406246:	5d                   	pop    %ebp
  406247:	c3                   	ret    
  406248:	90                   	nop    
  406249:	90                   	nop    
  40624a:	90                   	nop    
  40624b:	90                   	nop    
  40624c:	90                   	nop    
  40624d:	90                   	nop    
  40624e:	90                   	nop    
  40624f:	90                   	nop    

00406250 <_fb_hListInit>:
  406250:	55                   	push   %ebp
  406251:	89 e5                	mov    %esp,%ebp
  406253:	57                   	push   %edi
  406254:	56                   	push   %esi
  406255:	53                   	push   %ebx
  406256:	83 ec 0c             	sub    $0xc,%esp
  406259:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40625c:	8b 7d 14             	mov    0x14(%ebp),%edi
  40625f:	8b 75 0c             	mov    0xc(%ebp),%esi
  406262:	89 1c 24             	mov    %ebx,(%esp)
  406265:	e8 76 17 00 00       	call   4079e0 <_fb_hListDynInit>
  40626a:	89 73 0c             	mov    %esi,0xc(%ebx)
  40626d:	31 d2                	xor    %edx,%edx
  40626f:	39 fa                	cmp    %edi,%edx
  406271:	7d 2c                	jge    40629f <_fb_hListInit+0x4f>
  406273:	8d 47 ff             	lea    0xffffffff(%edi),%eax
  406276:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  406279:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  406280:	31 c9                	xor    %ecx,%ecx
  406282:	39 55 f0             	cmp    %edx,0xfffffff0(%ebp)
  406285:	8b 5d 10             	mov    0x10(%ebp),%ebx
  406288:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
  40628b:	7e 02                	jle    40628f <_fb_hListInit+0x3f>
  40628d:	89 c1                	mov    %eax,%ecx
  40628f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
  406295:	42                   	inc    %edx
  406296:	39 fa                	cmp    %edi,%edx
  406298:	89 4e 04             	mov    %ecx,0x4(%esi)
  40629b:	89 c6                	mov    %eax,%esi
  40629d:	7c e1                	jl     406280 <_fb_hListInit+0x30>
  40629f:	83 c4 0c             	add    $0xc,%esp
  4062a2:	5b                   	pop    %ebx
  4062a3:	5e                   	pop    %esi
  4062a4:	5f                   	pop    %edi
  4062a5:	5d                   	pop    %ebp
  4062a6:	c3                   	ret    
  4062a7:	89 f6                	mov    %esi,%esi
  4062a9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004062b0 <_fb_hListAllocElem>:
  4062b0:	55                   	push   %ebp
  4062b1:	31 c0                	xor    %eax,%eax
  4062b3:	89 e5                	mov    %esp,%ebp
  4062b5:	53                   	push   %ebx
  4062b6:	83 ec 14             	sub    $0x14,%esp
  4062b9:	8b 55 08             	mov    0x8(%ebp),%edx
  4062bc:	8b 5a 0c             	mov    0xc(%edx),%ebx
  4062bf:	85 db                	test   %ebx,%ebx
  4062c1:	74 14                	je     4062d7 <_fb_hListAllocElem+0x27>
  4062c3:	8b 43 04             	mov    0x4(%ebx),%eax
  4062c6:	89 42 0c             	mov    %eax,0xc(%edx)
  4062c9:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4062cd:	89 14 24             	mov    %edx,(%esp)
  4062d0:	e8 2b 17 00 00       	call   407a00 <_fb_hListDynElemAdd>
  4062d5:	89 d8                	mov    %ebx,%eax
  4062d7:	83 c4 14             	add    $0x14,%esp
  4062da:	5b                   	pop    %ebx
  4062db:	5d                   	pop    %ebp
  4062dc:	c3                   	ret    
  4062dd:	8d 76 00             	lea    0x0(%esi),%esi

004062e0 <_fb_hListFreeElem>:
  4062e0:	55                   	push   %ebp
  4062e1:	89 e5                	mov    %esp,%ebp
  4062e3:	83 ec 18             	sub    $0x18,%esp
  4062e6:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  4062e9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  4062ec:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  4062ef:	8b 75 08             	mov    0x8(%ebp),%esi
  4062f2:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4062f6:	89 34 24             	mov    %esi,(%esp)
  4062f9:	e8 42 17 00 00       	call   407a40 <_fb_hListDynElemRemove>
  4062fe:	8b 46 0c             	mov    0xc(%esi),%eax
  406301:	89 43 04             	mov    %eax,0x4(%ebx)
  406304:	89 5e 0c             	mov    %ebx,0xc(%esi)
  406307:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  40630a:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  40630d:	89 ec                	mov    %ebp,%esp
  40630f:	5d                   	pop    %ebp
  406310:	c3                   	ret    
  406311:	90                   	nop    
  406312:	90                   	nop    
  406313:	90                   	nop    
  406314:	90                   	nop    
  406315:	90                   	nop    
  406316:	90                   	nop    
  406317:	90                   	nop    
  406318:	90                   	nop    
  406319:	90                   	nop    
  40631a:	90                   	nop    
  40631b:	90                   	nop    
  40631c:	90                   	nop    
  40631d:	90                   	nop    
  40631e:	90                   	nop    
  40631f:	90                   	nop    

00406320 <_fb_ErrorGetNum@0>:
  406320:	55                   	push   %ebp
  406321:	b8 1c 00 00 00       	mov    $0x1c,%eax
  406326:	89 e5                	mov    %esp,%ebp
  406328:	83 ec 08             	sub    $0x8,%esp
  40632b:	89 44 24 04          	mov    %eax,0x4(%esp)
  40632f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406336:	e8 45 ee ff ff       	call   405180 <_fb_TlsGetCtx@8>
  40633b:	8b 40 04             	mov    0x4(%eax),%eax
  40633e:	83 ec 08             	sub    $0x8,%esp
  406341:	c9                   	leave  
  406342:	c3                   	ret    
  406343:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  406349:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00406350 <_fb_ErrorSetNum@4>:
  406350:	55                   	push   %ebp
  406351:	ba 1c 00 00 00       	mov    $0x1c,%edx
  406356:	89 e5                	mov    %esp,%ebp
  406358:	53                   	push   %ebx
  406359:	83 ec 14             	sub    $0x14,%esp
  40635c:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40635f:	89 54 24 04          	mov    %edx,0x4(%esp)
  406363:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40636a:	e8 11 ee ff ff       	call   405180 <_fb_TlsGetCtx@8>
  40636f:	89 58 04             	mov    %ebx,0x4(%eax)
  406372:	83 ec 08             	sub    $0x8,%esp
  406375:	89 d8                	mov    %ebx,%eax
  406377:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40637a:	c9                   	leave  
  40637b:	c2 04 00             	ret    $0x4
  40637e:	89 f6                	mov    %esi,%esi

00406380 <_fb_ErrorGetLineNum@0>:
  406380:	55                   	push   %ebp
  406381:	b9 1c 00 00 00       	mov    $0x1c,%ecx
  406386:	89 e5                	mov    %esp,%ebp
  406388:	83 ec 08             	sub    $0x8,%esp
  40638b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  40638f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406396:	e8 e5 ed ff ff       	call   405180 <_fb_TlsGetCtx@8>
  40639b:	8b 40 08             	mov    0x8(%eax),%eax
  40639e:	83 ec 08             	sub    $0x8,%esp
  4063a1:	c9                   	leave  
  4063a2:	c3                   	ret    
  4063a3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4063a9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004063b0 <_fb_ErrorGetModName@0>:
  4063b0:	55                   	push   %ebp
  4063b1:	b8 1c 00 00 00       	mov    $0x1c,%eax
  4063b6:	89 e5                	mov    %esp,%ebp
  4063b8:	83 ec 08             	sub    $0x8,%esp
  4063bb:	89 44 24 04          	mov    %eax,0x4(%esp)
  4063bf:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4063c6:	e8 b5 ed ff ff       	call   405180 <_fb_TlsGetCtx@8>
  4063cb:	8b 40 0c             	mov    0xc(%eax),%eax
  4063ce:	83 ec 08             	sub    $0x8,%esp
  4063d1:	c9                   	leave  
  4063d2:	c3                   	ret    
  4063d3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4063d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004063e0 <_fb_ErrorSetModName@4>:
  4063e0:	55                   	push   %ebp
  4063e1:	b8 1c 00 00 00       	mov    $0x1c,%eax
  4063e6:	89 e5                	mov    %esp,%ebp
  4063e8:	83 ec 08             	sub    $0x8,%esp
  4063eb:	89 44 24 04          	mov    %eax,0x4(%esp)
  4063ef:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4063f6:	e8 85 ed ff ff       	call   405180 <_fb_TlsGetCtx@8>
  4063fb:	8b 55 08             	mov    0x8(%ebp),%edx
  4063fe:	83 ec 08             	sub    $0x8,%esp
  406401:	8b 48 0c             	mov    0xc(%eax),%ecx
  406404:	89 50 0c             	mov    %edx,0xc(%eax)
  406407:	89 c8                	mov    %ecx,%eax
  406409:	c9                   	leave  
  40640a:	c2 04 00             	ret    $0x4
  40640d:	8d 76 00             	lea    0x0(%esi),%esi

00406410 <_fb_ErrorGetFuncName@0>:
  406410:	55                   	push   %ebp
  406411:	b8 1c 00 00 00       	mov    $0x1c,%eax
  406416:	89 e5                	mov    %esp,%ebp
  406418:	83 ec 08             	sub    $0x8,%esp
  40641b:	89 44 24 04          	mov    %eax,0x4(%esp)
  40641f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406426:	e8 55 ed ff ff       	call   405180 <_fb_TlsGetCtx@8>
  40642b:	8b 40 10             	mov    0x10(%eax),%eax
  40642e:	83 ec 08             	sub    $0x8,%esp
  406431:	c9                   	leave  
  406432:	c3                   	ret    
  406433:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  406439:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00406440 <_fb_ErrorSetFuncName@4>:
  406440:	55                   	push   %ebp
  406441:	b8 1c 00 00 00       	mov    $0x1c,%eax
  406446:	89 e5                	mov    %esp,%ebp
  406448:	83 ec 08             	sub    $0x8,%esp
  40644b:	89 44 24 04          	mov    %eax,0x4(%esp)
  40644f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406456:	e8 25 ed ff ff       	call   405180 <_fb_TlsGetCtx@8>
  40645b:	8b 55 08             	mov    0x8(%ebp),%edx
  40645e:	83 ec 08             	sub    $0x8,%esp
  406461:	8b 48 10             	mov    0x10(%eax),%ecx
  406464:	89 50 10             	mov    %edx,0x10(%eax)
  406467:	89 c8                	mov    %ecx,%eax
  406469:	c9                   	leave  
  40646a:	c2 04 00             	ret    $0x4
  40646d:	90                   	nop    
  40646e:	90                   	nop    
  40646f:	90                   	nop    

00406470 <_fb_FilePutDataEx>:
  406470:	55                   	push   %ebp
  406471:	89 e5                	mov    %esp,%ebp
  406473:	83 ec 28             	sub    $0x28,%esp
  406476:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  406479:	8b 7d 08             	mov    0x8(%ebp),%edi
  40647c:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  40647f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  406482:	85 ff                	test   %edi,%edi
  406484:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  406487:	8b 75 10             	mov    0x10(%ebp),%esi
  40648a:	74 07                	je     406493 <_fb_FilePutDataEx+0x23>
  40648c:	8b 47 34             	mov    0x34(%edi),%eax
  40648f:	85 c0                	test   %eax,%eax
  406491:	75 1d                	jne    4064b0 <_fb_FilePutDataEx+0x40>
  406493:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  40649a:	e8 b1 fe ff ff       	call   406350 <_fb_ErrorSetNum@4>
  40649f:	83 ec 04             	sub    $0x4,%esp
  4064a2:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  4064a5:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  4064a8:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  4064ab:	89 ec                	mov    %ebp,%esp
  4064ad:	5d                   	pop    %ebp
  4064ae:	c3                   	ret    
  4064af:	90                   	nop    
  4064b0:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4064b7:	e8 d4 2b 00 00       	call   409090 <_EnterCriticalSection@4>
  4064bc:	83 ec 04             	sub    $0x4,%esp
  4064bf:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4064c6:	e8 85 fe ff ff       	call   406350 <_fb_ErrorSetNum@4>
  4064cb:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  4064ce:	83 ec 04             	sub    $0x4,%esp
  4064d1:	85 f6                	test   %esi,%esi
  4064d3:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
  4064da:	7c 19                	jl     4064f5 <_fb_FilePutDataEx+0x85>
  4064dc:	0f 8e bd 01 00 00    	jle    40669f <_fb_FilePutDataEx+0x22f>
  4064e2:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4064e6:	89 74 24 08          	mov    %esi,0x8(%esp)
  4064ea:	89 3c 24             	mov    %edi,(%esp)
  4064ed:	e8 ae 15 00 00       	call   407aa0 <_fb_FileSeekEx>
  4064f2:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  4064f5:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
  4064f8:	85 f6                	test   %esi,%esi
  4064fa:	75 34                	jne    406530 <_fb_FilePutDataEx+0xc0>
  4064fc:	8b 5d 24             	mov    0x24(%ebp),%ebx
  4064ff:	85 db                	test   %ebx,%ebx
  406501:	0f 85 a6 01 00 00    	jne    4066ad <_fb_FilePutDataEx+0x23d>
  406507:	8b 47 34             	mov    0x34(%edi),%eax
  40650a:	8b 48 18             	mov    0x18(%eax),%ecx
  40650d:	85 c9                	test   %ecx,%ecx
  40650f:	0f 84 be 01 00 00    	je     4066d3 <_fb_FilePutDataEx+0x263>
  406515:	8b 55 18             	mov    0x18(%ebp),%edx
  406518:	89 54 24 08          	mov    %edx,0x8(%esp)
  40651c:	8b 4d 14             	mov    0x14(%ebp),%ecx
  40651f:	89 3c 24             	mov    %edi,(%esp)
  406522:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  406526:	ff 50 18             	call   *0x18(%eax)
  406529:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  40652c:	8d 74 26 00          	lea    0x0(%esi),%esi
  406530:	83 3f 01             	cmpl   $0x1,(%edi)
  406533:	0f 94 c0             	sete   %al
  406536:	31 d2                	xor    %edx,%edx
  406538:	83 7d f0 00          	cmpl   $0x0,0xfffffff0(%ebp)
  40653c:	0f 94 c2             	sete   %dl
  40653f:	85 d0                	test   %edx,%eax
  406541:	74 7d                	je     4065c0 <_fb_FilePutDataEx+0x150>
  406543:	8b 45 1c             	mov    0x1c(%ebp),%eax
  406546:	85 c0                	test   %eax,%eax
  406548:	74 76                	je     4065c0 <_fb_FilePutDataEx+0x150>
  40654a:	8b 5f 04             	mov    0x4(%edi),%ebx
  40654d:	85 db                	test   %ebx,%ebx
  40654f:	74 6f                	je     4065c0 <_fb_FilePutDataEx+0x150>
  406551:	8b 47 34             	mov    0x34(%edi),%eax
  406554:	8b 40 08             	mov    0x8(%eax),%eax
  406557:	85 c0                	test   %eax,%eax
  406559:	74 65                	je     4065c0 <_fb_FilePutDataEx+0x150>
  40655b:	3b 5d 18             	cmp    0x18(%ebp),%ebx
  40655e:	74 15                	je     406575 <_fb_FilePutDataEx+0x105>
  406560:	c7 04 24 03 00 00 00 	movl   $0x3,(%esp)
  406567:	e8 e4 fd ff ff       	call   406350 <_fb_ErrorSetNum@4>
  40656c:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  40656f:	8b 5f 04             	mov    0x4(%edi),%ebx
  406572:	83 ec 04             	sub    $0x4,%esp
  406575:	8b 45 24             	mov    0x24(%ebp),%eax
  406578:	85 c0                	test   %eax,%eax
  40657a:	0f 84 a8 01 00 00    	je     406728 <_fb_FilePutDataEx+0x2b8>
  406580:	8b 45 18             	mov    0x18(%ebp),%eax
  406583:	01 c0                	add    %eax,%eax
  406585:	31 d2                	xor    %edx,%edx
  406587:	f7 f3                	div    %ebx
  406589:	89 d8                	mov    %ebx,%eax
  40658b:	29 d0                	sub    %edx,%eax
  40658d:	31 d2                	xor    %edx,%edx
  40658f:	f7 f3                	div    %ebx
  406591:	85 d2                	test   %edx,%edx
  406593:	74 2b                	je     4065c0 <_fb_FilePutDataEx+0x150>
  406595:	8b 47 34             	mov    0x34(%edi),%eax
  406598:	be 01 00 00 00       	mov    $0x1,%esi
  40659d:	31 db                	xor    %ebx,%ebx
  40659f:	89 74 24 0c          	mov    %esi,0xc(%esp)
  4065a3:	89 54 24 04          	mov    %edx,0x4(%esp)
  4065a7:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  4065ab:	89 3c 24             	mov    %edi,(%esp)
  4065ae:	ff 50 08             	call   *0x8(%eax)
  4065b1:	eb 0d                	jmp    4065c0 <_fb_FilePutDataEx+0x150>
  4065b3:	90                   	nop    
  4065b4:	90                   	nop    
  4065b5:	90                   	nop    
  4065b6:	90                   	nop    
  4065b7:	90                   	nop    
  4065b8:	90                   	nop    
  4065b9:	90                   	nop    
  4065ba:	90                   	nop    
  4065bb:	90                   	nop    
  4065bc:	90                   	nop    
  4065bd:	90                   	nop    
  4065be:	90                   	nop    
  4065bf:	90                   	nop    
  4065c0:	8b 4d 20             	mov    0x20(%ebp),%ecx
  4065c3:	85 c9                	test   %ecx,%ecx
  4065c5:	0f 84 b5 00 00 00    	je     406680 <_fb_FilePutDataEx+0x210>
  4065cb:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  4065ce:	85 d2                	test   %edx,%edx
  4065d0:	0f 85 aa 00 00 00    	jne    406680 <_fb_FilePutDataEx+0x210>
  4065d6:	8b 45 24             	mov    0x24(%ebp),%eax
  4065d9:	85 c0                	test   %eax,%eax
  4065db:	0f 85 09 01 00 00    	jne    4066ea <_fb_FilePutDataEx+0x27a>
  4065e1:	8b 5d 18             	mov    0x18(%ebp),%ebx
  4065e4:	eb 17                	jmp    4065fd <_fb_FilePutDataEx+0x18d>
  4065e6:	8b 4d 14             	mov    0x14(%ebp),%ecx
  4065e9:	0f b6 04 0b          	movzbl (%ebx,%ecx,1),%eax
  4065ed:	3c 0a                	cmp    $0xa,%al
  4065ef:	0f 94 c2             	sete   %dl
  4065f2:	3c 0d                	cmp    $0xd,%al
  4065f4:	0f 94 c0             	sete   %al
  4065f7:	09 d0                	or     %edx,%eax
  4065f9:	a8 01                	test   $0x1,%al
  4065fb:	75 06                	jne    406603 <_fb_FilePutDataEx+0x193>
  4065fd:	4b                   	dec    %ebx
  4065fe:	83 fb ff             	cmp    $0xffffffff,%ebx
  406601:	75 e3                	jne    4065e6 <_fb_FilePutDataEx+0x176>
  406603:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40660a:	89 fe                	mov    %edi,%esi
  40660c:	e8 7f 2a 00 00       	call   409090 <_EnterCriticalSection@4>
  406611:	83 ec 04             	sub    $0x4,%esp
  406614:	eb 02                	jmp    406618 <_fb_FilePutDataEx+0x1a8>
  406616:	89 c6                	mov    %eax,%esi
  406618:	8b 46 3c             	mov    0x3c(%esi),%eax
  40661b:	85 c0                	test   %eax,%eax
  40661d:	75 f7                	jne    406616 <_fb_FilePutDataEx+0x1a6>
  40661f:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406626:	e8 75 2a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40662b:	83 ec 04             	sub    $0x4,%esp
  40662e:	43                   	inc    %ebx
  40662f:	0f 85 e5 00 00 00    	jne    40671a <_fb_FilePutDataEx+0x2aa>
  406635:	8b 4d 18             	mov    0x18(%ebp),%ecx
  406638:	01 4e 24             	add    %ecx,0x24(%esi)
  40663b:	85 f6                	test   %esi,%esi
  40663d:	89 f3                	mov    %esi,%ebx
  40663f:	74 2c                	je     40666d <_fb_FilePutDataEx+0x1fd>
  406641:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406648:	e8 43 2a 00 00       	call   409090 <_EnterCriticalSection@4>
  40664d:	8b 46 3c             	mov    0x3c(%esi),%eax
  406650:	83 ec 04             	sub    $0x4,%esp
  406653:	eb 05                	jmp    40665a <_fb_FilePutDataEx+0x1ea>
  406655:	89 c3                	mov    %eax,%ebx
  406657:	8b 40 3c             	mov    0x3c(%eax),%eax
  40665a:	85 c0                	test   %eax,%eax
  40665c:	75 f7                	jne    406655 <_fb_FilePutDataEx+0x1e5>
  40665e:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406665:	e8 36 2a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40666a:	83 ec 04             	sub    $0x4,%esp
  40666d:	8b 53 28             	mov    0x28(%ebx),%edx
  406670:	85 d2                	test   %edx,%edx
  406672:	74 0c                	je     406680 <_fb_FilePutDataEx+0x210>
  406674:	8b 46 24             	mov    0x24(%esi),%eax
  406677:	89 d1                	mov    %edx,%ecx
  406679:	31 d2                	xor    %edx,%edx
  40667b:	f7 f1                	div    %ecx
  40667d:	89 56 24             	mov    %edx,0x24(%esi)
  406680:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406687:	e8 14 2a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40668c:	83 ec 04             	sub    $0x4,%esp
  40668f:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  406692:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  406695:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  406698:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  40669b:	89 ec                	mov    %ebp,%esp
  40669d:	5d                   	pop    %ebp
  40669e:	c3                   	ret    
  40669f:	83 fb 00             	cmp    $0x0,%ebx
  4066a2:	0f 86 4d fe ff ff    	jbe    4064f5 <_fb_FilePutDataEx+0x85>
  4066a8:	e9 35 fe ff ff       	jmp    4064e2 <_fb_FilePutDataEx+0x72>
  4066ad:	8b 47 34             	mov    0x34(%edi),%eax
  4066b0:	8b 50 1c             	mov    0x1c(%eax),%edx
  4066b3:	85 d2                	test   %edx,%edx
  4066b5:	74 1c                	je     4066d3 <_fb_FilePutDataEx+0x263>
  4066b7:	8b 55 18             	mov    0x18(%ebp),%edx
  4066ba:	89 54 24 08          	mov    %edx,0x8(%esp)
  4066be:	8b 4d 14             	mov    0x14(%ebp),%ecx
  4066c1:	89 3c 24             	mov    %edi,(%esp)
  4066c4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  4066c8:	ff 50 1c             	call   *0x1c(%eax)
  4066cb:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  4066ce:	e9 5d fe ff ff       	jmp    406530 <_fb_FilePutDataEx+0xc0>
  4066d3:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  4066da:	e8 71 fc ff ff       	call   406350 <_fb_ErrorSetNum@4>
  4066df:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  4066e2:	83 ec 04             	sub    $0x4,%esp
  4066e5:	e9 46 fe ff ff       	jmp    406530 <_fb_FilePutDataEx+0xc0>
  4066ea:	8b 5d 18             	mov    0x18(%ebp),%ebx
  4066ed:	eb 20                	jmp    40670f <_fb_FilePutDataEx+0x29f>
  4066ef:	90                   	nop    
  4066f0:	8b 55 14             	mov    0x14(%ebp),%edx
  4066f3:	0f b7 04 5a          	movzwl (%edx,%ebx,2),%eax
  4066f7:	66 83 f8 0a          	cmp    $0xa,%ax
  4066fb:	0f 94 c2             	sete   %dl
  4066fe:	66 83 f8 0d          	cmp    $0xd,%ax
  406702:	0f 94 c0             	sete   %al
  406705:	09 d0                	or     %edx,%eax
  406707:	a8 01                	test   $0x1,%al
  406709:	0f 85 f4 fe ff ff    	jne    406603 <_fb_FilePutDataEx+0x193>
  40670f:	4b                   	dec    %ebx
  406710:	83 fb ff             	cmp    $0xffffffff,%ebx
  406713:	75 db                	jne    4066f0 <_fb_FilePutDataEx+0x280>
  406715:	e9 e9 fe ff ff       	jmp    406603 <_fb_FilePutDataEx+0x193>
  40671a:	29 5d 18             	sub    %ebx,0x18(%ebp)
  40671d:	8b 45 18             	mov    0x18(%ebp),%eax
  406720:	89 46 24             	mov    %eax,0x24(%esi)
  406723:	e9 13 ff ff ff       	jmp    40663b <_fb_FilePutDataEx+0x1cb>
  406728:	8b 45 18             	mov    0x18(%ebp),%eax
  40672b:	e9 55 fe ff ff       	jmp    406585 <_fb_FilePutDataEx+0x115>

00406730 <_fb_FilePutData>:
  406730:	55                   	push   %ebp
  406731:	31 c0                	xor    %eax,%eax
  406733:	89 e5                	mov    %esp,%ebp
  406735:	83 ec 28             	sub    $0x28,%esp
  406738:	8b 4d 08             	mov    0x8(%ebp),%ecx
  40673b:	89 44 24 1c          	mov    %eax,0x1c(%esp)
  40673f:	8b 45 20             	mov    0x20(%ebp),%eax
  406742:	8b 55 10             	mov    0x10(%ebp),%edx
  406745:	85 c9                	test   %ecx,%ecx
  406747:	89 44 24 18          	mov    %eax,0x18(%esp)
  40674b:	8b 45 1c             	mov    0x1c(%ebp),%eax
  40674e:	89 54 24 08          	mov    %edx,0x8(%esp)
  406752:	89 44 24 14          	mov    %eax,0x14(%esp)
  406756:	8b 45 18             	mov    0x18(%ebp),%eax
  406759:	89 44 24 10          	mov    %eax,0x10(%esp)
  40675d:	8b 45 14             	mov    0x14(%ebp),%eax
  406760:	89 44 24 0c          	mov    %eax,0xc(%esp)
  406764:	8b 45 0c             	mov    0xc(%ebp),%eax
  406767:	89 44 24 04          	mov    %eax,0x4(%esp)
  40676b:	b8 30 08 41 00       	mov    $0x410830,%eax
  406770:	74 21                	je     406793 <_fb_FilePutData+0x63>
  406772:	83 f9 ff             	cmp    $0xffffffff,%ecx
  406775:	b8 70 08 41 00       	mov    $0x410870,%eax
  40677a:	74 17                	je     406793 <_fb_FilePutData+0x63>
  40677c:	8d 41 ff             	lea    0xffffffff(%ecx),%eax
  40677f:	31 d2                	xor    %edx,%edx
  406781:	3d fd 00 00 00       	cmp    $0xfd,%eax
  406786:	77 09                	ja     406791 <_fb_FilePutData+0x61>
  406788:	c1 e1 06             	shl    $0x6,%ecx
  40678b:	8d 91 70 08 41 00    	lea    0x410870(%ecx),%edx
  406791:	89 d0                	mov    %edx,%eax
  406793:	89 04 24             	mov    %eax,(%esp)
  406796:	e8 d5 fc ff ff       	call   406470 <_fb_FilePutDataEx>
  40679b:	c9                   	leave  
  40679c:	c3                   	ret    
  40679d:	8d 76 00             	lea    0x0(%esi),%esi

004067a0 <_fb_FilePut@16>:
  4067a0:	55                   	push   %ebp
  4067a1:	31 c0                	xor    %eax,%eax
  4067a3:	89 e5                	mov    %esp,%ebp
  4067a5:	83 ec 28             	sub    $0x28,%esp
  4067a8:	89 44 24 18          	mov    %eax,0x18(%esp)
  4067ac:	b8 01 00 00 00       	mov    $0x1,%eax
  4067b1:	89 44 24 14          	mov    %eax,0x14(%esp)
  4067b5:	8b 45 14             	mov    0x14(%ebp),%eax
  4067b8:	89 44 24 10          	mov    %eax,0x10(%esp)
  4067bc:	8b 45 10             	mov    0x10(%ebp),%eax
  4067bf:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4067c3:	8b 45 0c             	mov    0xc(%ebp),%eax
  4067c6:	99                   	cltd   
  4067c7:	89 44 24 04          	mov    %eax,0x4(%esp)
  4067cb:	8b 45 08             	mov    0x8(%ebp),%eax
  4067ce:	89 54 24 08          	mov    %edx,0x8(%esp)
  4067d2:	89 04 24             	mov    %eax,(%esp)
  4067d5:	e8 56 ff ff ff       	call   406730 <_fb_FilePutData>
  4067da:	c9                   	leave  
  4067db:	c2 10 00             	ret    $0x10
  4067de:	89 f6                	mov    %esi,%esi

004067e0 <_fb_FilePutLarge@20>:
  4067e0:	55                   	push   %ebp
  4067e1:	31 c0                	xor    %eax,%eax
  4067e3:	89 e5                	mov    %esp,%ebp
  4067e5:	83 ec 28             	sub    $0x28,%esp
  4067e8:	8b 55 10             	mov    0x10(%ebp),%edx
  4067eb:	89 44 24 18          	mov    %eax,0x18(%esp)
  4067ef:	b8 01 00 00 00       	mov    $0x1,%eax
  4067f4:	89 44 24 14          	mov    %eax,0x14(%esp)
  4067f8:	8b 45 18             	mov    0x18(%ebp),%eax
  4067fb:	89 54 24 08          	mov    %edx,0x8(%esp)
  4067ff:	89 44 24 10          	mov    %eax,0x10(%esp)
  406803:	8b 45 14             	mov    0x14(%ebp),%eax
  406806:	89 44 24 0c          	mov    %eax,0xc(%esp)
  40680a:	8b 45 0c             	mov    0xc(%ebp),%eax
  40680d:	89 44 24 04          	mov    %eax,0x4(%esp)
  406811:	8b 45 08             	mov    0x8(%ebp),%eax
  406814:	89 04 24             	mov    %eax,(%esp)
  406817:	e8 14 ff ff ff       	call   406730 <_fb_FilePutData>
  40681c:	c9                   	leave  
  40681d:	c2 14 00             	ret    $0x14

00406820 <_fb_DevScrnWrite>:
  406820:	55                   	push   %ebp
  406821:	31 c0                	xor    %eax,%eax
  406823:	89 e5                	mov    %esp,%ebp
  406825:	83 ec 18             	sub    $0x18,%esp
  406828:	89 44 24 08          	mov    %eax,0x8(%esp)
  40682c:	8b 45 10             	mov    0x10(%ebp),%eax
  40682f:	89 44 24 04          	mov    %eax,0x4(%esp)
  406833:	8b 45 0c             	mov    0xc(%ebp),%eax
  406836:	89 04 24             	mov    %eax,(%esp)
  406839:	e8 02 14 00 00       	call   407c40 <_fb_PrintBufferEx@12>
  40683e:	83 ec 0c             	sub    $0xc,%esp
  406841:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406848:	e8 03 fb ff ff       	call   406350 <_fb_ErrorSetNum@4>
  40684d:	83 ec 04             	sub    $0x4,%esp
  406850:	c9                   	leave  
  406851:	c3                   	ret    
  406852:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  406859:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00406860 <_fb_DevScrnInit_Write>:
  406860:	55                   	push   %ebp
  406861:	89 e5                	mov    %esp,%ebp
  406863:	83 ec 08             	sub    $0x8,%esp
  406866:	e8 45 f9 ff ff       	call   4061b0 <_fb_DevScrnInit_NoOpen>
  40686b:	a1 64 08 41 00       	mov    0x410864,%eax
  406870:	8b 50 18             	mov    0x18(%eax),%edx
  406873:	85 d2                	test   %edx,%edx
  406875:	75 07                	jne    40687e <_fb_DevScrnInit_Write+0x1e>
  406877:	c7 40 18 20 68 40 00 	movl   $0x406820,0x18(%eax)
  40687e:	c9                   	leave  
  40687f:	c3                   	ret    

00406880 <_fb_ConsoleGetMaxWindowSize>:
  406880:	55                   	push   %ebp
  406881:	89 e5                	mov    %esp,%ebp
  406883:	56                   	push   %esi
  406884:	53                   	push   %ebx
  406885:	83 ec 10             	sub    $0x10,%esp
  406888:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40688b:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406892:	8b 75 0c             	mov    0xc(%ebp),%esi
  406895:	e8 a6 01 00 00       	call   406a40 <_fb_hConsoleGetHandle>
  40689a:	89 04 24             	mov    %eax,(%esp)
  40689d:	e8 ce 28 00 00       	call   409170 <_GetLargestConsoleWindowSize@4>
  4068a2:	83 ec 04             	sub    $0x4,%esp
  4068a5:	85 db                	test   %ebx,%ebx
  4068a7:	74 0a                	je     4068b3 <_fb_ConsoleGetMaxWindowSize+0x33>
  4068a9:	66 85 c0             	test   %ax,%ax
  4068ac:	0f bf d0             	movswl %ax,%edx
  4068af:	74 1f                	je     4068d0 <_fb_ConsoleGetMaxWindowSize+0x50>
  4068b1:	89 13                	mov    %edx,(%ebx)
  4068b3:	85 f6                	test   %esi,%esi
  4068b5:	74 12                	je     4068c9 <_fb_ConsoleGetMaxWindowSize+0x49>
  4068b7:	c1 f8 10             	sar    $0x10,%eax
  4068ba:	66 85 c0             	test   %ax,%ax
  4068bd:	0f bf d0             	movswl %ax,%edx
  4068c0:	75 05                	jne    4068c7 <_fb_ConsoleGetMaxWindowSize+0x47>
  4068c2:	ba 19 00 00 00       	mov    $0x19,%edx
  4068c7:	89 16                	mov    %edx,(%esi)
  4068c9:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4068cc:	5b                   	pop    %ebx
  4068cd:	5e                   	pop    %esi
  4068ce:	5d                   	pop    %ebp
  4068cf:	c3                   	ret    
  4068d0:	ba 50 00 00 00       	mov    $0x50,%edx
  4068d5:	eb da                	jmp    4068b1 <_fb_ConsoleGetMaxWindowSize+0x31>
  4068d7:	89 f6                	mov    %esi,%esi
  4068d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004068e0 <_fb_hConvertToConsole@16>:
  4068e0:	55                   	push   %ebp
  4068e1:	89 e5                	mov    %esp,%ebp
  4068e3:	83 ec 28             	sub    $0x28,%esp
  4068e6:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  4068e9:	8b 5d 08             	mov    0x8(%ebp),%ebx
  4068ec:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  4068ef:	8b 75 0c             	mov    0xc(%ebp),%esi
  4068f2:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  4068f5:	8b 7d 10             	mov    0x10(%ebp),%edi
  4068f8:	e8 e3 0f 00 00       	call   4078e0 <_fb_InitConsoleWindow>
  4068fd:	0f b7 05 04 49 41 00 	movzwl 0x414904,%eax
  406904:	66 39 05 00 49 41 00 	cmp    %ax,0x414900
  40690b:	74 73                	je     406980 <_fb_hConvertToConsole@16+0xa0>
  40690d:	0f b7 05 06 49 41 00 	movzwl 0x414906,%eax
  406914:	66 39 05 02 49 41 00 	cmp    %ax,0x414902
  40691b:	74 63                	je     406980 <_fb_hConvertToConsole@16+0xa0>
  40691d:	31 c0                	xor    %eax,%eax
  40691f:	89 44 24 0c          	mov    %eax,0xc(%esp)
  406923:	31 c0                	xor    %eax,%eax
  406925:	89 44 24 08          	mov    %eax,0x8(%esp)
  406929:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  40692c:	89 44 24 04          	mov    %eax,0x4(%esp)
  406930:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
  406933:	89 04 24             	mov    %eax,(%esp)
  406936:	e8 c5 13 00 00       	call   407d00 <_fb_hConsoleGetWindow>
  40693b:	85 db                	test   %ebx,%ebx
  40693d:	74 0a                	je     406949 <_fb_hConvertToConsole@16+0x69>
  40693f:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  406942:	8b 0b                	mov    (%ebx),%ecx
  406944:	01 c8                	add    %ecx,%eax
  406946:	48                   	dec    %eax
  406947:	89 03                	mov    %eax,(%ebx)
  406949:	85 f6                	test   %esi,%esi
  40694b:	74 0a                	je     406957 <_fb_hConvertToConsole@16+0x77>
  40694d:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  406950:	8b 16                	mov    (%esi),%edx
  406952:	01 d0                	add    %edx,%eax
  406954:	48                   	dec    %eax
  406955:	89 06                	mov    %eax,(%esi)
  406957:	85 ff                	test   %edi,%edi
  406959:	74 0a                	je     406965 <_fb_hConvertToConsole@16+0x85>
  40695b:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  40695e:	8b 37                	mov    (%edi),%esi
  406960:	01 f0                	add    %esi,%eax
  406962:	48                   	dec    %eax
  406963:	89 07                	mov    %eax,(%edi)
  406965:	8b 5d 14             	mov    0x14(%ebp),%ebx
  406968:	85 db                	test   %ebx,%ebx
  40696a:	74 14                	je     406980 <_fb_hConvertToConsole@16+0xa0>
  40696c:	8b 55 14             	mov    0x14(%ebp),%edx
  40696f:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  406972:	8b 0a                	mov    (%edx),%ecx
  406974:	01 c8                	add    %ecx,%eax
  406976:	48                   	dec    %eax
  406977:	89 02                	mov    %eax,(%edx)
  406979:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  406980:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  406983:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  406986:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  406989:	89 ec                	mov    %ebp,%esp
  40698b:	5d                   	pop    %ebp
  40698c:	c2 10 00             	ret    $0x10
  40698f:	90                   	nop    

00406990 <_fb_hConvertFromConsole@16>:
  406990:	55                   	push   %ebp
  406991:	89 e5                	mov    %esp,%ebp
  406993:	83 ec 28             	sub    $0x28,%esp
  406996:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  406999:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40699c:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  40699f:	8b 75 0c             	mov    0xc(%ebp),%esi
  4069a2:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  4069a5:	8b 7d 10             	mov    0x10(%ebp),%edi
  4069a8:	e8 33 0f 00 00       	call   4078e0 <_fb_InitConsoleWindow>
  4069ad:	0f b7 05 04 49 41 00 	movzwl 0x414904,%eax
  4069b4:	66 39 05 00 49 41 00 	cmp    %ax,0x414900
  4069bb:	74 73                	je     406a30 <_fb_hConvertFromConsole@16+0xa0>
  4069bd:	0f b7 05 06 49 41 00 	movzwl 0x414906,%eax
  4069c4:	66 39 05 02 49 41 00 	cmp    %ax,0x414902
  4069cb:	74 63                	je     406a30 <_fb_hConvertFromConsole@16+0xa0>
  4069cd:	31 c0                	xor    %eax,%eax
  4069cf:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4069d3:	31 c0                	xor    %eax,%eax
  4069d5:	89 44 24 08          	mov    %eax,0x8(%esp)
  4069d9:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  4069dc:	89 44 24 04          	mov    %eax,0x4(%esp)
  4069e0:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
  4069e3:	89 04 24             	mov    %eax,(%esp)
  4069e6:	e8 15 13 00 00       	call   407d00 <_fb_hConsoleGetWindow>
  4069eb:	85 db                	test   %ebx,%ebx
  4069ed:	74 0a                	je     4069f9 <_fb_hConvertFromConsole@16+0x69>
  4069ef:	8b 03                	mov    (%ebx),%eax
  4069f1:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
  4069f4:	29 c8                	sub    %ecx,%eax
  4069f6:	40                   	inc    %eax
  4069f7:	89 03                	mov    %eax,(%ebx)
  4069f9:	85 f6                	test   %esi,%esi
  4069fb:	74 0a                	je     406a07 <_fb_hConvertFromConsole@16+0x77>
  4069fd:	8b 06                	mov    (%esi),%eax
  4069ff:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  406a02:	29 d0                	sub    %edx,%eax
  406a04:	40                   	inc    %eax
  406a05:	89 06                	mov    %eax,(%esi)
  406a07:	85 ff                	test   %edi,%edi
  406a09:	74 0a                	je     406a15 <_fb_hConvertFromConsole@16+0x85>
  406a0b:	8b 07                	mov    (%edi),%eax
  406a0d:	8b 75 ec             	mov    0xffffffec(%ebp),%esi
  406a10:	29 f0                	sub    %esi,%eax
  406a12:	40                   	inc    %eax
  406a13:	89 07                	mov    %eax,(%edi)
  406a15:	8b 5d 14             	mov    0x14(%ebp),%ebx
  406a18:	85 db                	test   %ebx,%ebx
  406a1a:	74 14                	je     406a30 <_fb_hConvertFromConsole@16+0xa0>
  406a1c:	8b 55 14             	mov    0x14(%ebp),%edx
  406a1f:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
  406a22:	8b 02                	mov    (%edx),%eax
  406a24:	29 c8                	sub    %ecx,%eax
  406a26:	40                   	inc    %eax
  406a27:	89 02                	mov    %eax,(%edx)
  406a29:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  406a30:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  406a33:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  406a36:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  406a39:	89 ec                	mov    %ebp,%esp
  406a3b:	5d                   	pop    %ebp
  406a3c:	c2 10 00             	ret    $0x10
  406a3f:	90                   	nop    

00406a40 <_fb_hConsoleGetHandle>:
  406a40:	55                   	push   %ebp
  406a41:	89 e5                	mov    %esp,%ebp
  406a43:	83 ec 18             	sub    $0x18,%esp
  406a46:	a1 d0 d6 40 00       	mov    0x40d6d0,%eax
  406a4b:	85 c0                	test   %eax,%eax
  406a4d:	74 21                	je     406a70 <_fb_hConsoleGetHandle+0x30>
  406a4f:	8b 45 08             	mov    0x8(%ebp),%eax
  406a52:	85 c0                	test   %eax,%eax
  406a54:	74 0a                	je     406a60 <_fb_hConsoleGetHandle+0x20>
  406a56:	a1 e0 48 41 00       	mov    0x4148e0,%eax
  406a5b:	c9                   	leave  
  406a5c:	c3                   	ret    
  406a5d:	8d 76 00             	lea    0x0(%esi),%esi
  406a60:	a1 f8 48 41 00       	mov    0x4148f8,%eax
  406a65:	8b 04 85 e8 48 41 00 	mov    0x4148e8(,%eax,4),%eax
  406a6c:	c9                   	leave  
  406a6d:	c3                   	ret    
  406a6e:	89 f6                	mov    %esi,%esi
  406a70:	b8 01 00 00 00       	mov    $0x1,%eax
  406a75:	a3 d0 d6 40 00       	mov    %eax,0x40d6d0
  406a7a:	c7 04 24 f6 ff ff ff 	movl   $0xfffffff6,(%esp)
  406a81:	e8 fa 26 00 00       	call   409180 <_GetStdHandle@4>
  406a86:	a3 e0 48 41 00       	mov    %eax,0x4148e0
  406a8b:	83 ec 04             	sub    $0x4,%esp
  406a8e:	c7 04 24 f5 ff ff ff 	movl   $0xfffffff5,(%esp)
  406a95:	e8 e6 26 00 00       	call   409180 <_GetStdHandle@4>
  406a9a:	a3 e4 48 41 00       	mov    %eax,0x4148e4
  406a9f:	8b 15 e0 48 41 00    	mov    0x4148e0,%edx
  406aa5:	83 ec 04             	sub    $0x4,%esp
  406aa8:	85 d2                	test   %edx,%edx
  406aaa:	75 17                	jne    406ac3 <_fb_hConsoleGetHandle+0x83>
  406aac:	a3 e8 48 41 00       	mov    %eax,0x4148e8
  406ab1:	31 c9                	xor    %ecx,%ecx
  406ab3:	31 d2                	xor    %edx,%edx
  406ab5:	89 0d fc 48 41 00    	mov    %ecx,0x4148fc
  406abb:	89 15 f8 48 41 00    	mov    %edx,0x4148f8
  406ac1:	eb 8c                	jmp    406a4f <_fb_hConsoleGetHandle+0xf>
  406ac3:	89 14 24             	mov    %edx,(%esp)
  406ac6:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  406ac9:	89 44 24 04          	mov    %eax,0x4(%esp)
  406acd:	e8 be 26 00 00       	call   409190 <_GetConsoleMode@8>
  406ad2:	83 ec 08             	sub    $0x8,%esp
  406ad5:	85 c0                	test   %eax,%eax
  406ad7:	75 07                	jne    406ae0 <_fb_hConsoleGetHandle+0xa0>
  406ad9:	a1 e4 48 41 00       	mov    0x4148e4,%eax
  406ade:	eb cc                	jmp    406aac <_fb_hConsoleGetHandle+0x6c>
  406ae0:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  406ae3:	83 c8 01             	or     $0x1,%eax
  406ae6:	89 45 fc             	mov    %eax,0xfffffffc(%ebp)
  406ae9:	89 44 24 04          	mov    %eax,0x4(%esp)
  406aed:	a1 e0 48 41 00       	mov    0x4148e0,%eax
  406af2:	89 04 24             	mov    %eax,(%esp)
  406af5:	e8 a6 26 00 00       	call   4091a0 <_SetConsoleMode@8>
  406afa:	83 ec 08             	sub    $0x8,%esp
  406afd:	eb da                	jmp    406ad9 <_fb_hConsoleGetHandle+0x99>
  406aff:	90                   	nop    

00406b00 <_fb_hConsoleResetHandles>:
  406b00:	55                   	push   %ebp
  406b01:	31 c0                	xor    %eax,%eax
  406b03:	89 e5                	mov    %esp,%ebp
  406b05:	5d                   	pop    %ebp
  406b06:	a3 d0 d6 40 00       	mov    %eax,0x40d6d0
  406b0b:	c3                   	ret    
  406b0c:	90                   	nop    
  406b0d:	90                   	nop    
  406b0e:	90                   	nop    
  406b0f:	90                   	nop    

00406b10 <_fb_GetSize@8>:
  406b10:	55                   	push   %ebp
  406b11:	89 e5                	mov    %esp,%ebp
  406b13:	83 ec 18             	sub    $0x18,%esp
  406b16:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  406b19:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  406b1c:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  406b1f:	8b 75 08             	mov    0x8(%ebp),%esi
  406b22:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406b29:	e8 62 25 00 00       	call   409090 <_EnterCriticalSection@4>
  406b2e:	a1 d4 07 41 00       	mov    0x4107d4,%eax
  406b33:	83 ec 04             	sub    $0x4,%esp
  406b36:	85 c0                	test   %eax,%eax
  406b38:	74 26                	je     406b60 <_fb_GetSize@8+0x50>
  406b3a:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  406b3e:	89 34 24             	mov    %esi,(%esp)
  406b41:	ff d0                	call   *%eax
  406b43:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406b4a:	e8 51 25 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  406b4f:	83 ec 04             	sub    $0x4,%esp
  406b52:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  406b55:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  406b58:	89 ec                	mov    %ebp,%esp
  406b5a:	5d                   	pop    %ebp
  406b5b:	c2 08 00             	ret    $0x8
  406b5e:	89 f6                	mov    %esi,%esi
  406b60:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  406b64:	89 34 24             	mov    %esi,(%esp)
  406b67:	e8 74 12 00 00       	call   407de0 <_fb_ConsoleGetSize@8>
  406b6c:	83 ec 08             	sub    $0x8,%esp
  406b6f:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406b76:	e8 25 25 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  406b7b:	83 ec 04             	sub    $0x4,%esp
  406b7e:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  406b81:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  406b84:	89 ec                	mov    %ebp,%esp
  406b86:	5d                   	pop    %ebp
  406b87:	c2 08 00             	ret    $0x8
  406b8a:	90                   	nop    
  406b8b:	90                   	nop    
  406b8c:	90                   	nop    
  406b8d:	90                   	nop    
  406b8e:	90                   	nop    
  406b8f:	90                   	nop    

00406b90 <_fb_ConsoleLocate>:
  406b90:	55                   	push   %ebp
  406b91:	89 e5                	mov    %esp,%ebp
  406b93:	53                   	push   %ebx
  406b94:	83 ec 24             	sub    $0x24,%esp
  406b97:	8b 45 0c             	mov    0xc(%ebp),%eax
  406b9a:	85 c0                	test   %eax,%eax
  406b9c:	0f 8e 94 00 00 00    	jle    406c36 <_fb_ConsoleLocate+0xa6>
  406ba2:	8b 5d 08             	mov    0x8(%ebp),%ebx
  406ba5:	85 db                	test   %ebx,%ebx
  406ba7:	0f 8e a3 00 00 00    	jle    406c50 <_fb_ConsoleLocate+0xc0>
  406bad:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406bb4:	e8 87 fe ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  406bb9:	89 04 24             	mov    %eax,(%esp)
  406bbc:	8d 55 f0             	lea    0xfffffff0(%ebp),%edx
  406bbf:	89 54 24 04          	mov    %edx,0x4(%esp)
  406bc3:	e8 e8 25 00 00       	call   4091b0 <_GetConsoleCursorInfo@8>
  406bc8:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
  406bcc:	83 ec 08             	sub    $0x8,%esp
  406bcf:	8b 4d f4             	mov    0xfffffff4(%ebp),%ecx
  406bd2:	0f b6 5d 0c          	movzbl 0xc(%ebp),%ebx
  406bd6:	c1 e0 08             	shl    $0x8,%eax
  406bd9:	09 c3                	or     %eax,%ebx
  406bdb:	85 c9                	test   %ecx,%ecx
  406bdd:	74 06                	je     406be5 <_fb_ConsoleLocate+0x55>
  406bdf:	81 cb 00 00 01 00    	or     $0x10000,%ebx
  406be5:	31 c0                	xor    %eax,%eax
  406be7:	31 d2                	xor    %edx,%edx
  406be9:	89 44 24 08          	mov    %eax,0x8(%esp)
  406bed:	8d 45 08             	lea    0x8(%ebp),%eax
  406bf0:	89 44 24 04          	mov    %eax,0x4(%esp)
  406bf4:	8d 45 0c             	lea    0xc(%ebp),%eax
  406bf7:	89 54 24 0c          	mov    %edx,0xc(%esp)
  406bfb:	89 04 24             	mov    %eax,(%esp)
  406bfe:	e8 dd fc ff ff       	call   4068e0 <_fb_hConvertToConsole@16>
  406c03:	83 ec 10             	sub    $0x10,%esp
  406c06:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406c0d:	e8 2e fe ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  406c12:	89 04 24             	mov    %eax,(%esp)
  406c15:	8b 55 10             	mov    0x10(%ebp),%edx
  406c18:	89 54 24 0c          	mov    %edx,0xc(%esp)
  406c1c:	8b 55 0c             	mov    0xc(%ebp),%edx
  406c1f:	89 54 24 08          	mov    %edx,0x8(%esp)
  406c23:	8b 55 08             	mov    0x8(%ebp),%edx
  406c26:	89 54 24 04          	mov    %edx,0x4(%esp)
  406c2a:	e8 41 12 00 00       	call   407e70 <_fb_ConsoleLocateRawEx>
  406c2f:	89 d8                	mov    %ebx,%eax
  406c31:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  406c34:	c9                   	leave  
  406c35:	c3                   	ret    
  406c36:	e8 15 ef ff ff       	call   405b50 <_fb_ConsoleGetX>
  406c3b:	89 45 0c             	mov    %eax,0xc(%ebp)
  406c3e:	8b 5d 08             	mov    0x8(%ebp),%ebx
  406c41:	85 db                	test   %ebx,%ebx
  406c43:	0f 8f 64 ff ff ff    	jg     406bad <_fb_ConsoleLocate+0x1d>
  406c49:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  406c50:	e8 6b ee ff ff       	call   405ac0 <_fb_ConsoleGetY>
  406c55:	89 45 08             	mov    %eax,0x8(%ebp)
  406c58:	e9 50 ff ff ff       	jmp    406bad <_fb_ConsoleLocate+0x1d>
  406c5d:	90                   	nop    
  406c5e:	90                   	nop    
  406c5f:	90                   	nop    

00406c60 <_fb_ConsoleGetTopRow>:
  406c60:	55                   	push   %ebp
  406c61:	a1 24 a3 40 00       	mov    0x40a324,%eax
  406c66:	89 e5                	mov    %esp,%ebp
  406c68:	83 f8 ff             	cmp    $0xffffffff,%eax
  406c6b:	74 03                	je     406c70 <_fb_ConsoleGetTopRow+0x10>
  406c6d:	5d                   	pop    %ebp
  406c6e:	c3                   	ret    
  406c6f:	90                   	nop    
  406c70:	5d                   	pop    %ebp
  406c71:	31 c0                	xor    %eax,%eax
  406c73:	a3 24 a3 40 00       	mov    %eax,0x40a324
  406c78:	31 c0                	xor    %eax,%eax
  406c7a:	c3                   	ret    
  406c7b:	90                   	nop    
  406c7c:	8d 74 26 00          	lea    0x0(%esi),%esi

00406c80 <_fb_ConsoleGetBotRow>:
  406c80:	55                   	push   %ebp
  406c81:	89 e5                	mov    %esp,%ebp
  406c83:	83 ec 08             	sub    $0x8,%esp
  406c86:	a1 20 a3 40 00       	mov    0x40a320,%eax
  406c8b:	83 f8 ff             	cmp    $0xffffffff,%eax
  406c8e:	74 02                	je     406c92 <_fb_ConsoleGetBotRow+0x12>
  406c90:	c9                   	leave  
  406c91:	c3                   	ret    
  406c92:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406c99:	b9 20 a3 40 00       	mov    $0x40a320,%ecx
  406c9e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  406ca2:	e8 69 fe ff ff       	call   406b10 <_fb_GetSize@8>
  406ca7:	a1 20 a3 40 00       	mov    0x40a320,%eax
  406cac:	83 ec 08             	sub    $0x8,%esp
  406caf:	85 c0                	test   %eax,%eax
  406cb1:	74 08                	je     406cbb <_fb_ConsoleGetBotRow+0x3b>
  406cb3:	48                   	dec    %eax
  406cb4:	a3 20 a3 40 00       	mov    %eax,0x40a320
  406cb9:	c9                   	leave  
  406cba:	c3                   	ret    
  406cbb:	ba 18 00 00 00       	mov    $0x18,%edx
  406cc0:	b8 18 00 00 00       	mov    $0x18,%eax
  406cc5:	89 15 20 a3 40 00    	mov    %edx,0x40a320
  406ccb:	c9                   	leave  
  406ccc:	c3                   	ret    
  406ccd:	8d 76 00             	lea    0x0(%esi),%esi

00406cd0 <_fb_ConsoleSetTopBotRows>:
  406cd0:	55                   	push   %ebp
  406cd1:	89 e5                	mov    %esp,%ebp
  406cd3:	8b 45 08             	mov    0x8(%ebp),%eax
  406cd6:	a3 24 a3 40 00       	mov    %eax,0x40a324
  406cdb:	8b 45 0c             	mov    0xc(%ebp),%eax
  406cde:	5d                   	pop    %ebp
  406cdf:	a3 20 a3 40 00       	mov    %eax,0x40a320
  406ce4:	c3                   	ret    
  406ce5:	8d 74 26 00          	lea    0x0(%esi),%esi
  406ce9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00406cf0 <_fb_ConsoleGetView>:
  406cf0:	55                   	push   %ebp
  406cf1:	89 e5                	mov    %esp,%ebp
  406cf3:	83 ec 08             	sub    $0x8,%esp
  406cf6:	e8 65 ff ff ff       	call   406c60 <_fb_ConsoleGetTopRow>
  406cfb:	8b 55 08             	mov    0x8(%ebp),%edx
  406cfe:	40                   	inc    %eax
  406cff:	89 02                	mov    %eax,(%edx)
  406d01:	e8 7a ff ff ff       	call   406c80 <_fb_ConsoleGetBotRow>
  406d06:	8b 55 0c             	mov    0xc(%ebp),%edx
  406d09:	40                   	inc    %eax
  406d0a:	89 02                	mov    %eax,(%edx)
  406d0c:	c9                   	leave  
  406d0d:	c3                   	ret    
  406d0e:	90                   	nop    
  406d0f:	90                   	nop    

00406d10 <_fb_hConsolePostKey>:
  406d10:	55                   	push   %ebp
  406d11:	89 e5                	mov    %esp,%ebp
  406d13:	56                   	push   %esi
  406d14:	53                   	push   %ebx
  406d15:	83 ec 10             	sub    $0x10,%esp
  406d18:	8b 75 0c             	mov    0xc(%ebp),%esi
  406d1b:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406d22:	e8 69 23 00 00       	call   409090 <_EnterCriticalSection@4>
  406d27:	8b 1d 00 d7 40 00    	mov    0x40d700,%ebx
  406d2d:	83 ec 04             	sub    $0x4,%esp
  406d30:	8b 45 08             	mov    0x8(%ebp),%eax
  406d33:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
  406d36:	c1 e1 02             	shl    $0x2,%ecx
  406d39:	8d 91 30 df 40 00    	lea    0x40df30(%ecx),%edx
  406d3f:	89 04 9d 30 d7 40 00 	mov    %eax,0x40d730(,%ebx,4)
  406d46:	8b 06                	mov    (%esi),%eax
  406d48:	89 42 04             	mov    %eax,0x4(%edx)
  406d4b:	8b 46 04             	mov    0x4(%esi),%eax
  406d4e:	89 42 08             	mov    %eax,0x8(%edx)
  406d51:	8b 46 08             	mov    0x8(%esi),%eax
  406d54:	89 42 0c             	mov    %eax,0xc(%edx)
  406d57:	8b 46 0c             	mov    0xc(%esi),%eax
  406d5a:	89 42 10             	mov    %eax,0x10(%edx)
  406d5d:	ba 01 00 00 00       	mov    $0x1,%edx
  406d62:	66 89 91 30 df 40 00 	mov    %dx,0x40df30(%ecx)
  406d69:	8d 53 01             	lea    0x1(%ebx),%edx
  406d6c:	81 e2 ff 01 00 00    	and    $0x1ff,%edx
  406d72:	3b 15 10 d7 40 00    	cmp    0x40d710,%edx
  406d78:	74 26                	je     406da0 <_fb_hConsolePostKey+0x90>
  406d7a:	89 15 00 d7 40 00    	mov    %edx,0x40d700
  406d80:	b8 01 00 00 00       	mov    $0x1,%eax
  406d85:	a3 20 d7 40 00       	mov    %eax,0x40d720
  406d8a:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406d91:	e8 0a 23 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  406d96:	83 ec 04             	sub    $0x4,%esp
  406d99:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  406d9c:	5b                   	pop    %ebx
  406d9d:	5e                   	pop    %esi
  406d9e:	5d                   	pop    %ebp
  406d9f:	c3                   	ret    
  406da0:	89 15 00 d7 40 00    	mov    %edx,0x40d700
  406da6:	8d 42 01             	lea    0x1(%edx),%eax
  406da9:	25 ff 01 00 00       	and    $0x1ff,%eax
  406dae:	a3 10 d7 40 00       	mov    %eax,0x40d710
  406db3:	b8 01 00 00 00       	mov    $0x1,%eax
  406db8:	a3 20 d7 40 00       	mov    %eax,0x40d720
  406dbd:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  406dc4:	e8 d7 22 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  406dc9:	83 ec 04             	sub    $0x4,%esp
  406dcc:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  406dcf:	5b                   	pop    %ebx
  406dd0:	5e                   	pop    %esi
  406dd1:	5d                   	pop    %ebp
  406dd2:	c3                   	ret    
  406dd3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  406dd9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00406de0 <_fb_hConsoleHandlerRoutine@4>:
  406de0:	55                   	push   %ebp
  406de1:	89 e5                	mov    %esp,%ebp
  406de3:	57                   	push   %edi
  406de4:	83 ec 24             	sub    $0x24,%esp
  406de7:	8b 4d 08             	mov    0x8(%ebp),%ecx
  406dea:	83 f9 06             	cmp    $0x6,%ecx
  406ded:	77 0b                	ja     406dfa <_fb_hConsoleHandlerRoutine@4+0x1a>
  406def:	b8 01 00 00 00       	mov    $0x1,%eax
  406df4:	d3 e0                	shl    %cl,%eax
  406df6:	a8 64                	test   $0x64,%al
  406df8:	75 09                	jne    406e03 <_fb_hConsoleHandlerRoutine@4+0x23>
  406dfa:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  406dfd:	31 c0                	xor    %eax,%eax
  406dff:	c9                   	leave  
  406e00:	c2 04 00             	ret    $0x4
  406e03:	fc                   	cld    
  406e04:	31 c0                	xor    %eax,%eax
  406e06:	8d 7d e8             	lea    0xffffffe8(%ebp),%edi
  406e09:	b9 04 00 00 00       	mov    $0x4,%ecx
  406e0e:	f3 ab                	repz stos %eax,%es:(%edi)
  406e10:	66 c7 45 ee 73 00    	movw   $0x73,0xffffffee(%ebp)
  406e16:	31 c9                	xor    %ecx,%ecx
  406e18:	c7 45 f4 02 00 00 00 	movl   $0x2,0xfffffff4(%ebp)
  406e1f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  406e23:	c7 04 24 73 00 00 00 	movl   $0x73,(%esp)
  406e2a:	e8 a1 24 00 00       	call   4092d0 <_MapVirtualKeyA@8>
  406e2f:	66 89 45 f0          	mov    %ax,0xfffffff0(%ebp)
  406e33:	83 ec 08             	sub    $0x8,%esp
  406e36:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  406e39:	89 44 24 04          	mov    %eax,0x4(%esp)
  406e3d:	c7 04 24 ff 6b 00 00 	movl   $0x6bff,(%esp)
  406e44:	e8 c7 fe ff ff       	call   406d10 <_fb_hConsolePostKey>
  406e49:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  406e4c:	b8 01 00 00 00       	mov    $0x1,%eax
  406e51:	c9                   	leave  
  406e52:	c2 04 00             	ret    $0x4
  406e55:	8d 74 26 00          	lea    0x0(%esi),%esi
  406e59:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00406e60 <_fb_hExitControlHandler>:
  406e60:	55                   	push   %ebp
  406e61:	89 e5                	mov    %esp,%ebp
  406e63:	83 ec 08             	sub    $0x8,%esp
  406e66:	a1 e0 d6 40 00       	mov    0x40d6e0,%eax
  406e6b:	85 c0                	test   %eax,%eax
  406e6d:	75 02                	jne    406e71 <_fb_hExitControlHandler+0x11>
  406e6f:	c9                   	leave  
  406e70:	c3                   	ret    
  406e71:	c7 04 24 e0 6d 40 00 	movl   $0x406de0,(%esp)
  406e78:	31 c0                	xor    %eax,%eax
  406e7a:	89 44 24 04          	mov    %eax,0x4(%esp)
  406e7e:	e8 3d 23 00 00       	call   4091c0 <_SetConsoleCtrlHandler@8>
  406e83:	83 ec 08             	sub    $0x8,%esp
  406e86:	c9                   	leave  
  406e87:	c3                   	ret    
  406e88:	90                   	nop    
  406e89:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00406e90 <_fb_hConsoleTranslateKey>:
  406e90:	55                   	push   %ebp
  406e91:	89 e5                	mov    %esp,%ebp
  406e93:	57                   	push   %edi
  406e94:	31 ff                	xor    %edi,%edi
  406e96:	56                   	push   %esi
  406e97:	31 f6                	xor    %esi,%esi
  406e99:	53                   	push   %ebx
  406e9a:	83 ec 1c             	sub    $0x1c,%esp
  406e9d:	8b 55 14             	mov    0x14(%ebp),%edx
  406ea0:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
  406ea4:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
  406ea8:	0f b7 5d 0c          	movzwl 0xc(%ebp),%ebx
  406eac:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  406eaf:	31 c0                	xor    %eax,%eax
  406eb1:	84 c9                	test   %cl,%cl
  406eb3:	0f 94 c0             	sete   %al
  406eb6:	c1 ea 08             	shr    $0x8,%edx
  406eb9:	85 c0                	test   %eax,%eax
  406ebb:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  406ebe:	0f 95 c0             	setne  %al
  406ec1:	0f b6 c0             	movzbl %al,%eax
  406ec4:	85 d0                	test   %edx,%eax
  406ec6:	74 48                	je     406f10 <_fb_hConsoleTranslateKey+0x80>
  406ec8:	8b 75 14             	mov    0x14(%ebp),%esi
  406ecb:	31 c9                	xor    %ecx,%ecx
  406ecd:	b8 32 b3 40 00       	mov    $0x40b332,%eax
  406ed2:	8b 7d 14             	mov    0x14(%ebp),%edi
  406ed5:	8b 55 14             	mov    0x14(%ebp),%edx
  406ed8:	83 e6 03             	and    $0x3,%esi
  406edb:	83 e7 0c             	and    $0xc,%edi
  406ede:	83 e2 10             	and    $0x10,%edx
  406ee1:	eb 0d                	jmp    406ef0 <_fb_hConsoleTranslateKey+0x60>
  406ee3:	90                   	nop    
  406ee4:	90                   	nop    
  406ee5:	90                   	nop    
  406ee6:	90                   	nop    
  406ee7:	90                   	nop    
  406ee8:	90                   	nop    
  406ee9:	90                   	nop    
  406eea:	90                   	nop    
  406eeb:	90                   	nop    
  406eec:	90                   	nop    
  406eed:	90                   	nop    
  406eee:	90                   	nop    
  406eef:	90                   	nop    
  406ef0:	66 39 58 fe          	cmp    %bx,0xfffffffe(%eax)
  406ef4:	0f 84 04 01 00 00    	je     406ffe <_fb_hConsoleTranslateKey+0x16e>
  406efa:	41                   	inc    %ecx
  406efb:	83 c0 0a             	add    $0xa,%eax
  406efe:	83 f9 0c             	cmp    $0xc,%ecx
  406f01:	75 ed                	jne    406ef0 <_fb_hConsoleTranslateKey+0x60>
  406f03:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  406f06:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  406f0b:	5b                   	pop    %ebx
  406f0c:	5e                   	pop    %esi
  406f0d:	5f                   	pop    %edi
  406f0e:	5d                   	pop    %ebp
  406f0f:	c3                   	ret    
  406f10:	0f b6 c9             	movzbl %cl,%ecx
  406f13:	66 83 fb 58          	cmp    $0x58,%bx
  406f17:	89 4d e8             	mov    %ecx,0xffffffe8(%ebp)
  406f1a:	76 37                	jbe    406f53 <_fb_hConsoleTranslateKey+0xc3>
  406f1c:	89 f8                	mov    %edi,%eax
  406f1e:	0b 45 18             	or     0x18(%ebp),%eax
  406f21:	75 0d                	jne    406f30 <_fb_hConsoleTranslateKey+0xa0>
  406f23:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  406f26:	85 c0                	test   %eax,%eax
  406f28:	0f 84 c8 00 00 00    	je     406ff6 <_fb_hConsoleTranslateKey+0x166>
  406f2e:	89 f6                	mov    %esi,%esi
  406f30:	85 ff                	test   %edi,%edi
  406f32:	74 cf                	je     406f03 <_fb_hConsoleTranslateKey+0x73>
  406f34:	81 fe ff 00 00 00    	cmp    $0xff,%esi
  406f3a:	7e 0d                	jle    406f49 <_fb_hConsoleTranslateKey+0xb9>
  406f3c:	89 f0                	mov    %esi,%eax
  406f3e:	25 00 ff 00 00       	and    $0xff00,%eax
  406f43:	8d b0 ff 00 00 00    	lea    0xff(%eax),%esi
  406f49:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  406f4c:	89 f0                	mov    %esi,%eax
  406f4e:	5b                   	pop    %ebx
  406f4f:	5e                   	pop    %esi
  406f50:	5f                   	pop    %edi
  406f51:	5d                   	pop    %ebp
  406f52:	c3                   	ret    
  406f53:	ba 02 00 00 00       	mov    $0x2,%edx
  406f58:	8d 3c dd 50 b0 40 00 	lea    0x40b050(,%ebx,8),%edi
  406f5f:	89 54 24 04          	mov    %edx,0x4(%esp)
  406f63:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  406f66:	89 04 24             	mov    %eax,(%esp)
  406f69:	e8 62 23 00 00       	call   4092d0 <_MapVirtualKeyA@8>
  406f6e:	0f b7 d8             	movzwl %ax,%ebx
  406f71:	a1 b4 62 41 00       	mov    0x4162b4,%eax
  406f76:	83 ec 08             	sub    $0x8,%esp
  406f79:	83 38 01             	cmpl   $0x1,(%eax)
  406f7c:	0f 85 a5 00 00 00    	jne    407027 <_fb_hConsoleTranslateKey+0x197>
  406f82:	a1 f0 62 41 00       	mov    0x4162f0,%eax
  406f87:	8b 00                	mov    (%eax),%eax
  406f89:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
  406f8d:	83 e0 01             	and    $0x1,%eax
  406f90:	85 c0                	test   %eax,%eax
  406f92:	0f 85 df 00 00 00    	jne    407077 <_fb_hConsoleTranslateKey+0x1e7>
  406f98:	a1 b4 62 41 00       	mov    0x4162b4,%eax
  406f9d:	83 38 01             	cmpl   $0x1,(%eax)
  406fa0:	0f 85 ac 00 00 00    	jne    407052 <_fb_hConsoleTranslateKey+0x1c2>
  406fa6:	a1 f0 62 41 00       	mov    0x4162f0,%eax
  406fab:	8b 00                	mov    (%eax),%eax
  406fad:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
  406fb1:	83 e0 02             	and    $0x2,%eax
  406fb4:	85 c0                	test   %eax,%eax
  406fb6:	89 da                	mov    %ebx,%edx
  406fb8:	0f 85 c8 00 00 00    	jne    407086 <_fb_hConsoleTranslateKey+0x1f6>
  406fbe:	f6 45 14 03          	testb  $0x3,0x14(%ebp)
  406fc2:	74 79                	je     40703d <_fb_hConsoleTranslateKey+0x1ad>
  406fc4:	0f b7 77 06          	movzwl 0x6(%edi),%esi
  406fc8:	31 ff                	xor    %edi,%edi
  406fca:	81 fe ff 00 00 00    	cmp    $0xff,%esi
  406fd0:	0f 8e 46 ff ff ff    	jle    406f1c <_fb_hConsoleTranslateKey+0x8c>
  406fd6:	39 5d e8             	cmp    %ebx,0xffffffe8(%ebp)
  406fd9:	0f 94 c0             	sete   %al
  406fdc:	39 55 e8             	cmp    %edx,0xffffffe8(%ebp)
  406fdf:	0f 94 c2             	sete   %dl
  406fe2:	09 d0                	or     %edx,%eax
  406fe4:	a8 01                	test   $0x1,%al
  406fe6:	0f 84 30 ff ff ff    	je     406f1c <_fb_hConsoleTranslateKey+0x8c>
  406fec:	bf 01 00 00 00       	mov    $0x1,%edi
  406ff1:	e9 26 ff ff ff       	jmp    406f1c <_fb_hConsoleTranslateKey+0x8c>
  406ff6:	8b 75 e8             	mov    0xffffffe8(%ebp),%esi
  406ff9:	e9 36 ff ff ff       	jmp    406f34 <_fb_hConsoleTranslateKey+0xa4>
  406ffe:	85 f6                	test   %esi,%esi
  407000:	75 14                	jne    407016 <_fb_hConsoleTranslateKey+0x186>
  407002:	85 ff                	test   %edi,%edi
  407004:	75 62                	jne    407068 <_fb_hConsoleTranslateKey+0x1d8>
  407006:	85 d2                	test   %edx,%edx
  407008:	0f 85 87 00 00 00    	jne    407095 <_fb_hConsoleTranslateKey+0x205>
  40700e:	0f b7 30             	movzwl (%eax),%esi
  407011:	e9 1e ff ff ff       	jmp    406f34 <_fb_hConsoleTranslateKey+0xa4>
  407016:	0f b7 70 06          	movzwl 0x6(%eax),%esi
  40701a:	85 f6                	test   %esi,%esi
  40701c:	0f 95 c0             	setne  %al
  40701f:	0f b6 f8             	movzbl %al,%edi
  407022:	e9 09 ff ff ff       	jmp    406f30 <_fb_hConsoleTranslateKey+0xa0>
  407027:	89 1c 24             	mov    %ebx,(%esp)
  40702a:	b8 01 00 00 00       	mov    $0x1,%eax
  40702f:	89 44 24 04          	mov    %eax,0x4(%esp)
  407033:	e8 d8 1e 00 00       	call   408f10 <__isctype>
  407038:	e9 53 ff ff ff       	jmp    406f90 <_fb_hConsoleTranslateKey+0x100>
  40703d:	f6 45 14 0c          	testb  $0xc,0x14(%ebp)
  407041:	75 2b                	jne    40706e <_fb_hConsoleTranslateKey+0x1de>
  407043:	f6 45 14 10          	testb  $0x10,0x14(%ebp)
  407047:	74 55                	je     40709e <_fb_hConsoleTranslateKey+0x20e>
  407049:	0f b7 77 02          	movzwl 0x2(%edi),%esi
  40704d:	e9 76 ff ff ff       	jmp    406fc8 <_fb_hConsoleTranslateKey+0x138>
  407052:	89 1c 24             	mov    %ebx,(%esp)
  407055:	b8 02 00 00 00       	mov    $0x2,%eax
  40705a:	89 44 24 04          	mov    %eax,0x4(%esp)
  40705e:	e8 ad 1e 00 00       	call   408f10 <__isctype>
  407063:	e9 4c ff ff ff       	jmp    406fb4 <_fb_hConsoleTranslateKey+0x124>
  407068:	0f b7 70 04          	movzwl 0x4(%eax),%esi
  40706c:	eb ac                	jmp    40701a <_fb_hConsoleTranslateKey+0x18a>
  40706e:	0f b7 77 04          	movzwl 0x4(%edi),%esi
  407072:	e9 51 ff ff ff       	jmp    406fc8 <_fb_hConsoleTranslateKey+0x138>
  407077:	89 1c 24             	mov    %ebx,(%esp)
  40707a:	e8 81 1e 00 00       	call   408f00 <_tolower>
  40707f:	89 c2                	mov    %eax,%edx
  407081:	e9 38 ff ff ff       	jmp    406fbe <_fb_hConsoleTranslateKey+0x12e>
  407086:	89 1c 24             	mov    %ebx,(%esp)
  407089:	e8 62 1e 00 00       	call   408ef0 <_toupper>
  40708e:	89 c2                	mov    %eax,%edx
  407090:	e9 29 ff ff ff       	jmp    406fbe <_fb_hConsoleTranslateKey+0x12e>
  407095:	0f b7 70 02          	movzwl 0x2(%eax),%esi
  407099:	e9 7c ff ff ff       	jmp    40701a <_fb_hConsoleTranslateKey+0x18a>
  40709e:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  4070a1:	89 de                	mov    %ebx,%esi
  4070a3:	85 c0                	test   %eax,%eax
  4070a5:	0f 85 1d ff ff ff    	jne    406fc8 <_fb_hConsoleTranslateKey+0x138>
  4070ab:	0f b7 37             	movzwl (%edi),%esi
  4070ae:	e9 15 ff ff ff       	jmp    406fc8 <_fb_hConsoleTranslateKey+0x138>
  4070b3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4070b9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004070c0 <_fb_ConsoleProcessEvents>:
  4070c0:	55                   	push   %ebp
  4070c1:	89 e5                	mov    %esp,%ebp
  4070c3:	57                   	push   %edi
  4070c4:	56                   	push   %esi
  4070c5:	53                   	push   %ebx
  4070c6:	83 ec 7c             	sub    $0x7c,%esp
  4070c9:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4070d0:	c7 45 b0 00 00 00 00 	movl   $0x0,0xffffffb0(%ebp)
  4070d7:	e8 b4 1f 00 00       	call   409090 <_EnterCriticalSection@4>
  4070dc:	8b 35 e0 d6 40 00    	mov    0x40d6e0,%esi
  4070e2:	83 ec 04             	sub    $0x4,%esp
  4070e5:	85 f6                	test   %esi,%esi
  4070e7:	0f 84 b9 02 00 00    	je     4073a6 <_fb_ConsoleProcessEvents+0x2e6>
  4070ed:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4070f4:	e8 a7 1f 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4070f9:	83 ec 04             	sub    $0x4,%esp
  4070fc:	8d 75 b4             	lea    0xffffffb4(%ebp),%esi
  4070ff:	eb 23                	jmp    407124 <_fb_ConsoleProcessEvents+0x64>
  407101:	83 f8 02             	cmp    $0x2,%eax
  407104:	0f 84 76 01 00 00    	je     407280 <_fb_ConsoleProcessEvents+0x1c0>
  40710a:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407111:	e8 8a 1f 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  407116:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
  407119:	83 ec 04             	sub    $0x4,%esp
  40711c:	85 c9                	test   %ecx,%ecx
  40711e:	0f 84 4c 01 00 00    	je     407270 <_fb_ConsoleProcessEvents+0x1b0>
  407124:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  40712b:	e8 10 f9 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  407130:	89 04 24             	mov    %eax,(%esp)
  407133:	ba 01 00 00 00       	mov    $0x1,%edx
  407138:	89 54 24 08          	mov    %edx,0x8(%esp)
  40713c:	8d 55 c8             	lea    0xffffffc8(%ebp),%edx
  40713f:	89 74 24 0c          	mov    %esi,0xc(%esp)
  407143:	89 54 24 04          	mov    %edx,0x4(%esp)
  407147:	e8 84 20 00 00       	call   4091d0 <_PeekConsoleInputA@16>
  40714c:	83 ec 10             	sub    $0x10,%esp
  40714f:	85 c0                	test   %eax,%eax
  407151:	75 07                	jne    40715a <_fb_ConsoleProcessEvents+0x9a>
  407153:	c7 45 b4 00 00 00 00 	movl   $0x0,0xffffffb4(%ebp)
  40715a:	8b 7d b4             	mov    0xffffffb4(%ebp),%edi
  40715d:	85 ff                	test   %edi,%edi
  40715f:	0f 84 0b 01 00 00    	je     407270 <_fb_ConsoleProcessEvents+0x1b0>
  407165:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  40716c:	bb 01 00 00 00       	mov    $0x1,%ebx
  407171:	e8 ca f8 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  407176:	89 04 24             	mov    %eax,(%esp)
  407179:	8d 7d c8             	lea    0xffffffc8(%ebp),%edi
  40717c:	89 74 24 0c          	mov    %esi,0xc(%esp)
  407180:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  407184:	89 7c 24 04          	mov    %edi,0x4(%esp)
  407188:	e8 53 20 00 00       	call   4091e0 <_ReadConsoleInputA@16>
  40718d:	83 ec 10             	sub    $0x10,%esp
  407190:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407197:	e8 f4 1e 00 00       	call   409090 <_EnterCriticalSection@4>
  40719c:	0f b7 45 c8          	movzwl 0xffffffc8(%ebp),%eax
  4071a0:	83 ec 04             	sub    $0x4,%esp
  4071a3:	83 f8 01             	cmp    $0x1,%eax
  4071a6:	0f 85 55 ff ff ff    	jne    407101 <_fb_ConsoleProcessEvents+0x41>
  4071ac:	8b 4d cc             	mov    0xffffffcc(%ebp),%ecx
  4071af:	85 c9                	test   %ecx,%ecx
  4071b1:	0f 84 eb 00 00 00    	je     4072a2 <_fb_ConsoleProcessEvents+0x1e2>
  4071b7:	66 83 7d d0 00       	cmpw   $0x0,0xffffffd0(%ebp)
  4071bc:	0f 84 48 ff ff ff    	je     40710a <_fb_ConsoleProcessEvents+0x4a>
  4071c2:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  4071c5:	31 d2                	xor    %edx,%edx
  4071c7:	89 54 24 10          	mov    %edx,0x10(%esp)
  4071cb:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4071cf:	0f b7 45 d2          	movzwl 0xffffffd2(%ebp),%eax
  4071d3:	89 44 24 08          	mov    %eax,0x8(%esp)
  4071d7:	0f b7 45 d4          	movzwl 0xffffffd4(%ebp),%eax
  4071db:	89 44 24 04          	mov    %eax,0x4(%esp)
  4071df:	0f be 45 d6          	movsbl 0xffffffd6(%ebp),%eax
  4071e3:	89 04 24             	mov    %eax,(%esp)
  4071e6:	e8 a5 fc ff ff       	call   406e90 <_fb_hConsoleTranslateKey>
  4071eb:	c7 45 a4 00 00 00 00 	movl   $0x0,0xffffffa4(%ebp)
  4071f2:	89 c3                	mov    %eax,%ebx
  4071f4:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  4071f7:	a8 1c                	test   $0x1c,%al
  4071f9:	0f 84 db 01 00 00    	je     4073da <_fb_ConsoleProcessEvents+0x31a>
  4071ff:	0f b7 4d d2          	movzwl 0xffffffd2(%ebp),%ecx
  407203:	8d 41 a0             	lea    0xffffffa0(%ecx),%eax
  407206:	66 83 f8 09          	cmp    $0x9,%ax
  40720a:	0f 96 c2             	setbe  %dl
  40720d:	31 c0                	xor    %eax,%eax
  40720f:	83 7d a4 00          	cmpl   $0x0,0xffffffa4(%ebp)
  407213:	0f 95 c0             	setne  %al
  407216:	85 c2                	test   %eax,%edx
  407218:	0f 84 d0 01 00 00    	je     4073ee <_fb_ConsoleProcessEvents+0x32e>
  40721e:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
  407221:	85 c0                	test   %eax,%eax
  407223:	74 14                	je     407239 <_fb_ConsoleProcessEvents+0x179>
  407225:	a1 f0 d6 40 00       	mov    0x40d6f0,%eax
  40722a:	0f b7 d1             	movzwl %cx,%edx
  40722d:	8d 04 80             	lea    (%eax,%eax,4),%eax
  407230:	8d 44 42 a0          	lea    0xffffffa0(%edx,%eax,2),%eax
  407234:	a3 f0 d6 40 00       	mov    %eax,0x40d6f0
  407239:	83 fb ff             	cmp    $0xffffffff,%ebx
  40723c:	0f 84 c8 fe ff ff    	je     40710a <_fb_ConsoleProcessEvents+0x4a>
  407242:	89 1c 24             	mov    %ebx,(%esp)
  407245:	8d 7d cc             	lea    0xffffffcc(%ebp),%edi
  407248:	89 7c 24 04          	mov    %edi,0x4(%esp)
  40724c:	e8 bf fa ff ff       	call   406d10 <_fb_hConsolePostKey>
  407251:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407258:	e8 43 1e 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40725d:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
  407260:	83 ec 04             	sub    $0x4,%esp
  407263:	85 c9                	test   %ecx,%ecx
  407265:	0f 85 b9 fe ff ff    	jne    407124 <_fb_ConsoleProcessEvents+0x64>
  40726b:	90                   	nop    
  40726c:	8d 74 26 00          	lea    0x0(%esi),%esi
  407270:	8b 45 b0             	mov    0xffffffb0(%ebp),%eax
  407273:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  407276:	5b                   	pop    %ebx
  407277:	5e                   	pop    %esi
  407278:	5f                   	pop    %edi
  407279:	5d                   	pop    %ebp
  40727a:	c3                   	ret    
  40727b:	90                   	nop    
  40727c:	8d 74 26 00          	lea    0x0(%esi),%esi
  407280:	8b 15 10 49 41 00    	mov    0x414910,%edx
  407286:	85 d2                	test   %edx,%edx
  407288:	0f 84 7c fe ff ff    	je     40710a <_fb_ConsoleProcessEvents+0x4a>
  40728e:	8d 45 cc             	lea    0xffffffcc(%ebp),%eax
  407291:	89 04 24             	mov    %eax,(%esp)
  407294:	ff d2                	call   *%edx
  407296:	c7 45 b0 01 00 00 00 	movl   $0x1,0xffffffb0(%ebp)
  40729d:	e9 68 fe ff ff       	jmp    40710a <_fb_ConsoleProcessEvents+0x4a>
  4072a2:	c7 45 a4 00 00 00 00 	movl   $0x0,0xffffffa4(%ebp)
  4072a9:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  4072ac:	a8 1c                	test   $0x1c,%al
  4072ae:	75 10                	jne    4072c0 <_fb_ConsoleProcessEvents+0x200>
  4072b0:	a8 03                	test   $0x3,%al
  4072b2:	74 0c                	je     4072c0 <_fb_ConsoleProcessEvents+0x200>
  4072b4:	c7 45 a4 01 00 00 00 	movl   $0x1,0xffffffa4(%ebp)
  4072bb:	90                   	nop    
  4072bc:	8d 74 26 00          	lea    0x0(%esi),%esi
  4072c0:	0f b7 4d d2          	movzwl 0xffffffd2(%ebp),%ecx
  4072c4:	8d 41 a0             	lea    0xffffffa0(%ecx),%eax
  4072c7:	66 83 f8 09          	cmp    $0x9,%ax
  4072cb:	0f 96 c2             	setbe  %dl
  4072ce:	31 c0                	xor    %eax,%eax
  4072d0:	83 7d a4 00          	cmpl   $0x0,0xffffffa4(%ebp)
  4072d4:	0f 95 c0             	setne  %al
  4072d7:	85 c2                	test   %eax,%edx
  4072d9:	74 24                	je     4072ff <_fb_ConsoleProcessEvents+0x23f>
  4072db:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
  4072de:	85 c0                	test   %eax,%eax
  4072e0:	0f 84 24 fe ff ff    	je     40710a <_fb_ConsoleProcessEvents+0x4a>
  4072e6:	a1 f0 d6 40 00       	mov    0x40d6f0,%eax
  4072eb:	0f b7 d1             	movzwl %cx,%edx
  4072ee:	8d 04 80             	lea    (%eax,%eax,4),%eax
  4072f1:	8d 44 42 a0          	lea    0xffffffa0(%edx,%eax,2),%eax
  4072f5:	a3 f0 d6 40 00       	mov    %eax,0x40d6f0
  4072fa:	e9 0b fe ff ff       	jmp    40710a <_fb_ConsoleProcessEvents+0x4a>
  4072ff:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
  407302:	85 c0                	test   %eax,%eax
  407304:	0f 85 00 fe ff ff    	jne    40710a <_fb_ConsoleProcessEvents+0x4a>
  40730a:	8b 1d f0 d6 40 00    	mov    0x40d6f0,%ebx
  407310:	85 db                	test   %ebx,%ebx
  407312:	0f 84 f2 fd ff ff    	je     40710a <_fb_ConsoleProcessEvents+0x4a>
  407318:	0f be c3             	movsbl %bl,%eax
  40731b:	8d 7d b8             	lea    0xffffffb8(%ebp),%edi
  40731e:	89 04 24             	mov    %eax,(%esp)
  407321:	e8 ba 1f 00 00       	call   4092e0 <_VkKeyScanA@4>
  407326:	fc                   	cld    
  407327:	98                   	cwtl   
  407328:	b9 04 00 00 00       	mov    $0x4,%ecx
  40732d:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
  407330:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
  407333:	83 ec 04             	sub    $0x4,%esp
  407336:	f3 ab                	repz stos %eax,%es:(%edi)
  407338:	0f b6 4d a0          	movzbl 0xffffffa0(%ebp),%ecx
  40733c:	88 5d c2             	mov    %bl,0xffffffc2(%ebp)
  40733f:	8b 55 c4             	mov    0xffffffc4(%ebp),%edx
  407342:	f7 45 a0 00 01 00 00 	testl  $0x100,0xffffffa0(%ebp)
  407349:	66 89 4d be          	mov    %cx,0xffffffbe(%ebp)
  40734d:	0f 85 a7 00 00 00    	jne    4073fa <_fb_ConsoleProcessEvents+0x33a>
  407353:	f7 45 a0 00 02 00 00 	testl  $0x200,0xffffffa0(%ebp)
  40735a:	74 03                	je     40735f <_fb_ConsoleProcessEvents+0x29f>
  40735c:	83 ca 08             	or     $0x8,%edx
  40735f:	f7 45 a0 00 04 00 00 	testl  $0x400,0xffffffa0(%ebp)
  407366:	74 03                	je     40736b <_fb_ConsoleProcessEvents+0x2ab>
  407368:	83 ca 02             	or     $0x2,%edx
  40736b:	89 55 c4             	mov    %edx,0xffffffc4(%ebp)
  40736e:	31 ff                	xor    %edi,%edi
  407370:	31 db                	xor    %ebx,%ebx
  407372:	89 0c 24             	mov    %ecx,(%esp)
  407375:	89 7c 24 04          	mov    %edi,0x4(%esp)
  407379:	e8 52 1f 00 00       	call   4092d0 <_MapVirtualKeyA@8>
  40737e:	66 89 45 c0          	mov    %ax,0xffffffc0(%ebp)
  407382:	83 ec 08             	sub    $0x8,%esp
  407385:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
  407388:	89 44 24 04          	mov    %eax,0x4(%esp)
  40738c:	0f b6 05 f0 d6 40 00 	movzbl 0x40d6f0,%eax
  407393:	89 04 24             	mov    %eax,(%esp)
  407396:	e8 75 f9 ff ff       	call   406d10 <_fb_hConsolePostKey>
  40739b:	89 1d f0 d6 40 00    	mov    %ebx,0x40d6f0
  4073a1:	e9 64 fd ff ff       	jmp    40710a <_fb_ConsoleProcessEvents+0x4a>
  4073a6:	c7 04 24 60 6e 40 00 	movl   $0x406e60,(%esp)
  4073ad:	bb 01 00 00 00       	mov    $0x1,%ebx
  4073b2:	89 1d e0 d6 40 00    	mov    %ebx,0x40d6e0
  4073b8:	e8 c3 9e ff ff       	call   401280 <_atexit>
  4073bd:	c7 04 24 e0 6d 40 00 	movl   $0x406de0,(%esp)
  4073c4:	b9 01 00 00 00       	mov    $0x1,%ecx
  4073c9:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  4073cd:	e8 ee 1d 00 00       	call   4091c0 <_SetConsoleCtrlHandler@8>
  4073d2:	83 ec 08             	sub    $0x8,%esp
  4073d5:	e9 13 fd ff ff       	jmp    4070ed <_fb_ConsoleProcessEvents+0x2d>
  4073da:	a8 03                	test   $0x3,%al
  4073dc:	0f 84 1d fe ff ff    	je     4071ff <_fb_ConsoleProcessEvents+0x13f>
  4073e2:	c7 45 a4 01 00 00 00 	movl   $0x1,0xffffffa4(%ebp)
  4073e9:	e9 11 fe ff ff       	jmp    4071ff <_fb_ConsoleProcessEvents+0x13f>
  4073ee:	83 fb ff             	cmp    $0xffffffff,%ebx
  4073f1:	74 0f                	je     407402 <_fb_ConsoleProcessEvents+0x342>
  4073f3:	31 c0                	xor    %eax,%eax
  4073f5:	e9 3a fe ff ff       	jmp    407234 <_fb_ConsoleProcessEvents+0x174>
  4073fa:	83 ca 10             	or     $0x10,%edx
  4073fd:	e9 51 ff ff ff       	jmp    407353 <_fb_ConsoleProcessEvents+0x293>
  407402:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
  407405:	85 c0                	test   %eax,%eax
  407407:	0f 85 fd fc ff ff    	jne    40710a <_fb_ConsoleProcessEvents+0x4a>
  40740d:	a1 f0 d6 40 00       	mov    0x40d6f0,%eax
  407412:	85 c0                	test   %eax,%eax
  407414:	89 45 ac             	mov    %eax,0xffffffac(%ebp)
  407417:	0f 84 1c fe ff ff    	je     407239 <_fb_ConsoleProcessEvents+0x179>
  40741d:	0f b6 45 ac          	movzbl 0xffffffac(%ebp),%eax
  407421:	8d 7d b8             	lea    0xffffffb8(%ebp),%edi
  407424:	0f be c0             	movsbl %al,%eax
  407427:	89 04 24             	mov    %eax,(%esp)
  40742a:	e8 b1 1e 00 00       	call   4092e0 <_VkKeyScanA@4>
  40742f:	fc                   	cld    
  407430:	98                   	cwtl   
  407431:	b9 04 00 00 00       	mov    $0x4,%ecx
  407436:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
  407439:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
  40743c:	83 ec 04             	sub    $0x4,%esp
  40743f:	f3 ab                	repz stos %eax,%es:(%edi)
  407441:	0f b6 4d a0          	movzbl 0xffffffa0(%ebp),%ecx
  407445:	8b 55 c4             	mov    0xffffffc4(%ebp),%edx
  407448:	0f b6 45 ac          	movzbl 0xffffffac(%ebp),%eax
  40744c:	f7 45 a0 00 01 00 00 	testl  $0x100,0xffffffa0(%ebp)
  407453:	66 89 4d be          	mov    %cx,0xffffffbe(%ebp)
  407457:	88 45 c2             	mov    %al,0xffffffc2(%ebp)
  40745a:	74 03                	je     40745f <_fb_ConsoleProcessEvents+0x39f>
  40745c:	83 ca 10             	or     $0x10,%edx
  40745f:	f7 45 a0 00 02 00 00 	testl  $0x200,0xffffffa0(%ebp)
  407466:	74 03                	je     40746b <_fb_ConsoleProcessEvents+0x3ab>
  407468:	83 ca 08             	or     $0x8,%edx
  40746b:	f7 45 a0 00 04 00 00 	testl  $0x400,0xffffffa0(%ebp)
  407472:	74 03                	je     407477 <_fb_ConsoleProcessEvents+0x3b7>
  407474:	83 ca 02             	or     $0x2,%edx
  407477:	89 55 c4             	mov    %edx,0xffffffc4(%ebp)
  40747a:	31 c0                	xor    %eax,%eax
  40747c:	89 0c 24             	mov    %ecx,(%esp)
  40747f:	89 44 24 04          	mov    %eax,0x4(%esp)
  407483:	e8 48 1e 00 00       	call   4092d0 <_MapVirtualKeyA@8>
  407488:	66 89 45 c0          	mov    %ax,0xffffffc0(%ebp)
  40748c:	0f b6 05 f0 d6 40 00 	movzbl 0x40d6f0,%eax
  407493:	83 ec 08             	sub    $0x8,%esp
  407496:	8d 55 b8             	lea    0xffffffb8(%ebp),%edx
  407499:	89 54 24 04          	mov    %edx,0x4(%esp)
  40749d:	89 04 24             	mov    %eax,(%esp)
  4074a0:	e8 6b f8 ff ff       	call   406d10 <_fb_hConsolePostKey>
  4074a5:	31 c0                	xor    %eax,%eax
  4074a7:	e9 88 fd ff ff       	jmp    407234 <_fb_ConsoleProcessEvents+0x174>
  4074ac:	8d 74 26 00          	lea    0x0(%esi),%esi

004074b0 <_fb_hConsolePutBackEvents>:
  4074b0:	55                   	push   %ebp
  4074b1:	89 e5                	mov    %esp,%ebp
  4074b3:	57                   	push   %edi
  4074b4:	56                   	push   %esi
  4074b5:	53                   	push   %ebx
  4074b6:	83 ec 1c             	sub    $0x1c,%esp
  4074b9:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4074c0:	e8 cb 1b 00 00       	call   409090 <_EnterCriticalSection@4>
  4074c5:	83 ec 04             	sub    $0x4,%esp
  4074c8:	90                   	nop    
  4074c9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4074d0:	e8 eb fb ff ff       	call   4070c0 <_fb_ConsoleProcessEvents>
  4074d5:	85 c0                	test   %eax,%eax
  4074d7:	75 f7                	jne    4074d0 <_fb_hConsolePutBackEvents+0x20>
  4074d9:	8b 1d 10 d7 40 00    	mov    0x40d710,%ebx
  4074df:	a1 00 d7 40 00       	mov    0x40d700,%eax
  4074e4:	39 c3                	cmp    %eax,%ebx
  4074e6:	74 63                	je     40754b <_fb_hConsolePutBackEvents+0x9b>
  4074e8:	8d 7d f0             	lea    0xfffffff0(%ebp),%edi
  4074eb:	90                   	nop    
  4074ec:	8d 74 26 00          	lea    0x0(%esi),%esi
  4074f0:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  4074f7:	39 c3                	cmp    %eax,%ebx
  4074f9:	be 00 02 00 00       	mov    $0x200,%esi
  4074fe:	77 02                	ja     407502 <_fb_hConsolePutBackEvents+0x52>
  407500:	89 c6                	mov    %eax,%esi
  407502:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  407509:	e8 32 f5 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  40750e:	89 04 24             	mov    %eax,(%esp)
  407511:	8d 14 9b             	lea    (%ebx,%ebx,4),%edx
  407514:	29 de                	sub    %ebx,%esi
  407516:	89 7c 24 0c          	mov    %edi,0xc(%esp)
  40751a:	8d 14 95 30 df 40 00 	lea    0x40df30(,%edx,4),%edx
  407521:	01 f3                	add    %esi,%ebx
  407523:	89 74 24 08          	mov    %esi,0x8(%esp)
  407527:	89 54 24 04          	mov    %edx,0x4(%esp)
  40752b:	e8 c0 1c 00 00       	call   4091f0 <_WriteConsoleInputA@16>
  407530:	83 ec 10             	sub    $0x10,%esp
  407533:	31 c0                	xor    %eax,%eax
  407535:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
  40753b:	0f 95 c0             	setne  %al
  40753e:	f7 d8                	neg    %eax
  407540:	21 c3                	and    %eax,%ebx
  407542:	a1 00 d7 40 00       	mov    0x40d700,%eax
  407547:	39 c3                	cmp    %eax,%ebx
  407549:	75 a5                	jne    4074f0 <_fb_hConsolePutBackEvents+0x40>
  40754b:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407552:	e8 49 1b 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  407557:	83 ec 04             	sub    $0x4,%esp
  40755a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40755d:	5b                   	pop    %ebx
  40755e:	5e                   	pop    %esi
  40755f:	5f                   	pop    %edi
  407560:	5d                   	pop    %ebp
  407561:	c3                   	ret    
  407562:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  407569:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00407570 <_fb_hConsoleInputBufferChanged>:
  407570:	55                   	push   %ebp
  407571:	89 e5                	mov    %esp,%ebp
  407573:	53                   	push   %ebx
  407574:	83 ec 04             	sub    $0x4,%esp
  407577:	e8 44 fb ff ff       	call   4070c0 <_fb_ConsoleProcessEvents>
  40757c:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407583:	e8 08 1b 00 00       	call   409090 <_EnterCriticalSection@4>
  407588:	8b 1d 20 d7 40 00    	mov    0x40d720,%ebx
  40758e:	31 c0                	xor    %eax,%eax
  407590:	83 ec 04             	sub    $0x4,%esp
  407593:	a3 20 d7 40 00       	mov    %eax,0x40d720
  407598:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40759f:	e8 fc 1a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4075a4:	83 ec 04             	sub    $0x4,%esp
  4075a7:	89 d8                	mov    %ebx,%eax
  4075a9:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4075ac:	c9                   	leave  
  4075ad:	c3                   	ret    
  4075ae:	89 f6                	mov    %esi,%esi

004075b0 <_fb_hConsoleGetKeyEx>:
  4075b0:	55                   	push   %ebp
  4075b1:	89 e5                	mov    %esp,%ebp
  4075b3:	53                   	push   %ebx
  4075b4:	83 ec 04             	sub    $0x4,%esp
  4075b7:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
  4075bc:	e8 ff fa ff ff       	call   4070c0 <_fb_ConsoleProcessEvents>
  4075c1:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4075c8:	e8 c3 1a 00 00       	call   409090 <_EnterCriticalSection@4>
  4075cd:	a1 10 d7 40 00       	mov    0x40d710,%eax
  4075d2:	83 ec 04             	sub    $0x4,%esp
  4075d5:	3b 05 00 d7 40 00    	cmp    0x40d700,%eax
  4075db:	74 16                	je     4075f3 <_fb_hConsoleGetKeyEx+0x43>
  4075dd:	8b 1c 85 30 d7 40 00 	mov    0x40d730(,%eax,4),%ebx
  4075e4:	8b 55 0c             	mov    0xc(%ebp),%edx
  4075e7:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
  4075ed:	7f 21                	jg     407610 <_fb_hConsoleGetKeyEx+0x60>
  4075ef:	85 d2                	test   %edx,%edx
  4075f1:	75 4d                	jne    407640 <_fb_hConsoleGetKeyEx+0x90>
  4075f3:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4075fa:	e8 a1 1a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4075ff:	83 ec 04             	sub    $0x4,%esp
  407602:	89 d8                	mov    %ebx,%eax
  407604:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  407607:	c9                   	leave  
  407608:	c3                   	ret    
  407609:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  407610:	8b 4d 08             	mov    0x8(%ebp),%ecx
  407613:	85 c9                	test   %ecx,%ecx
  407615:	75 d8                	jne    4075ef <_fb_hConsoleGetKeyEx+0x3f>
  407617:	c1 fb 08             	sar    $0x8,%ebx
  40761a:	89 1c 85 30 d7 40 00 	mov    %ebx,0x40d730(,%eax,4)
  407621:	bb ff 00 00 00       	mov    $0xff,%ebx
  407626:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  40762d:	e8 6e 1a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  407632:	83 ec 04             	sub    $0x4,%esp
  407635:	89 d8                	mov    %ebx,%eax
  407637:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40763a:	c9                   	leave  
  40763b:	c3                   	ret    
  40763c:	8d 74 26 00          	lea    0x0(%esi),%esi
  407640:	40                   	inc    %eax
  407641:	25 ff 01 00 00       	and    $0x1ff,%eax
  407646:	a3 10 d7 40 00       	mov    %eax,0x40d710
  40764b:	e8 20 ff ff ff       	call   407570 <_fb_hConsoleInputBufferChanged>
  407650:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407657:	e8 44 1a 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  40765c:	83 ec 04             	sub    $0x4,%esp
  40765f:	89 d8                	mov    %ebx,%eax
  407661:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  407664:	c9                   	leave  
  407665:	c3                   	ret    
  407666:	8d 76 00             	lea    0x0(%esi),%esi
  407669:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00407670 <_fb_hConsolePeekKey>:
  407670:	55                   	push   %ebp
  407671:	31 c0                	xor    %eax,%eax
  407673:	89 e5                	mov    %esp,%ebp
  407675:	83 ec 08             	sub    $0x8,%esp
  407678:	89 44 24 04          	mov    %eax,0x4(%esp)
  40767c:	8b 45 08             	mov    0x8(%ebp),%eax
  40767f:	89 04 24             	mov    %eax,(%esp)
  407682:	e8 29 ff ff ff       	call   4075b0 <_fb_hConsoleGetKeyEx>
  407687:	c9                   	leave  
  407688:	c3                   	ret    
  407689:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00407690 <_fb_hConsoleGetKey>:
  407690:	55                   	push   %ebp
  407691:	b8 01 00 00 00       	mov    $0x1,%eax
  407696:	89 e5                	mov    %esp,%ebp
  407698:	83 ec 08             	sub    $0x8,%esp
  40769b:	89 44 24 04          	mov    %eax,0x4(%esp)
  40769f:	8b 45 08             	mov    0x8(%ebp),%eax
  4076a2:	89 04 24             	mov    %eax,(%esp)
  4076a5:	e8 06 ff ff ff       	call   4075b0 <_fb_hConsoleGetKeyEx>
  4076aa:	c9                   	leave  
  4076ab:	c3                   	ret    
  4076ac:	90                   	nop    
  4076ad:	90                   	nop    
  4076ae:	90                   	nop    
  4076af:	90                   	nop    

004076b0 <_fb_Delay@4>:
  4076b0:	55                   	push   %ebp
  4076b1:	89 e5                	mov    %esp,%ebp
  4076b3:	c9                   	leave  
  4076b4:	e9 47 1b 00 00       	jmp    409200 <_Sleep@4>
  4076b9:	90                   	nop    
  4076ba:	90                   	nop    
  4076bb:	90                   	nop    
  4076bc:	90                   	nop    
  4076bd:	90                   	nop    
  4076be:	90                   	nop    
  4076bf:	90                   	nop    

004076c0 <_fb_ConsoleGetColorAttEx>:
  4076c0:	55                   	push   %ebp
  4076c1:	89 e5                	mov    %esp,%ebp
  4076c3:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  4076c6:	83 ec 38             	sub    $0x38,%esp
  4076c9:	89 44 24 04          	mov    %eax,0x4(%esp)
  4076cd:	8b 45 08             	mov    0x8(%ebp),%eax
  4076d0:	89 04 24             	mov    %eax,(%esp)
  4076d3:	e8 68 1a 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  4076d8:	83 ec 08             	sub    $0x8,%esp
  4076db:	85 c0                	test   %eax,%eax
  4076dd:	ba 07 00 00 00       	mov    $0x7,%edx
  4076e2:	74 04                	je     4076e8 <_fb_ConsoleGetColorAttEx+0x28>
  4076e4:	0f b7 55 e0          	movzwl 0xffffffe0(%ebp),%edx
  4076e8:	c9                   	leave  
  4076e9:	89 d0                	mov    %edx,%eax
  4076eb:	c3                   	ret    
  4076ec:	8d 74 26 00          	lea    0x0(%esi),%esi

004076f0 <_fb_ConsoleGetColorAtt>:
  4076f0:	55                   	push   %ebp
  4076f1:	89 e5                	mov    %esp,%ebp
  4076f3:	83 ec 08             	sub    $0x8,%esp
  4076f6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4076fd:	e8 3e f3 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  407702:	89 04 24             	mov    %eax,(%esp)
  407705:	e8 b6 ff ff ff       	call   4076c0 <_fb_ConsoleGetColorAttEx>
  40770a:	c9                   	leave  
  40770b:	c3                   	ret    
  40770c:	90                   	nop    
  40770d:	90                   	nop    
  40770e:	90                   	nop    
  40770f:	90                   	nop    

00407710 <_fb_ConsoleClearViewRawEx>:
  407710:	55                   	push   %ebp
  407711:	89 e5                	mov    %esp,%ebp
  407713:	57                   	push   %edi
  407714:	56                   	push   %esi
  407715:	53                   	push   %ebx
  407716:	83 ec 2c             	sub    $0x2c,%esp
  407719:	8b 45 08             	mov    0x8(%ebp),%eax
  40771c:	8b 5d 14             	mov    0x14(%ebp),%ebx
  40771f:	89 04 24             	mov    %eax,(%esp)
  407722:	e8 99 ff ff ff       	call   4076c0 <_fb_ConsoleGetColorAttEx>
  407727:	0f b7 c0             	movzwl %ax,%eax
  40772a:	8b 7d 0c             	mov    0xc(%ebp),%edi
  40772d:	8b 75 10             	mov    0x10(%ebp),%esi
  407730:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  407733:	8b 45 18             	mov    0x18(%ebp),%eax
  407736:	29 fb                	sub    %edi,%ebx
  407738:	89 c1                	mov    %eax,%ecx
  40773a:	29 f1                	sub    %esi,%ecx
  40773c:	43                   	inc    %ebx
  40773d:	89 5d e8             	mov    %ebx,0xffffffe8(%ebp)
  407740:	0f 94 c2             	sete   %dl
  407743:	83 f9 ff             	cmp    $0xffffffff,%ecx
  407746:	0f 94 c0             	sete   %al
  407749:	09 d0                	or     %edx,%eax
  40774b:	a8 01                	test   $0x1,%al
  40774d:	0f 85 b0 00 00 00    	jne    407803 <_fb_ConsoleClearViewRawEx+0xf3>
  407753:	83 f9 ff             	cmp    $0xffffffff,%ecx
  407756:	89 ce                	mov    %ecx,%esi
  407758:	0f 84 83 00 00 00    	je     4077e1 <_fb_ConsoleClearViewRawEx+0xd1>
  40775e:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
  407762:	8d 7d f0             	lea    0xfffffff0(%ebp),%edi
  407765:	89 7d e0             	mov    %edi,0xffffffe0(%ebp)
  407768:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  40776b:	90                   	nop    
  40776c:	8d 74 26 00          	lea    0x0(%esi),%esi
  407770:	8b 4d e4             	mov    0xffffffe4(%ebp),%ecx
  407773:	81 e3 00 00 ff ff    	and    $0xffff0000,%ebx
  407779:	8b 45 10             	mov    0x10(%ebp),%eax
  40777c:	09 cb                	or     %ecx,%ebx
  40777e:	01 f0                	add    %esi,%eax
  407780:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
  407786:	c1 e0 10             	shl    $0x10,%eax
  407789:	4e                   	dec    %esi
  40778a:	09 c3                	or     %eax,%ebx
  40778c:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  407790:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  407793:	89 44 24 10          	mov    %eax,0x10(%esp)
  407797:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  40779a:	89 44 24 08          	mov    %eax,0x8(%esp)
  40779e:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  4077a1:	89 44 24 04          	mov    %eax,0x4(%esp)
  4077a5:	8b 45 08             	mov    0x8(%ebp),%eax
  4077a8:	89 04 24             	mov    %eax,(%esp)
  4077ab:	e8 60 1a 00 00       	call   409210 <_FillConsoleOutputAttribute@20>
  4077b0:	89 7d e0             	mov    %edi,0xffffffe0(%ebp)
  4077b3:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  4077b6:	83 ec 14             	sub    $0x14,%esp
  4077b9:	89 7c 24 10          	mov    %edi,0x10(%esp)
  4077bd:	ba 20 00 00 00       	mov    $0x20,%edx
  4077c2:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  4077c6:	89 44 24 08          	mov    %eax,0x8(%esp)
  4077ca:	8b 45 08             	mov    0x8(%ebp),%eax
  4077cd:	89 54 24 04          	mov    %edx,0x4(%esp)
  4077d1:	89 04 24             	mov    %eax,(%esp)
  4077d4:	e8 47 1a 00 00       	call   409220 <_FillConsoleOutputCharacterA@20>
  4077d9:	83 ec 14             	sub    $0x14,%esp
  4077dc:	83 fe ff             	cmp    $0xffffffff,%esi
  4077df:	75 8f                	jne    407770 <_fb_ConsoleClearViewRawEx+0x60>
  4077e1:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  4077e6:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4077ea:	8b 45 0c             	mov    0xc(%ebp),%eax
  4077ed:	89 44 24 08          	mov    %eax,0x8(%esp)
  4077f1:	8b 45 10             	mov    0x10(%ebp),%eax
  4077f4:	89 44 24 04          	mov    %eax,0x4(%esp)
  4077f8:	8b 45 08             	mov    0x8(%ebp),%eax
  4077fb:	89 04 24             	mov    %eax,(%esp)
  4077fe:	e8 6d 06 00 00       	call   407e70 <_fb_ConsoleLocateRawEx>
  407803:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  407806:	5b                   	pop    %ebx
  407807:	5e                   	pop    %esi
  407808:	5f                   	pop    %edi
  407809:	5d                   	pop    %ebp
  40780a:	c3                   	ret    
  40780b:	90                   	nop    
  40780c:	90                   	nop    
  40780d:	90                   	nop    
  40780e:	90                   	nop    
  40780f:	90                   	nop    

00407810 <_fb_hUpdateConsoleWindow@0>:
  407810:	55                   	push   %ebp
  407811:	89 e5                	mov    %esp,%ebp
  407813:	53                   	push   %ebx
  407814:	83 ec 34             	sub    $0x34,%esp
  407817:	a1 08 49 41 00       	mov    0x414908,%eax
  40781c:	85 c0                	test   %eax,%eax
  40781e:	74 05                	je     407825 <_fb_hUpdateConsoleWindow@0+0x15>
  407820:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  407823:	c9                   	leave  
  407824:	c3                   	ret    
  407825:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40782c:	8d 5d d8             	lea    0xffffffd8(%ebp),%ebx
  40782f:	e8 0c f2 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  407834:	89 04 24             	mov    %eax,(%esp)
  407837:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  40783b:	e8 00 19 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  407840:	83 ec 08             	sub    $0x8,%esp
  407843:	85 c0                	test   %eax,%eax
  407845:	74 59                	je     4078a0 <_fb_hUpdateConsoleWindow@0+0x90>
  407847:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  40784a:	31 c9                	xor    %ecx,%ecx
  40784c:	66 89 0d 00 49 41 00 	mov    %cx,0x414900
  407853:	66 a3 02 49 41 00    	mov    %ax,0x414902
  407859:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  40785c:	48                   	dec    %eax
  40785d:	66 a3 04 49 41 00    	mov    %ax,0x414904
  407863:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  407866:	66 a3 06 49 41 00    	mov    %ax,0x414906
  40786c:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  407873:	e8 c8 f1 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  407878:	89 04 24             	mov    %eax,(%esp)
  40787b:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  40787f:	e8 bc 18 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  407884:	83 ec 08             	sub    $0x8,%esp
  407887:	85 c0                	test   %eax,%eax
  407889:	75 42                	jne    4078cd <_fb_hUpdateConsoleWindow@0+0xbd>
  40788b:	31 d2                	xor    %edx,%edx
  40788d:	31 c0                	xor    %eax,%eax
  40788f:	89 15 40 07 41 00    	mov    %edx,0x410740
  407895:	a3 44 07 41 00       	mov    %eax,0x410744
  40789a:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40789d:	c9                   	leave  
  40789e:	c3                   	ret    
  40789f:	90                   	nop    
  4078a0:	31 c0                	xor    %eax,%eax
  4078a2:	a3 00 49 41 00       	mov    %eax,0x414900
  4078a7:	31 c0                	xor    %eax,%eax
  4078a9:	a3 04 49 41 00       	mov    %eax,0x414904
  4078ae:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4078b5:	e8 86 f1 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  4078ba:	89 04 24             	mov    %eax,(%esp)
  4078bd:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4078c1:	e8 7a 18 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  4078c6:	83 ec 08             	sub    $0x8,%esp
  4078c9:	85 c0                	test   %eax,%eax
  4078cb:	74 be                	je     40788b <_fb_hUpdateConsoleWindow@0+0x7b>
  4078cd:	8b 45 e2             	mov    0xffffffe2(%ebp),%eax
  4078d0:	a3 40 07 41 00       	mov    %eax,0x410740
  4078d5:	8b 45 e6             	mov    0xffffffe6(%ebp),%eax
  4078d8:	eb bb                	jmp    407895 <_fb_hUpdateConsoleWindow@0+0x85>
  4078da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

004078e0 <_fb_InitConsoleWindow>:
  4078e0:	55                   	push   %ebp
  4078e1:	a1 30 07 41 00       	mov    0x410730,%eax
  4078e6:	89 e5                	mov    %esp,%ebp
  4078e8:	85 c0                	test   %eax,%eax
  4078ea:	74 04                	je     4078f0 <_fb_InitConsoleWindow+0x10>
  4078ec:	5d                   	pop    %ebp
  4078ed:	c3                   	ret    
  4078ee:	89 f6                	mov    %esi,%esi
  4078f0:	5d                   	pop    %ebp
  4078f1:	b8 01 00 00 00       	mov    $0x1,%eax
  4078f6:	a3 30 07 41 00       	mov    %eax,0x410730
  4078fb:	e9 10 ff ff ff       	jmp    407810 <_fb_hUpdateConsoleWindow@0>

00407900 <_fb_hRestoreConsoleWindow@0>:
  407900:	55                   	push   %ebp
  407901:	89 e5                	mov    %esp,%ebp
  407903:	53                   	push   %ebx
  407904:	83 ec 44             	sub    $0x44,%esp
  407907:	8b 1d 08 49 41 00    	mov    0x414908,%ebx
  40790d:	85 db                	test   %ebx,%ebx
  40790f:	74 05                	je     407916 <_fb_hRestoreConsoleWindow@0+0x16>
  407911:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  407914:	c9                   	leave  
  407915:	c3                   	ret    
  407916:	e8 c5 ff ff ff       	call   4078e0 <_fb_InitConsoleWindow>
  40791b:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  407922:	8d 5d d0             	lea    0xffffffd0(%ebp),%ebx
  407925:	e8 16 f1 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  40792a:	89 04 24             	mov    %eax,(%esp)
  40792d:	8d 55 d8             	lea    0xffffffd8(%ebp),%edx
  407930:	89 54 24 04          	mov    %edx,0x4(%esp)
  407934:	e8 07 18 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  407939:	83 ec 08             	sub    $0x8,%esp
  40793c:	85 c0                	test   %eax,%eax
  40793e:	74 70                	je     4079b0 <_fb_hRestoreConsoleWindow@0+0xb0>
  407940:	8b 45 e2             	mov    0xffffffe2(%ebp),%eax
  407943:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
  407946:	8b 45 e6             	mov    0xffffffe6(%ebp),%eax
  407949:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
  40794c:	0f b7 15 42 07 41 00 	movzwl 0x410742,%edx
  407953:	66 39 53 02          	cmp    %dx,0x2(%ebx)
  407957:	74 67                	je     4079c0 <_fb_hRestoreConsoleWindow@0+0xc0>
  407959:	0f b7 05 46 07 41 00 	movzwl 0x410746,%eax
  407960:	66 89 53 02          	mov    %dx,0x2(%ebx)
  407964:	66 89 43 06          	mov    %ax,0x6(%ebx)
  407968:	31 db                	xor    %ebx,%ebx
  40796a:	8b 04 9d e8 48 41 00 	mov    0x4148e8(,%ebx,4),%eax
  407971:	85 c0                	test   %eax,%eax
  407973:	75 1c                	jne    407991 <_fb_hRestoreConsoleWindow@0+0x91>
  407975:	8d 74 26 00          	lea    0x0(%esi),%esi
  407979:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  407980:	43                   	inc    %ebx
  407981:	83 fb 03             	cmp    $0x3,%ebx
  407984:	7f 8b                	jg     407911 <_fb_hRestoreConsoleWindow@0+0x11>
  407986:	8b 04 9d e8 48 41 00 	mov    0x4148e8(,%ebx,4),%eax
  40798d:	85 c0                	test   %eax,%eax
  40798f:	74 ef                	je     407980 <_fb_hRestoreConsoleWindow@0+0x80>
  407991:	89 04 24             	mov    %eax,(%esp)
  407994:	b9 40 07 41 00       	mov    $0x410740,%ecx
  407999:	ba 01 00 00 00       	mov    $0x1,%edx
  40799e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  4079a2:	89 54 24 04          	mov    %edx,0x4(%esp)
  4079a6:	e8 85 18 00 00       	call   409230 <_SetConsoleWindowInfo@12>
  4079ab:	83 ec 0c             	sub    $0xc,%esp
  4079ae:	eb d0                	jmp    407980 <_fb_hRestoreConsoleWindow@0+0x80>
  4079b0:	c7 45 d0 00 00 00 00 	movl   $0x0,0xffffffd0(%ebp)
  4079b7:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
  4079be:	eb 8c                	jmp    40794c <_fb_hRestoreConsoleWindow@0+0x4c>
  4079c0:	0f b7 05 46 07 41 00 	movzwl 0x410746,%eax
  4079c7:	66 39 43 06          	cmp    %ax,0x6(%ebx)
  4079cb:	75 93                	jne    407960 <_fb_hRestoreConsoleWindow@0+0x60>
  4079cd:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4079d0:	c9                   	leave  
  4079d1:	c3                   	ret    
  4079d2:	90                   	nop    
  4079d3:	90                   	nop    
  4079d4:	90                   	nop    
  4079d5:	90                   	nop    
  4079d6:	90                   	nop    
  4079d7:	90                   	nop    
  4079d8:	90                   	nop    
  4079d9:	90                   	nop    
  4079da:	90                   	nop    
  4079db:	90                   	nop    
  4079dc:	90                   	nop    
  4079dd:	90                   	nop    
  4079de:	90                   	nop    
  4079df:	90                   	nop    

004079e0 <_fb_hListDynInit>:
  4079e0:	55                   	push   %ebp
  4079e1:	fc                   	cld    
  4079e2:	89 e5                	mov    %esp,%ebp
  4079e4:	57                   	push   %edi
  4079e5:	8b 7d 08             	mov    0x8(%ebp),%edi
  4079e8:	b9 04 00 00 00       	mov    $0x4,%ecx
  4079ed:	31 c0                	xor    %eax,%eax
  4079ef:	f3 ab                	repz stos %eax,%es:(%edi)
  4079f1:	5f                   	pop    %edi
  4079f2:	5d                   	pop    %ebp
  4079f3:	c3                   	ret    
  4079f4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4079fa:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00407a00 <_fb_hListDynElemAdd>:
  407a00:	55                   	push   %ebp
  407a01:	89 e5                	mov    %esp,%ebp
  407a03:	8b 55 08             	mov    0x8(%ebp),%edx
  407a06:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  407a09:	8b 42 08             	mov    0x8(%edx),%eax
  407a0c:	85 c0                	test   %eax,%eax
  407a0e:	74 16                	je     407a26 <_fb_hListDynElemAdd+0x26>
  407a10:	89 48 04             	mov    %ecx,0x4(%eax)
  407a13:	8b 42 08             	mov    0x8(%edx),%eax
  407a16:	ff 02                	incl   (%edx)
  407a18:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
  407a1f:	89 01                	mov    %eax,(%ecx)
  407a21:	89 4a 08             	mov    %ecx,0x8(%edx)
  407a24:	5d                   	pop    %ebp
  407a25:	c3                   	ret    
  407a26:	ff 02                	incl   (%edx)
  407a28:	89 4a 04             	mov    %ecx,0x4(%edx)
  407a2b:	89 01                	mov    %eax,(%ecx)
  407a2d:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
  407a34:	89 4a 08             	mov    %ecx,0x8(%edx)
  407a37:	5d                   	pop    %ebp
  407a38:	c3                   	ret    
  407a39:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00407a40 <_fb_hListDynElemRemove>:
  407a40:	55                   	push   %ebp
  407a41:	89 e5                	mov    %esp,%ebp
  407a43:	53                   	push   %ebx
  407a44:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  407a47:	8b 5d 08             	mov    0x8(%ebp),%ebx
  407a4a:	8b 11                	mov    (%ecx),%edx
  407a4c:	85 d2                	test   %edx,%edx
  407a4e:	74 21                	je     407a71 <_fb_hListDynElemRemove+0x31>
  407a50:	8b 41 04             	mov    0x4(%ecx),%eax
  407a53:	89 42 04             	mov    %eax,0x4(%edx)
  407a56:	8b 41 04             	mov    0x4(%ecx),%eax
  407a59:	85 c0                	test   %eax,%eax
  407a5b:	74 23                	je     407a80 <_fb_hListDynElemRemove+0x40>
  407a5d:	ff 0b                	decl   (%ebx)
  407a5f:	89 10                	mov    %edx,(%eax)
  407a61:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
  407a68:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
  407a6e:	5b                   	pop    %ebx
  407a6f:	5d                   	pop    %ebp
  407a70:	c3                   	ret    
  407a71:	8b 41 04             	mov    0x4(%ecx),%eax
  407a74:	89 43 04             	mov    %eax,0x4(%ebx)
  407a77:	8b 41 04             	mov    0x4(%ecx),%eax
  407a7a:	8b 11                	mov    (%ecx),%edx
  407a7c:	85 c0                	test   %eax,%eax
  407a7e:	75 dd                	jne    407a5d <_fb_hListDynElemRemove+0x1d>
  407a80:	ff 0b                	decl   (%ebx)
  407a82:	89 53 08             	mov    %edx,0x8(%ebx)
  407a85:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
  407a8c:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
  407a92:	5b                   	pop    %ebx
  407a93:	5d                   	pop    %ebp
  407a94:	c3                   	ret    
  407a95:	90                   	nop    
  407a96:	90                   	nop    
  407a97:	90                   	nop    
  407a98:	90                   	nop    
  407a99:	90                   	nop    
  407a9a:	90                   	nop    
  407a9b:	90                   	nop    
  407a9c:	90                   	nop    
  407a9d:	90                   	nop    
  407a9e:	90                   	nop    
  407a9f:	90                   	nop    

00407aa0 <_fb_FileSeekEx>:
  407aa0:	55                   	push   %ebp
  407aa1:	89 e5                	mov    %esp,%ebp
  407aa3:	83 ec 28             	sub    $0x28,%esp
  407aa6:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  407aa9:	8b 7d 08             	mov    0x8(%ebp),%edi
  407aac:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  407aaf:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  407ab2:	85 ff                	test   %edi,%edi
  407ab4:	74 07                	je     407abd <_fb_FileSeekEx+0x1d>
  407ab6:	8b 77 34             	mov    0x34(%edi),%esi
  407ab9:	85 f6                	test   %esi,%esi
  407abb:	75 23                	jne    407ae0 <_fb_FileSeekEx+0x40>
  407abd:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  407ac4:	e8 87 e8 ff ff       	call   406350 <_fb_ErrorSetNum@4>
  407ac9:	83 ec 04             	sub    $0x4,%esp
  407acc:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  407acf:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  407ad2:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  407ad5:	89 ec                	mov    %ebp,%esp
  407ad7:	5d                   	pop    %ebp
  407ad8:	c3                   	ret    
  407ad9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  407ae0:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407ae7:	e8 a4 15 00 00       	call   409090 <_EnterCriticalSection@4>
  407aec:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
  407af3:	83 ec 04             	sub    $0x4,%esp
  407af6:	83 45 0c ff          	addl   $0xffffffff,0xc(%ebp)
  407afa:	83 55 10 ff          	adcl   $0xffffffff,0x10(%ebp)
  407afe:	83 3f 01             	cmpl   $0x1,(%edi)
  407b01:	74 44                	je     407b47 <_fb_FileSeekEx+0xa7>
  407b03:	8b 47 34             	mov    0x34(%edi),%eax
  407b06:	8b 48 08             	mov    0x8(%eax),%ecx
  407b09:	85 c9                	test   %ecx,%ecx
  407b0b:	74 74                	je     407b81 <_fb_FileSeekEx+0xe1>
  407b0d:	31 d2                	xor    %edx,%edx
  407b0f:	89 54 24 0c          	mov    %edx,0xc(%esp)
  407b13:	8b 55 0c             	mov    0xc(%ebp),%edx
  407b16:	8b 4d 10             	mov    0x10(%ebp),%ecx
  407b19:	89 3c 24             	mov    %edi,(%esp)
  407b1c:	89 54 24 04          	mov    %edx,0x4(%esp)
  407b20:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  407b24:	ff 50 08             	call   *0x8(%eax)
  407b27:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407b2e:	89 c6                	mov    %eax,%esi
  407b30:	e8 6b 15 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  407b35:	83 ec 04             	sub    $0x4,%esp
  407b38:	89 f0                	mov    %esi,%eax
  407b3a:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  407b3d:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  407b40:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  407b43:	89 ec                	mov    %ebp,%esp
  407b45:	5d                   	pop    %ebp
  407b46:	c3                   	ret    
  407b47:	8b 47 04             	mov    0x4(%edi),%eax
  407b4a:	89 c1                	mov    %eax,%ecx
  407b4c:	89 c3                	mov    %eax,%ebx
  407b4e:	8b 45 0c             	mov    0xc(%ebp),%eax
  407b51:	c1 fb 1f             	sar    $0x1f,%ebx
  407b54:	f7 e1                	mul    %ecx
  407b56:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
  407b59:	8b 55 0c             	mov    0xc(%ebp),%edx
  407b5c:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  407b5f:	8b 75 ec             	mov    0xffffffec(%ebp),%esi
  407b62:	0f af d3             	imul   %ebx,%edx
  407b65:	8b 5d 10             	mov    0x10(%ebp),%ebx
  407b68:	0f af cb             	imul   %ebx,%ecx
  407b6b:	01 d6                	add    %edx,%esi
  407b6d:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
  407b70:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
  407b73:	89 4d ec             	mov    %ecx,0xffffffec(%ebp)
  407b76:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
  407b79:	89 55 0c             	mov    %edx,0xc(%ebp)
  407b7c:	89 4d 10             	mov    %ecx,0x10(%ebp)
  407b7f:	eb 82                	jmp    407b03 <_fb_FileSeekEx+0x63>
  407b81:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  407b88:	e8 c3 e7 ff ff       	call   406350 <_fb_ErrorSetNum@4>
  407b8d:	83 ec 04             	sub    $0x4,%esp
  407b90:	eb 95                	jmp    407b27 <_fb_FileSeekEx+0x87>
  407b92:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  407b99:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00407ba0 <_fb_FileSeek@8>:
  407ba0:	55                   	push   %ebp
  407ba1:	89 e5                	mov    %esp,%ebp
  407ba3:	83 ec 18             	sub    $0x18,%esp
  407ba6:	8b 45 0c             	mov    0xc(%ebp),%eax
  407ba9:	8b 55 08             	mov    0x8(%ebp),%edx
  407bac:	89 c1                	mov    %eax,%ecx
  407bae:	89 44 24 04          	mov    %eax,0x4(%esp)
  407bb2:	c1 f9 1f             	sar    $0x1f,%ecx
  407bb5:	85 d2                	test   %edx,%edx
  407bb7:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  407bbb:	b8 30 08 41 00       	mov    $0x410830,%eax
  407bc0:	74 21                	je     407be3 <_fb_FileSeek@8+0x43>
  407bc2:	83 fa ff             	cmp    $0xffffffff,%edx
  407bc5:	b8 70 08 41 00       	mov    $0x410870,%eax
  407bca:	74 17                	je     407be3 <_fb_FileSeek@8+0x43>
  407bcc:	8d 42 ff             	lea    0xffffffff(%edx),%eax
  407bcf:	31 c9                	xor    %ecx,%ecx
  407bd1:	3d fd 00 00 00       	cmp    $0xfd,%eax
  407bd6:	77 09                	ja     407be1 <_fb_FileSeek@8+0x41>
  407bd8:	c1 e2 06             	shl    $0x6,%edx
  407bdb:	8d 8a 70 08 41 00    	lea    0x410870(%edx),%ecx
  407be1:	89 c8                	mov    %ecx,%eax
  407be3:	89 04 24             	mov    %eax,(%esp)
  407be6:	e8 b5 fe ff ff       	call   407aa0 <_fb_FileSeekEx>
  407beb:	c9                   	leave  
  407bec:	c2 08 00             	ret    $0x8
  407bef:	90                   	nop    

00407bf0 <_fb_FileSeekLarge@12>:
  407bf0:	55                   	push   %ebp
  407bf1:	89 e5                	mov    %esp,%ebp
  407bf3:	83 ec 18             	sub    $0x18,%esp
  407bf6:	8b 4d 08             	mov    0x8(%ebp),%ecx
  407bf9:	8b 45 0c             	mov    0xc(%ebp),%eax
  407bfc:	8b 55 10             	mov    0x10(%ebp),%edx
  407bff:	85 c9                	test   %ecx,%ecx
  407c01:	89 44 24 04          	mov    %eax,0x4(%esp)
  407c05:	b8 30 08 41 00       	mov    $0x410830,%eax
  407c0a:	89 54 24 08          	mov    %edx,0x8(%esp)
  407c0e:	74 21                	je     407c31 <_fb_FileSeekLarge@12+0x41>
  407c10:	83 f9 ff             	cmp    $0xffffffff,%ecx
  407c13:	b8 70 08 41 00       	mov    $0x410870,%eax
  407c18:	74 17                	je     407c31 <_fb_FileSeekLarge@12+0x41>
  407c1a:	8d 41 ff             	lea    0xffffffff(%ecx),%eax
  407c1d:	31 d2                	xor    %edx,%edx
  407c1f:	3d fd 00 00 00       	cmp    $0xfd,%eax
  407c24:	77 09                	ja     407c2f <_fb_FileSeekLarge@12+0x3f>
  407c26:	c1 e1 06             	shl    $0x6,%ecx
  407c29:	8d 91 70 08 41 00    	lea    0x410870(%ecx),%edx
  407c2f:	89 d0                	mov    %edx,%eax
  407c31:	89 04 24             	mov    %eax,(%esp)
  407c34:	e8 67 fe ff ff       	call   407aa0 <_fb_FileSeekEx>
  407c39:	c9                   	leave  
  407c3a:	c2 0c 00             	ret    $0xc
  407c3d:	90                   	nop    
  407c3e:	90                   	nop    
  407c3f:	90                   	nop    

00407c40 <_fb_PrintBufferEx@12>:
  407c40:	55                   	push   %ebp
  407c41:	89 e5                	mov    %esp,%ebp
  407c43:	83 ec 18             	sub    $0x18,%esp
  407c46:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  407c49:	8b 5d 10             	mov    0x10(%ebp),%ebx
  407c4c:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  407c4f:	8b 75 0c             	mov    0xc(%ebp),%esi
  407c52:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  407c55:	8b 7d 08             	mov    0x8(%ebp),%edi
  407c58:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407c5f:	e8 2c 14 00 00       	call   409090 <_EnterCriticalSection@4>
  407c64:	a1 d8 07 41 00       	mov    0x4107d8,%eax
  407c69:	83 ec 04             	sub    $0x4,%esp
  407c6c:	85 c0                	test   %eax,%eax
  407c6e:	74 30                	je     407ca0 <_fb_PrintBufferEx@12+0x60>
  407c70:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  407c74:	89 74 24 04          	mov    %esi,0x4(%esp)
  407c78:	89 3c 24             	mov    %edi,(%esp)
  407c7b:	ff d0                	call   *%eax
  407c7d:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407c84:	e8 17 14 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  407c89:	83 ec 04             	sub    $0x4,%esp
  407c8c:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  407c8f:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  407c92:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  407c95:	89 ec                	mov    %ebp,%esp
  407c97:	5d                   	pop    %ebp
  407c98:	c2 0c 00             	ret    $0xc
  407c9b:	90                   	nop    
  407c9c:	8d 74 26 00          	lea    0x0(%esi),%esi
  407ca0:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  407ca4:	89 74 24 04          	mov    %esi,0x4(%esp)
  407ca8:	89 3c 24             	mov    %edi,(%esp)
  407cab:	e8 80 05 00 00       	call   408230 <_fb_ConsolePrintBufferEx>
  407cb0:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  407cb7:	e8 e4 13 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  407cbc:	83 ec 04             	sub    $0x4,%esp
  407cbf:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  407cc2:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  407cc5:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  407cc8:	89 ec                	mov    %ebp,%esp
  407cca:	5d                   	pop    %ebp
  407ccb:	c2 0c 00             	ret    $0xc
  407cce:	89 f6                	mov    %esi,%esi

00407cd0 <_fb_PrintBuffer@8>:
  407cd0:	55                   	push   %ebp
  407cd1:	89 e5                	mov    %esp,%ebp
  407cd3:	53                   	push   %ebx
  407cd4:	83 ec 14             	sub    $0x14,%esp
  407cd7:	8b 5d 08             	mov    0x8(%ebp),%ebx
  407cda:	89 1c 24             	mov    %ebx,(%esp)
  407cdd:	e8 7e 11 00 00       	call   408e60 <_strlen>
  407ce2:	89 44 24 04          	mov    %eax,0x4(%esp)
  407ce6:	8b 55 0c             	mov    0xc(%ebp),%edx
  407ce9:	89 1c 24             	mov    %ebx,(%esp)
  407cec:	89 54 24 08          	mov    %edx,0x8(%esp)
  407cf0:	e8 4b ff ff ff       	call   407c40 <_fb_PrintBufferEx@12>
  407cf5:	83 ec 0c             	sub    $0xc,%esp
  407cf8:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  407cfb:	c9                   	leave  
  407cfc:	c2 08 00             	ret    $0x8
  407cff:	90                   	nop    

00407d00 <_fb_hConsoleGetWindow>:
  407d00:	55                   	push   %ebp
  407d01:	89 e5                	mov    %esp,%ebp
  407d03:	83 ec 18             	sub    $0x18,%esp
  407d06:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  407d09:	8b 5d 08             	mov    0x8(%ebp),%ebx
  407d0c:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  407d0f:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  407d12:	8b 7d 0c             	mov    0xc(%ebp),%edi
  407d15:	e8 c6 fb ff ff       	call   4078e0 <_fb_InitConsoleWindow>
  407d1a:	0f b7 15 00 49 41 00 	movzwl 0x414900,%edx
  407d21:	0f b7 35 04 49 41 00 	movzwl 0x414904,%esi
  407d28:	66 39 f2             	cmp    %si,%dx
  407d2b:	74 63                	je     407d90 <_fb_hConsoleGetWindow+0x90>
  407d2d:	0f b7 05 06 49 41 00 	movzwl 0x414906,%eax
  407d34:	0f b7 0d 02 49 41 00 	movzwl 0x414902,%ecx
  407d3b:	66 89 45 f2          	mov    %ax,0xfffffff2(%ebp)
  407d3f:	66 39 c1             	cmp    %ax,%cx
  407d42:	74 4c                	je     407d90 <_fb_hConsoleGetWindow+0x90>
  407d44:	85 db                	test   %ebx,%ebx
  407d46:	74 05                	je     407d4d <_fb_hConsoleGetWindow+0x4d>
  407d48:	0f bf c2             	movswl %dx,%eax
  407d4b:	89 03                	mov    %eax,(%ebx)
  407d4d:	85 ff                	test   %edi,%edi
  407d4f:	74 05                	je     407d56 <_fb_hConsoleGetWindow+0x56>
  407d51:	0f bf c1             	movswl %cx,%eax
  407d54:	89 07                	mov    %eax,(%edi)
  407d56:	8b 5d 10             	mov    0x10(%ebp),%ebx
  407d59:	85 db                	test   %ebx,%ebx
  407d5b:	74 0e                	je     407d6b <_fb_hConsoleGetWindow+0x6b>
  407d5d:	0f bf d2             	movswl %dx,%edx
  407d60:	0f bf c6             	movswl %si,%eax
  407d63:	29 d0                	sub    %edx,%eax
  407d65:	8b 55 10             	mov    0x10(%ebp),%edx
  407d68:	40                   	inc    %eax
  407d69:	89 02                	mov    %eax,(%edx)
  407d6b:	8b 45 14             	mov    0x14(%ebp),%eax
  407d6e:	85 c0                	test   %eax,%eax
  407d70:	74 0f                	je     407d81 <_fb_hConsoleGetWindow+0x81>
  407d72:	0f bf 45 f2          	movswl 0xfffffff2(%ebp),%eax
  407d76:	0f bf d1             	movswl %cx,%edx
  407d79:	29 d0                	sub    %edx,%eax
  407d7b:	8b 55 14             	mov    0x14(%ebp),%edx
  407d7e:	40                   	inc    %eax
  407d7f:	89 02                	mov    %eax,(%edx)
  407d81:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  407d84:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  407d87:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  407d8a:	89 ec                	mov    %ebp,%esp
  407d8c:	5d                   	pop    %ebp
  407d8d:	c3                   	ret    
  407d8e:	89 f6                	mov    %esi,%esi
  407d90:	85 db                	test   %ebx,%ebx
  407d92:	74 06                	je     407d9a <_fb_hConsoleGetWindow+0x9a>
  407d94:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
  407d9a:	85 ff                	test   %edi,%edi
  407d9c:	74 06                	je     407da4 <_fb_hConsoleGetWindow+0xa4>
  407d9e:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
  407da4:	8b 7d 10             	mov    0x10(%ebp),%edi
  407da7:	85 ff                	test   %edi,%edi
  407da9:	74 09                	je     407db4 <_fb_hConsoleGetWindow+0xb4>
  407dab:	8b 55 10             	mov    0x10(%ebp),%edx
  407dae:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
  407db4:	8b 75 14             	mov    0x14(%ebp),%esi
  407db7:	85 f6                	test   %esi,%esi
  407db9:	74 c6                	je     407d81 <_fb_hConsoleGetWindow+0x81>
  407dbb:	8b 45 14             	mov    0x14(%ebp),%eax
  407dbe:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
  407dc4:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  407dc7:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  407dca:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  407dcd:	89 ec                	mov    %ebp,%esp
  407dcf:	5d                   	pop    %ebp
  407dd0:	c3                   	ret    
  407dd1:	90                   	nop    
  407dd2:	90                   	nop    
  407dd3:	90                   	nop    
  407dd4:	90                   	nop    
  407dd5:	90                   	nop    
  407dd6:	90                   	nop    
  407dd7:	90                   	nop    
  407dd8:	90                   	nop    
  407dd9:	90                   	nop    
  407dda:	90                   	nop    
  407ddb:	90                   	nop    
  407ddc:	90                   	nop    
  407ddd:	90                   	nop    
  407dde:	90                   	nop    
  407ddf:	90                   	nop    

00407de0 <_fb_ConsoleGetSize@8>:
  407de0:	55                   	push   %ebp
  407de1:	89 e5                	mov    %esp,%ebp
  407de3:	83 ec 28             	sub    $0x28,%esp
  407de6:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  407de9:	8b 5d 08             	mov    0x8(%ebp),%ebx
  407dec:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  407def:	8b 75 0c             	mov    0xc(%ebp),%esi
  407df2:	e8 e9 fa ff ff       	call   4078e0 <_fb_InitConsoleWindow>
  407df7:	0f b7 05 04 49 41 00 	movzwl 0x414904,%eax
  407dfe:	66 39 05 00 49 41 00 	cmp    %ax,0x414900
  407e05:	74 4e                	je     407e55 <_fb_ConsoleGetSize@8+0x75>
  407e07:	0f b7 05 06 49 41 00 	movzwl 0x414906,%eax
  407e0e:	66 39 05 02 49 41 00 	cmp    %ax,0x414902
  407e15:	74 3e                	je     407e55 <_fb_ConsoleGetSize@8+0x75>
  407e17:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  407e1e:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
  407e21:	89 44 24 0c          	mov    %eax,0xc(%esp)
  407e25:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  407e28:	89 44 24 08          	mov    %eax,0x8(%esp)
  407e2c:	31 c0                	xor    %eax,%eax
  407e2e:	89 44 24 04          	mov    %eax,0x4(%esp)
  407e32:	e8 c9 fe ff ff       	call   407d00 <_fb_hConsoleGetWindow>
  407e37:	85 db                	test   %ebx,%ebx
  407e39:	74 05                	je     407e40 <_fb_ConsoleGetSize@8+0x60>
  407e3b:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  407e3e:	89 03                	mov    %eax,(%ebx)
  407e40:	85 f6                	test   %esi,%esi
  407e42:	74 05                	je     407e49 <_fb_ConsoleGetSize@8+0x69>
  407e44:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  407e47:	89 06                	mov    %eax,(%esi)
  407e49:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  407e4c:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  407e4f:	89 ec                	mov    %ebp,%esp
  407e51:	5d                   	pop    %ebp
  407e52:	c2 08 00             	ret    $0x8
  407e55:	c7 45 f0 50 00 00 00 	movl   $0x50,0xfffffff0(%ebp)
  407e5c:	c7 45 f4 19 00 00 00 	movl   $0x19,0xfffffff4(%ebp)
  407e63:	eb d2                	jmp    407e37 <_fb_ConsoleGetSize@8+0x57>
  407e65:	90                   	nop    
  407e66:	90                   	nop    
  407e67:	90                   	nop    
  407e68:	90                   	nop    
  407e69:	90                   	nop    
  407e6a:	90                   	nop    
  407e6b:	90                   	nop    
  407e6c:	90                   	nop    
  407e6d:	90                   	nop    
  407e6e:	90                   	nop    
  407e6f:	90                   	nop    

00407e70 <_fb_ConsoleLocateRawEx>:
  407e70:	55                   	push   %ebp
  407e71:	89 e5                	mov    %esp,%ebp
  407e73:	83 ec 28             	sub    $0x28,%esp
  407e76:	89 7d fc             	mov    %edi,0xfffffffc(%ebp)
  407e79:	8b 7d 10             	mov    0x10(%ebp),%edi
  407e7c:	89 5d f4             	mov    %ebx,0xfffffff4(%ebp)
  407e7f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  407e82:	85 ff                	test   %edi,%edi
  407e84:	89 75 f8             	mov    %esi,0xfffffff8(%ebp)
  407e87:	0f 88 99 00 00 00    	js     407f26 <_fb_ConsoleLocateRawEx+0xb6>
  407e8d:	85 db                	test   %ebx,%ebx
  407e8f:	0f 88 7f 00 00 00    	js     407f14 <_fb_ConsoleLocateRawEx+0xa4>
  407e95:	81 e6 00 00 ff ff    	and    $0xffff0000,%esi
  407e9b:	0f b7 c7             	movzwl %di,%eax
  407e9e:	8b 55 14             	mov    0x14(%ebp),%edx
  407ea1:	09 c6                	or     %eax,%esi
  407ea3:	c1 e3 10             	shl    $0x10,%ebx
  407ea6:	81 e6 ff ff 00 00    	and    $0xffff,%esi
  407eac:	09 de                	or     %ebx,%esi
  407eae:	85 d2                	test   %edx,%edx
  407eb0:	78 3c                	js     407eee <_fb_ConsoleLocateRawEx+0x7e>
  407eb2:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  407eb9:	8d 5d e8             	lea    0xffffffe8(%ebp),%ebx
  407ebc:	e8 7f eb ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  407ec1:	89 04 24             	mov    %eax,(%esp)
  407ec4:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  407ec8:	e8 e3 12 00 00       	call   4091b0 <_GetConsoleCursorInfo@8>
  407ecd:	83 ec 08             	sub    $0x8,%esp
  407ed0:	31 c0                	xor    %eax,%eax
  407ed2:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
  407ed6:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  407eda:	0f 95 c0             	setne  %al
  407edd:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  407ee0:	8b 45 08             	mov    0x8(%ebp),%eax
  407ee3:	89 04 24             	mov    %eax,(%esp)
  407ee6:	e8 55 13 00 00       	call   409240 <_SetConsoleCursorInfo@8>
  407eeb:	83 ec 08             	sub    $0x8,%esp
  407eee:	89 74 24 04          	mov    %esi,0x4(%esp)
  407ef2:	31 c0                	xor    %eax,%eax
  407ef4:	a3 0c 49 41 00       	mov    %eax,0x41490c
  407ef9:	8b 45 08             	mov    0x8(%ebp),%eax
  407efc:	89 04 24             	mov    %eax,(%esp)
  407eff:	e8 4c 13 00 00       	call   409250 <_SetConsoleCursorPosition@8>
  407f04:	83 ec 08             	sub    $0x8,%esp
  407f07:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  407f0a:	8b 75 f8             	mov    0xfffffff8(%ebp),%esi
  407f0d:	8b 7d fc             	mov    0xfffffffc(%ebp),%edi
  407f10:	89 ec                	mov    %ebp,%esp
  407f12:	5d                   	pop    %ebp
  407f13:	c3                   	ret    
  407f14:	8b 45 08             	mov    0x8(%ebp),%eax
  407f17:	89 04 24             	mov    %eax,(%esp)
  407f1a:	e8 51 db ff ff       	call   405a70 <_fb_ConsoleGetRawYEx>
  407f1f:	89 c3                	mov    %eax,%ebx
  407f21:	e9 6f ff ff ff       	jmp    407e95 <_fb_ConsoleLocateRawEx+0x25>
  407f26:	8b 45 08             	mov    0x8(%ebp),%eax
  407f29:	89 04 24             	mov    %eax,(%esp)
  407f2c:	e8 cf db ff ff       	call   405b00 <_fb_ConsoleGetRawXEx>
  407f31:	89 c7                	mov    %eax,%edi
  407f33:	e9 55 ff ff ff       	jmp    407e8d <_fb_ConsoleLocateRawEx+0x1d>
  407f38:	90                   	nop    
  407f39:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00407f40 <_fb_ConsoleLocateRaw@12>:
  407f40:	55                   	push   %ebp
  407f41:	89 e5                	mov    %esp,%ebp
  407f43:	83 ec 18             	sub    $0x18,%esp
  407f46:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  407f4d:	e8 ee ea ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  407f52:	89 04 24             	mov    %eax,(%esp)
  407f55:	8b 55 10             	mov    0x10(%ebp),%edx
  407f58:	89 54 24 0c          	mov    %edx,0xc(%esp)
  407f5c:	8b 55 0c             	mov    0xc(%ebp),%edx
  407f5f:	89 54 24 08          	mov    %edx,0x8(%esp)
  407f63:	8b 55 08             	mov    0x8(%ebp),%edx
  407f66:	89 54 24 04          	mov    %edx,0x4(%esp)
  407f6a:	e8 01 ff ff ff       	call   407e70 <_fb_ConsoleLocateRawEx>
  407f6f:	c9                   	leave  
  407f70:	c2 0c 00             	ret    $0xc
  407f73:	90                   	nop    
  407f74:	90                   	nop    
  407f75:	90                   	nop    
  407f76:	90                   	nop    
  407f77:	90                   	nop    
  407f78:	90                   	nop    
  407f79:	90                   	nop    
  407f7a:	90                   	nop    
  407f7b:	90                   	nop    
  407f7c:	90                   	nop    
  407f7d:	90                   	nop    
  407f7e:	90                   	nop    
  407f7f:	90                   	nop    

00407f80 <_fb_hHookConScroll>:
  407f80:	55                   	push   %ebp
  407f81:	89 e5                	mov    %esp,%ebp
  407f83:	57                   	push   %edi
  407f84:	56                   	push   %esi
  407f85:	53                   	push   %ebx
  407f86:	83 ec 4c             	sub    $0x4c,%esp
  407f89:	8b 45 08             	mov    0x8(%ebp),%eax
  407f8c:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
  407f8f:	8b 30                	mov    (%eax),%esi
  407f91:	8b 7e 20             	mov    0x20(%esi),%edi
  407f94:	8b 56 1c             	mov    0x1c(%esi),%edx
  407f97:	85 ff                	test   %edi,%edi
  407f99:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
  407f9c:	0f 85 6d 01 00 00    	jne    40810f <_fb_hHookConScroll+0x18f>
  407fa2:	8b 48 18             	mov    0x18(%eax),%ecx
  407fa5:	8b 56 14             	mov    0x14(%esi),%edx
  407fa8:	8d 41 01             	lea    0x1(%ecx),%eax
  407fab:	39 d0                	cmp    %edx,%eax
  407fad:	7d 25                	jge    407fd4 <_fb_hHookConScroll+0x54>
  407faf:	29 ca                	sub    %ecx,%edx
  407fb1:	8d 42 ff             	lea    0xffffffff(%edx),%eax
  407fb4:	39 c3                	cmp    %eax,%ebx
  407fb6:	89 da                	mov    %ebx,%edx
  407fb8:	0f 8f a0 01 00 00    	jg     40815e <_fb_hHookConScroll+0x1de>
  407fbe:	8b 7d 08             	mov    0x8(%ebp),%edi
  407fc1:	01 d1                	add    %edx,%ecx
  407fc3:	01 57 10             	add    %edx,0x10(%edi)
  407fc6:	29 d3                	sub    %edx,%ebx
  407fc8:	89 4f 18             	mov    %ecx,0x18(%edi)
  407fcb:	0f 84 36 01 00 00    	je     408107 <_fb_hHookConScroll+0x187>
  407fd1:	8b 56 14             	mov    0x14(%esi),%edx
  407fd4:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
  407fdb:	8b 46 10             	mov    0x10(%esi),%eax
  407fde:	48                   	dec    %eax
  407fdf:	66 89 45 ec          	mov    %ax,0xffffffec(%ebp)
  407fe3:	8d 42 ff             	lea    0xffffffff(%edx),%eax
  407fe6:	66 89 45 ee          	mov    %ax,0xffffffee(%ebp)
  407fea:	89 d0                	mov    %edx,%eax
  407fec:	39 d8                	cmp    %ebx,%eax
  407fee:	0f 8e 5b 01 00 00    	jle    40814f <_fb_hHookConScroll+0x1cf>
  407ff4:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
  407ffb:	8b 55 d4             	mov    0xffffffd4(%ebp),%edx
  407ffe:	8b 4d d4             	mov    0xffffffd4(%ebp),%ecx
  408001:	66 89 55 e8          	mov    %dx,0xffffffe8(%ebp)
  408005:	c1 f9 10             	sar    $0x10,%ecx
  408008:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
  40800b:	0f bf 55 ee          	movswl 0xffffffee(%ebp),%edx
  40800f:	66 89 45 ea          	mov    %ax,0xffffffea(%ebp)
  408013:	98                   	cwtl   
  408014:	89 d7                	mov    %edx,%edi
  408016:	29 c7                	sub    %eax,%edi
  408018:	89 f8                	mov    %edi,%eax
  40801a:	40                   	inc    %eax
  40801b:	31 ff                	xor    %edi,%edi
  40801d:	39 d8                	cmp    %ebx,%eax
  40801f:	7d 07                	jge    408028 <_fb_hHookConScroll+0xa8>
  408021:	42                   	inc    %edx
  408022:	8d 3c 01             	lea    (%ecx,%eax,1),%edi
  408025:	89 55 d8             	mov    %edx,0xffffffd8(%ebp)
  408028:	0f b7 46 18          	movzwl 0x18(%esi),%eax
  40802c:	31 c9                	xor    %ecx,%ecx
  40802e:	c6 45 e4 20          	movb   $0x20,0xffffffe4(%ebp)
  408032:	8d 55 e8             	lea    0xffffffe8(%ebp),%edx
  408035:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  408039:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
  40803c:	66 89 45 e6          	mov    %ax,0xffffffe6(%ebp)
  408040:	8d 45 e4             	lea    0xffffffe4(%ebp),%eax
  408043:	89 44 24 10          	mov    %eax,0x10(%esp)
  408047:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
  40804a:	89 54 24 04          	mov    %edx,0x4(%esp)
  40804e:	89 0c 24             	mov    %ecx,(%esp)
  408051:	89 44 24 0c          	mov    %eax,0xc(%esp)
  408055:	e8 06 12 00 00       	call   409260 <_ScrollConsoleScreenBufferA@20>
  40805a:	83 ec 14             	sub    $0x14,%esp
  40805d:	3b 7d d8             	cmp    0xffffffd8(%ebp),%edi
  408060:	0f 84 98 00 00 00    	je     4080fe <_fb_hHookConScroll+0x17e>
  408066:	0f b7 76 18          	movzwl 0x18(%esi),%esi
  40806a:	8b 45 08             	mov    0x8(%ebp),%eax
  40806d:	0f bf 50 0c          	movswl 0xc(%eax),%edx
  408071:	8b 40 14             	mov    0x14(%eax),%eax
  408074:	89 75 d0             	mov    %esi,0xffffffd0(%ebp)
  408077:	89 fe                	mov    %edi,%esi
  408079:	29 d0                	sub    %edx,%eax
  40807b:	40                   	inc    %eax
  40807c:	0f b7 d2             	movzwl %dx,%edx
  40807f:	8d 7d e0             	lea    0xffffffe0(%ebp),%edi
  408082:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
  408085:	89 55 c4             	mov    %edx,0xffffffc4(%ebp)
  408088:	89 7d c8             	mov    %edi,0xffffffc8(%ebp)
  40808b:	90                   	nop    
  40808c:	8d 74 26 00          	lea    0x0(%esi),%esi
  408090:	8b 55 c4             	mov    0xffffffc4(%ebp),%edx
  408093:	81 e3 00 00 ff ff    	and    $0xffff0000,%ebx
  408099:	89 f0                	mov    %esi,%eax
  40809b:	c1 e0 10             	shl    $0x10,%eax
  40809e:	8b 4d d0             	mov    0xffffffd0(%ebp),%ecx
  4080a1:	46                   	inc    %esi
  4080a2:	09 d3                	or     %edx,%ebx
  4080a4:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
  4080aa:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
  4080ad:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  4080b1:	09 c3                	or     %eax,%ebx
  4080b3:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
  4080b6:	89 54 24 08          	mov    %edx,0x8(%esp)
  4080ba:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  4080be:	89 44 24 10          	mov    %eax,0x10(%esp)
  4080c2:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
  4080c5:	89 04 24             	mov    %eax,(%esp)
  4080c8:	e8 43 11 00 00       	call   409210 <_FillConsoleOutputAttribute@20>
  4080cd:	89 7d c8             	mov    %edi,0xffffffc8(%ebp)
  4080d0:	8b 55 cc             	mov    0xffffffcc(%ebp),%edx
  4080d3:	83 ec 14             	sub    $0x14,%esp
  4080d6:	89 7c 24 10          	mov    %edi,0x10(%esp)
  4080da:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
  4080dd:	b8 20 00 00 00       	mov    $0x20,%eax
  4080e2:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
  4080e6:	89 54 24 08          	mov    %edx,0x8(%esp)
  4080ea:	89 44 24 04          	mov    %eax,0x4(%esp)
  4080ee:	89 0c 24             	mov    %ecx,(%esp)
  4080f1:	e8 2a 11 00 00       	call   409220 <_FillConsoleOutputCharacterA@20>
  4080f6:	83 ec 14             	sub    $0x14,%esp
  4080f9:	3b 75 d8             	cmp    0xffffffd8(%ebp),%esi
  4080fc:	75 92                	jne    408090 <_fb_hHookConScroll+0x110>
  4080fe:	8b 7d 08             	mov    0x8(%ebp),%edi
  408101:	8b 47 18             	mov    0x18(%edi),%eax
  408104:	89 47 20             	mov    %eax,0x20(%edi)
  408107:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40810a:	5b                   	pop    %ebx
  40810b:	5e                   	pop    %esi
  40810c:	5f                   	pop    %edi
  40810d:	5d                   	pop    %ebp
  40810e:	c3                   	ret    
  40810f:	81 65 d4 00 00 ff ff 	andl   $0xffff0000,0xffffffd4(%ebp)
  408116:	8b 55 08             	mov    0x8(%ebp),%edx
  408119:	89 d1                	mov    %edx,%ecx
  40811b:	0f b7 42 0c          	movzwl 0xc(%edx),%eax
  40811f:	8b 52 10             	mov    0x10(%edx),%edx
  408122:	09 45 d4             	or     %eax,0xffffffd4(%ebp)
  408125:	89 d0                	mov    %edx,%eax
  408127:	c1 e0 10             	shl    $0x10,%eax
  40812a:	81 65 d4 ff ff 00 00 	andl   $0xffff,0xffffffd4(%ebp)
  408131:	09 45 d4             	or     %eax,0xffffffd4(%ebp)
  408134:	8b 41 14             	mov    0x14(%ecx),%eax
  408137:	8b 49 18             	mov    0x18(%ecx),%ecx
  40813a:	66 89 45 ec          	mov    %ax,0xffffffec(%ebp)
  40813e:	89 c8                	mov    %ecx,%eax
  408140:	29 d0                	sub    %edx,%eax
  408142:	66 89 4d ee          	mov    %cx,0xffffffee(%ebp)
  408146:	40                   	inc    %eax
  408147:	39 d8                	cmp    %ebx,%eax
  408149:	0f 8f a5 fe ff ff    	jg     407ff4 <_fb_hHookConScroll+0x74>
  40814f:	8b 45 08             	mov    0x8(%ebp),%eax
  408152:	41                   	inc    %ecx
  408153:	89 4d d8             	mov    %ecx,0xffffffd8(%ebp)
  408156:	8b 78 10             	mov    0x10(%eax),%edi
  408159:	e9 ff fe ff ff       	jmp    40805d <_fb_hHookConScroll+0xdd>
  40815e:	89 c2                	mov    %eax,%edx
  408160:	e9 59 fe ff ff       	jmp    407fbe <_fb_hHookConScroll+0x3e>
  408165:	8d 74 26 00          	lea    0x0(%esi),%esi
  408169:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00408170 <_fb_hHookConWrite>:
  408170:	55                   	push   %ebp
  408171:	89 e5                	mov    %esp,%ebp
  408173:	57                   	push   %edi
  408174:	56                   	push   %esi
  408175:	53                   	push   %ebx
  408176:	83 ec 3c             	sub    $0x3c,%esp
  408179:	8b 4d 08             	mov    0x8(%ebp),%ecx
  40817c:	8b 75 10             	mov    0x10(%ebp),%esi
  40817f:	8b 11                	mov    (%ecx),%edx
  408181:	8b 42 1c             	mov    0x1c(%edx),%eax
  408184:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  408187:	8d 04 b5 1e 00 00 00 	lea    0x1e(,%esi,4),%eax
  40818e:	83 e0 f0             	and    $0xfffffff0,%eax
  408191:	e8 7a 04 00 00       	call   408610 <__alloca>
  408196:	0f b7 52 18          	movzwl 0x18(%edx),%edx
  40819a:	0f b7 c6             	movzwl %si,%eax
  40819d:	81 e3 00 00 ff ff    	and    $0xffff0000,%ebx
  4081a3:	09 c3                	or     %eax,%ebx
  4081a5:	8b 41 1c             	mov    0x1c(%ecx),%eax
  4081a8:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
  4081ae:	89 55 dc             	mov    %edx,0xffffffdc(%ebp)
  4081b1:	8b 51 20             	mov    0x20(%ecx),%edx
  4081b4:	8d 7c 24 23          	lea    0x23(%esp),%edi
  4081b8:	66 89 45 e8          	mov    %ax,0xffffffe8(%ebp)
  4081bc:	31 c9                	xor    %ecx,%ecx
  4081be:	83 e7 f0             	and    $0xfffffff0,%edi
  4081c1:	89 7d e0             	mov    %edi,0xffffffe0(%ebp)
  4081c4:	81 cb 00 00 01 00    	or     $0x10000,%ebx
  4081ca:	8d 44 30 ff          	lea    0xffffffff(%eax,%esi,1),%eax
  4081ce:	66 89 55 ea          	mov    %dx,0xffffffea(%ebp)
  4081d2:	39 f1                	cmp    %esi,%ecx
  4081d4:	66 89 45 ec          	mov    %ax,0xffffffec(%ebp)
  4081d8:	66 89 55 ee          	mov    %dx,0xffffffee(%ebp)
  4081dc:	74 1a                	je     4081f8 <_fb_hHookConWrite+0x88>
  4081de:	89 fa                	mov    %edi,%edx
  4081e0:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
  4081e3:	8b 7d 0c             	mov    0xc(%ebp),%edi
  4081e6:	66 89 42 02          	mov    %ax,0x2(%edx)
  4081ea:	0f b6 04 39          	movzbl (%ecx,%edi,1),%eax
  4081ee:	41                   	inc    %ecx
  4081ef:	88 02                	mov    %al,(%edx)
  4081f1:	83 c2 04             	add    $0x4,%edx
  4081f4:	39 f1                	cmp    %esi,%ecx
  4081f6:	75 e8                	jne    4081e0 <_fb_hHookConWrite+0x70>
  4081f8:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  4081fc:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  4081ff:	8b 7d e4             	mov    0xffffffe4(%ebp),%edi
  408202:	89 44 24 10          	mov    %eax,0x10(%esp)
  408206:	31 c0                	xor    %eax,%eax
  408208:	89 44 24 0c          	mov    %eax,0xc(%esp)
  40820c:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  40820f:	89 3c 24             	mov    %edi,(%esp)
  408212:	89 44 24 04          	mov    %eax,0x4(%esp)
  408216:	e8 55 10 00 00       	call   409270 <_WriteConsoleOutputA@20>
  40821b:	83 ec 14             	sub    $0x14,%esp
  40821e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  408221:	5b                   	pop    %ebx
  408222:	5e                   	pop    %esi
  408223:	5f                   	pop    %edi
  408224:	5d                   	pop    %ebp
  408225:	c3                   	ret    
  408226:	8d 76 00             	lea    0x0(%esi),%esi
  408229:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00408230 <_fb_ConsolePrintBufferEx>:
  408230:	55                   	push   %ebp
  408231:	89 e5                	mov    %esp,%ebp
  408233:	57                   	push   %edi
  408234:	56                   	push   %esi
  408235:	53                   	push   %ebx
  408236:	81 ec dc 00 00 00    	sub    $0xdc,%esp
  40823c:	8b 7d 08             	mov    0x8(%ebp),%edi
  40823f:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
  408243:	8b 75 0c             	mov    0xc(%ebp),%esi
  408246:	89 fb                	mov    %edi,%ebx
  408248:	75 08                	jne    408252 <_fb_ConsolePrintBufferEx+0x22>
  40824a:	85 f6                	test   %esi,%esi
  40824c:	0f 84 80 00 00 00    	je     4082d2 <_fb_ConsolePrintBufferEx+0xa2>
  408252:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  408259:	e8 32 0e 00 00       	call   409090 <_EnterCriticalSection@4>
  40825e:	0f b7 05 04 49 41 00 	movzwl 0x414904,%eax
  408265:	83 ec 04             	sub    $0x4,%esp
  408268:	66 39 05 00 49 41 00 	cmp    %ax,0x414900
  40826f:	74 4e                	je     4082bf <_fb_ConsolePrintBufferEx+0x8f>
  408271:	0f b7 05 06 49 41 00 	movzwl 0x414906,%eax
  408278:	66 39 05 02 49 41 00 	cmp    %ax,0x414902
  40827f:	75 59                	jne    4082da <_fb_ConsolePrintBufferEx+0xaa>
  408281:	eb 3c                	jmp    4082bf <_fb_ConsolePrintBufferEx+0x8f>
  408283:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40828a:	31 ff                	xor    %edi,%edi
  40828c:	e8 af e7 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  408291:	89 04 24             	mov    %eax,(%esp)
  408294:	8d 95 64 ff ff ff    	lea    0xffffff64(%ebp),%edx
  40829a:	89 7c 24 10          	mov    %edi,0x10(%esp)
  40829e:	89 54 24 0c          	mov    %edx,0xc(%esp)
  4082a2:	89 74 24 08          	mov    %esi,0x8(%esp)
  4082a6:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4082aa:	e8 d1 0f 00 00       	call   409280 <_WriteFile@20>
  4082af:	83 ec 14             	sub    $0x14,%esp
  4082b2:	48                   	dec    %eax
  4082b3:	75 0e                	jne    4082c3 <_fb_ConsolePrintBufferEx+0x93>
  4082b5:	8b 85 64 ff ff ff    	mov    0xffffff64(%ebp),%eax
  4082bb:	01 c3                	add    %eax,%ebx
  4082bd:	29 c6                	sub    %eax,%esi
  4082bf:	85 f6                	test   %esi,%esi
  4082c1:	75 c0                	jne    408283 <_fb_ConsolePrintBufferEx+0x53>
  4082c3:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4082ca:	e8 d1 0d 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4082cf:	83 ec 04             	sub    $0x4,%esp
  4082d2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4082d5:	5b                   	pop    %ebx
  4082d6:	5e                   	pop    %esi
  4082d7:	5f                   	pop    %edi
  4082d8:	5d                   	pop    %ebp
  4082d9:	c3                   	ret    
  4082da:	8d 85 60 ff ff ff    	lea    0xffffff60(%ebp),%eax
  4082e0:	89 44 24 04          	mov    %eax,0x4(%esp)
  4082e4:	8d 85 5c ff ff ff    	lea    0xffffff5c(%ebp),%eax
  4082ea:	89 04 24             	mov    %eax,(%esp)
  4082ed:	e8 fe e9 ff ff       	call   406cf0 <_fb_ConsoleGetView>
  4082f2:	8d 85 58 ff ff ff    	lea    0xffffff58(%ebp),%eax
  4082f8:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4082fc:	8d 85 54 ff ff ff    	lea    0xffffff54(%ebp),%eax
  408302:	89 44 24 08          	mov    %eax,0x8(%esp)
  408306:	8d 85 50 ff ff ff    	lea    0xffffff50(%ebp),%eax
  40830c:	89 44 24 04          	mov    %eax,0x4(%esp)
  408310:	8d 85 4c ff ff ff    	lea    0xffffff4c(%ebp),%eax
  408316:	89 04 24             	mov    %eax,(%esp)
  408319:	e8 e2 f9 ff ff       	call   407d00 <_fb_hConsoleGetWindow>
  40831e:	c7 45 8c 80 7f 40 00 	movl   $0x407f80,0xffffff8c(%ebp)
  408325:	8b 8d 50 ff ff ff    	mov    0xffffff50(%ebp),%ecx
  40832b:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
  40832e:	89 45 88             	mov    %eax,0xffffff88(%ebp)
  408331:	8b 9d 5c ff ff ff    	mov    0xffffff5c(%ebp),%ebx
  408337:	8b 95 4c ff ff ff    	mov    0xffffff4c(%ebp),%edx
  40833d:	c7 45 90 70 81 40 00 	movl   $0x408170,0xffffff90(%ebp)
  408344:	89 c8                	mov    %ecx,%eax
  408346:	01 d8                	add    %ebx,%eax
  408348:	89 55 94             	mov    %edx,0xffffff94(%ebp)
  40834b:	48                   	dec    %eax
  40834c:	89 45 98             	mov    %eax,0xffffff98(%ebp)
  40834f:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
  408355:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  40835c:	01 c2                	add    %eax,%edx
  40835e:	8b 85 60 ff ff ff    	mov    0xffffff60(%ebp),%eax
  408364:	4a                   	dec    %edx
  408365:	89 55 9c             	mov    %edx,0xffffff9c(%ebp)
  408368:	01 c1                	add    %eax,%ecx
  40836a:	49                   	dec    %ecx
  40836b:	89 4d a0             	mov    %ecx,0xffffffa0(%ebp)
  40836e:	e8 cd e6 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  408373:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
  408376:	8b 9d 54 ff ff ff    	mov    0xffffff54(%ebp),%ebx
  40837c:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
  408382:	8b 95 50 ff ff ff    	mov    0xffffff50(%ebp),%edx
  408388:	8b 8d 58 ff ff ff    	mov    0xffffff58(%ebp),%ecx
  40838e:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
  408391:	01 d8                	add    %ebx,%eax
  408393:	48                   	dec    %eax
  408394:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
  408397:	89 d0                	mov    %edx,%eax
  408399:	01 c8                	add    %ecx,%eax
  40839b:	89 55 bc             	mov    %edx,0xffffffbc(%ebp)
  40839e:	48                   	dec    %eax
  40839f:	31 c9                	xor    %ecx,%ecx
  4083a1:	39 55 98             	cmp    %edx,0xffffff98(%ebp)
  4083a4:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  4083a7:	0f 84 07 01 00 00    	je     4084b4 <_fb_ConsolePrintBufferEx+0x284>
  4083ad:	b9 01 00 00 00       	mov    $0x1,%ecx
  4083b2:	89 4d d8             	mov    %ecx,0xffffffd8(%ebp)
  4083b5:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  4083bc:	e8 7f e6 ff ff       	call   406a40 <_fb_hConsoleGetHandle>
  4083c1:	89 04 24             	mov    %eax,(%esp)
  4083c4:	8d 95 68 ff ff ff    	lea    0xffffff68(%ebp),%edx
  4083ca:	89 54 24 04          	mov    %edx,0x4(%esp)
  4083ce:	e8 6d 0d 00 00       	call   409140 <_GetConsoleScreenBufferInfo@8>
  4083d3:	83 ec 08             	sub    $0x8,%esp
  4083d6:	85 c0                	test   %eax,%eax
  4083d8:	0f 85 31 01 00 00    	jne    40850f <_fb_ConsolePrintBufferEx+0x2df>
  4083de:	c7 45 c8 50 00 00 00 	movl   $0x50,0xffffffc8(%ebp)
  4083e5:	a1 0c 49 41 00       	mov    0x41490c,%eax
  4083ea:	8b 55 94             	mov    0xffffff94(%ebp),%edx
  4083ed:	c7 45 cc 19 00 00 00 	movl   $0x19,0xffffffcc(%ebp)
  4083f4:	8b 5d 98             	mov    0xffffff98(%ebp),%ebx
  4083f7:	85 c0                	test   %eax,%eax
  4083f9:	66 c7 45 d0 07 00    	movw   $0x7,0xffffffd0(%ebp)
  4083ff:	0f 84 43 01 00 00    	je     408548 <_fb_ConsolePrintBufferEx+0x318>
  408405:	31 c0                	xor    %eax,%eax
  408407:	8b 55 94             	mov    0xffffff94(%ebp),%edx
  40840a:	43                   	inc    %ebx
  40840b:	a3 0c 49 41 00       	mov    %eax,0x41490c
  408410:	8b 45 a0             	mov    0xffffffa0(%ebp),%eax
  408413:	89 5d a8             	mov    %ebx,0xffffffa8(%ebp)
  408416:	89 55 a4             	mov    %edx,0xffffffa4(%ebp)
  408419:	83 f8 ff             	cmp    $0xffffffff,%eax
  40841c:	74 08                	je     408426 <_fb_ConsolePrintBufferEx+0x1f6>
  40841e:	39 c3                	cmp    %eax,%ebx
  408420:	0f 8f 89 01 00 00    	jg     4085af <_fb_ConsolePrintBufferEx+0x37f>
  408426:	89 74 24 08          	mov    %esi,0x8(%esp)
  40842a:	b9 01 00 00 00       	mov    $0x1,%ecx
  40842f:	8d 45 88             	lea    0xffffff88(%ebp),%eax
  408432:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
  408436:	89 7c 24 04          	mov    %edi,0x4(%esp)
  40843a:	89 04 24             	mov    %eax,(%esp)
  40843d:	e8 fe 01 00 00       	call   408640 <_fb_ConPrintTTY>
  408442:	8b 55 a4             	mov    0xffffffa4(%ebp),%edx
  408445:	8b 75 94             	mov    0xffffff94(%ebp),%esi
  408448:	39 f2                	cmp    %esi,%edx
  40844a:	0f 84 03 01 00 00    	je     408553 <_fb_ConsolePrintBufferEx+0x323>
  408450:	8b 4d a0             	mov    0xffffffa0(%ebp),%ecx
  408453:	8b 5d a8             	mov    0xffffffa8(%ebp),%ebx
  408456:	83 f9 ff             	cmp    $0xffffffff,%ecx
  408459:	74 08                	je     408463 <_fb_ConsolePrintBufferEx+0x233>
  40845b:	39 cb                	cmp    %ecx,%ebx
  40845d:	0f 8f 1c 01 00 00    	jg     40857f <_fb_ConsolePrintBufferEx+0x34f>
  408463:	0f b7 d2             	movzwl %dx,%edx
  408466:	25 00 00 ff ff       	and    $0xffff0000,%eax
  40846b:	09 d0                	or     %edx,%eax
  40846d:	c1 e3 10             	shl    $0x10,%ebx
  408470:	25 ff ff 00 00       	and    $0xffff,%eax
  408475:	09 d8                	or     %ebx,%eax
  408477:	89 44 24 04          	mov    %eax,0x4(%esp)
  40847b:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
  40847e:	89 04 24             	mov    %eax,(%esp)
  408481:	e8 ca 0d 00 00       	call   409250 <_SetConsoleCursorPosition@8>
  408486:	8b 55 98             	mov    0xffffff98(%ebp),%edx
  408489:	83 ec 08             	sub    $0x8,%esp
  40848c:	3b 95 50 ff ff ff    	cmp    0xffffff50(%ebp),%edx
  408492:	74 07                	je     40849b <_fb_ConsolePrintBufferEx+0x26b>
  408494:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  408497:	85 c0                	test   %eax,%eax
  408499:	74 27                	je     4084c2 <_fb_ConsolePrintBufferEx+0x292>
  40849b:	e8 70 f3 ff ff       	call   407810 <_fb_hUpdateConsoleWindow@0>
  4084a0:	c7 04 24 c0 48 41 00 	movl   $0x4148c0,(%esp)
  4084a7:	e8 f4 0b 00 00       	call   4090a0 <_LeaveCriticalSection@4>
  4084ac:	83 ec 04             	sub    $0x4,%esp
  4084af:	e9 1e fe ff ff       	jmp    4082d2 <_fb_ConsolePrintBufferEx+0xa2>
  4084b4:	39 45 a0             	cmp    %eax,0xffffffa0(%ebp)
  4084b7:	0f 85 f0 fe ff ff    	jne    4083ad <_fb_ConsolePrintBufferEx+0x17d>
  4084bd:	e9 f0 fe ff ff       	jmp    4083b2 <_fb_ConsolePrintBufferEx+0x182>
  4084c2:	66 89 95 42 ff ff ff 	mov    %dx,0xffffff42(%ebp)
  4084c9:	8b 45 94             	mov    0xffffff94(%ebp),%eax
  4084cc:	66 89 85 40 ff ff ff 	mov    %ax,0xffffff40(%ebp)
  4084d3:	8b 45 9c             	mov    0xffffff9c(%ebp),%eax
  4084d6:	66 89 85 44 ff ff ff 	mov    %ax,0xffffff44(%ebp)
  4084dd:	8b 45 a0             	mov    0xffffffa0(%ebp),%eax
  4084e0:	66 89 85 46 ff ff ff 	mov    %ax,0xffffff46(%ebp)
  4084e7:	8d 85 40 ff ff ff    	lea    0xffffff40(%ebp),%eax
  4084ed:	89 44 24 08          	mov    %eax,0x8(%esp)
  4084f1:	b8 01 00 00 00       	mov    $0x1,%eax
  4084f6:	89 44 24 04          	mov    %eax,0x4(%esp)
  4084fa:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
  4084fd:	89 04 24             	mov    %eax,(%esp)
  408500:	e8 2b 0d 00 00       	call   409230 <_SetConsoleWindowInfo@12>
  408505:	83 ec 0c             	sub    $0xc,%esp
  408508:	e8 03 f3 ff ff       	call   407810 <_fb_hUpdateConsoleWindow@0>
  40850d:	eb 91                	jmp    4084a0 <_fb_ConsolePrintBufferEx+0x270>
  40850f:	0f bf 85 68 ff ff ff 	movswl 0xffffff68(%ebp),%eax
  408516:	0f bf 95 6c ff ff ff 	movswl 0xffffff6c(%ebp),%edx
  40851d:	0f bf 9d 6e ff ff ff 	movswl 0xffffff6e(%ebp),%ebx
  408524:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
  408527:	0f bf 85 6a ff ff ff 	movswl 0xffffff6a(%ebp),%eax
  40852e:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
  408531:	8b 85 70 ff ff ff    	mov    0xffffff70(%ebp),%eax
  408537:	66 89 45 d0          	mov    %ax,0xffffffd0(%ebp)
  40853b:	a1 0c 49 41 00       	mov    0x41490c,%eax
  408540:	85 c0                	test   %eax,%eax
  408542:	0f 85 bd fe ff ff    	jne    408405 <_fb_ConsolePrintBufferEx+0x1d5>
  408548:	89 55 a4             	mov    %edx,0xffffffa4(%ebp)
  40854b:	89 5d a8             	mov    %ebx,0xffffffa8(%ebp)
  40854e:	e9 d3 fe ff ff       	jmp    408426 <_fb_ConsolePrintBufferEx+0x1f6>
  408553:	8b 4d a0             	mov    0xffffffa0(%ebp),%ecx
  408556:	8b 5d a8             	mov    0xffffffa8(%ebp),%ebx
  408559:	8d 41 01             	lea    0x1(%ecx),%eax
  40855c:	39 c3                	cmp    %eax,%ebx
  40855e:	0f 85 f2 fe ff ff    	jne    408456 <_fb_ConsolePrintBufferEx+0x226>
  408564:	89 4d a8             	mov    %ecx,0xffffffa8(%ebp)
  408567:	ba 01 00 00 00       	mov    $0x1,%edx
  40856c:	89 cb                	mov    %ecx,%ebx
  40856e:	89 15 0c 49 41 00    	mov    %edx,0x41490c
  408574:	8b 55 9c             	mov    0xffffff9c(%ebp),%edx
  408577:	89 55 a4             	mov    %edx,0xffffffa4(%ebp)
  40857a:	e9 e4 fe ff ff       	jmp    408463 <_fb_ConsolePrintBufferEx+0x233>
  40857f:	89 4c 24 10          	mov    %ecx,0x10(%esp)
  408583:	8b 45 9c             	mov    0xffffff9c(%ebp),%eax
  408586:	29 cb                	sub    %ecx,%ebx
  408588:	89 5c 24 14          	mov    %ebx,0x14(%esp)
  40858c:	89 74 24 04          	mov    %esi,0x4(%esp)
  408590:	89 44 24 0c          	mov    %eax,0xc(%esp)
  408594:	8b 45 98             	mov    0xffffff98(%ebp),%eax
  408597:	89 44 24 08          	mov    %eax,0x8(%esp)
  40859b:	8d 45 88             	lea    0xffffff88(%ebp),%eax
  40859e:	89 04 24             	mov    %eax,(%esp)
  4085a1:	ff 55 8c             	call   *0xffffff8c(%ebp)
  4085a4:	8b 55 a4             	mov    0xffffffa4(%ebp),%edx
  4085a7:	8b 5d a8             	mov    0xffffffa8(%ebp),%ebx
  4085aa:	e9 b4 fe ff ff       	jmp    408463 <_fb_ConsolePrintBufferEx+0x233>
  4085af:	89 44 24 10          	mov    %eax,0x10(%esp)
  4085b3:	29 c3                	sub    %eax,%ebx
  4085b5:	8b 45 9c             	mov    0xffffff9c(%ebp),%eax
  4085b8:	89 5c 24 14          	mov    %ebx,0x14(%esp)
  4085bc:	89 54 24 04          	mov    %edx,0x4(%esp)
  4085c0:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4085c4:	8b 45 98             	mov    0xffffff98(%ebp),%eax
  4085c7:	89 44 24 08          	mov    %eax,0x8(%esp)
  4085cb:	8d 45 88             	lea    0xffffff88(%ebp),%eax
  4085ce:	89 04 24             	mov    %eax,(%esp)
  4085d1:	ff 55 8c             	call   *0xffffff8c(%ebp)
  4085d4:	e9 4d fe ff ff       	jmp    408426 <_fb_ConsolePrintBufferEx+0x1f6>
  4085d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

004085e0 <_fb_ConsolePrintBuffer>:
  4085e0:	55                   	push   %ebp
  4085e1:	89 e5                	mov    %esp,%ebp
  4085e3:	53                   	push   %ebx
  4085e4:	83 ec 14             	sub    $0x14,%esp
  4085e7:	8b 5d 08             	mov    0x8(%ebp),%ebx
  4085ea:	89 1c 24             	mov    %ebx,(%esp)
  4085ed:	e8 6e 08 00 00       	call   408e60 <_strlen>
  4085f2:	89 44 24 04          	mov    %eax,0x4(%esp)
  4085f6:	8b 55 0c             	mov    0xc(%ebp),%edx
  4085f9:	89 1c 24             	mov    %ebx,(%esp)
  4085fc:	89 54 24 08          	mov    %edx,0x8(%esp)
  408600:	e8 2b fc ff ff       	call   408230 <_fb_ConsolePrintBufferEx>
  408605:	83 c4 14             	add    $0x14,%esp
  408608:	5b                   	pop    %ebx
  408609:	5d                   	pop    %ebp
  40860a:	c3                   	ret    
  40860b:	90                   	nop    
  40860c:	90                   	nop    
  40860d:	90                   	nop    
  40860e:	90                   	nop    
  40860f:	90                   	nop    

00408610 <__alloca>:
  408610:	51                   	push   %ecx
  408611:	89 e1                	mov    %esp,%ecx
  408613:	83 c1 08             	add    $0x8,%ecx

00408616 <_loop>:
  408616:	3d e8 03 00 00       	cmp    $0x3e8,%eax
  40861b:	72 10                	jb     40862d <_rem>
  40861d:	81 e9 e8 03 00 00    	sub    $0x3e8,%ecx
  408623:	83 09 00             	orl    $0x0,(%ecx)
  408626:	2d e8 03 00 00       	sub    $0x3e8,%eax
  40862b:	eb e9                	jmp    408616 <_loop>

0040862d <_rem>:
  40862d:	29 c1                	sub    %eax,%ecx
  40862f:	83 09 00             	orl    $0x0,(%ecx)
  408632:	89 e0                	mov    %esp,%eax
  408634:	89 cc                	mov    %ecx,%esp
  408636:	8b 08                	mov    (%eax),%ecx
  408638:	8b 40 04             	mov    0x4(%eax),%eax
  40863b:	ff e0                	jmp    *%eax
  40863d:	90                   	nop    
  40863e:	90                   	nop    
  40863f:	90                   	nop    

00408640 <_fb_ConPrintTTY>:
  408640:	55                   	push   %ebp
  408641:	89 e5                	mov    %esp,%ebp
  408643:	57                   	push   %edi
  408644:	31 ff                	xor    %edi,%edi
  408646:	56                   	push   %esi
  408647:	31 f6                	xor    %esi,%esi
  408649:	53                   	push   %ebx
  40864a:	81 ec 6c 04 00 00    	sub    $0x46c,%esp
  408650:	31 db                	xor    %ebx,%ebx
  408652:	89 b5 dc fb ff ff    	mov    %esi,0xfffffbdc(%ebp)
  408658:	8b 55 08             	mov    0x8(%ebp),%edx
  40865b:	8b 45 08             	mov    0x8(%ebp),%eax
  40865e:	89 9d d4 fb ff ff    	mov    %ebx,0xfffffbd4(%ebp)
  408664:	83 c2 1c             	add    $0x1c,%edx
  408667:	83 c0 0c             	add    $0xc,%eax
  40866a:	89 95 bc fb ff ff    	mov    %edx,0xfffffbbc(%ebp)
  408670:	8b 55 08             	mov    0x8(%ebp),%edx
  408673:	89 85 b8 fb ff ff    	mov    %eax,0xfffffbb8(%ebp)
  408679:	8b 40 08             	mov    0x8(%eax),%eax
  40867c:	8b 4a 0c             	mov    0xc(%edx),%ecx
  40867f:	29 c8                	sub    %ecx,%eax
  408681:	40                   	inc    %eax
  408682:	8b 8d bc fb ff ff    	mov    0xfffffbbc(%ebp),%ecx
  408688:	89 85 d0 fb ff ff    	mov    %eax,0xfffffbd0(%ebp)
  40868e:	8b 42 1c             	mov    0x1c(%edx),%eax
  408691:	31 d2                	xor    %edx,%edx
  408693:	89 85 e0 fb ff ff    	mov    %eax,0xfffffbe0(%ebp)
  408699:	8b 41 04             	mov    0x4(%ecx),%eax
  40869c:	89 95 c8 fb ff ff    	mov    %edx,0xfffffbc8(%ebp)
  4086a2:	89 85 e4 fb ff ff    	mov    %eax,0xfffffbe4(%ebp)
  4086a8:	31 c0                	xor    %eax,%eax
  4086aa:	89 85 cc fb ff ff    	mov    %eax,0xfffffbcc(%ebp)
  4086b0:	31 c0                	xor    %eax,%eax
  4086b2:	89 85 d8 fb ff ff    	mov    %eax,0xfffffbd8(%ebp)
  4086b8:	8b 45 10             	mov    0x10(%ebp),%eax
  4086bb:	39 c7                	cmp    %eax,%edi
  4086bd:	0f 84 54 01 00 00    	je     408817 <_fb_ConPrintTTY+0x1d7>
  4086c3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4086c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  4086d0:	31 c0                	xor    %eax,%eax
  4086d2:	8b 75 0c             	mov    0xc(%ebp),%esi
  4086d5:	31 db                	xor    %ebx,%ebx
  4086d7:	89 85 c4 fb ff ff    	mov    %eax,0xfffffbc4(%ebp)
  4086dd:	31 c0                	xor    %eax,%eax
  4086df:	89 85 c0 fb ff ff    	mov    %eax,0xfffffbc0(%ebp)
  4086e5:	0f be 06             	movsbl (%esi),%eax
  4086e8:	83 e8 07             	sub    $0x7,%eax
  4086eb:	83 f8 06             	cmp    $0x6,%eax
  4086ee:	77 07                	ja     4086f7 <_fb_ConPrintTTY+0xb7>
  4086f0:	ff 24 85 b8 b3 40 00 	jmp    *0x40b3b8(,%eax,4)
  4086f7:	b8 01 00 00 00       	mov    $0x1,%eax
  4086fc:	bb 01 00 00 00       	mov    $0x1,%ebx
  408701:	89 85 c4 fb ff ff    	mov    %eax,0xfffffbc4(%ebp)
  408707:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
  40870a:	3d 00 04 00 00       	cmp    $0x400,%eax
  40870f:	77 0a                	ja     40871b <_fb_ConPrintTTY+0xdb>
  408711:	8b 85 c0 fb ff ff    	mov    0xfffffbc0(%ebp),%eax
  408717:	85 c0                	test   %eax,%eax
  408719:	74 47                	je     408762 <_fb_ConPrintTTY+0x122>
  40871b:	85 ff                	test   %edi,%edi
  40871d:	0f 85 bf 01 00 00    	jne    4088e2 <_fb_ConPrintTTY+0x2a2>
  408723:	8b 95 c0 fb ff ff    	mov    0xfffffbc0(%ebp),%edx
  408729:	85 d2                	test   %edx,%edx
  40872b:	74 35                	je     408762 <_fb_ConPrintTTY+0x122>
  40872d:	8b 8d bc fb ff ff    	mov    0xfffffbbc(%ebp),%ecx
  408733:	8b 95 c8 fb ff ff    	mov    0xfffffbc8(%ebp),%edx
  408739:	8b 01                	mov    (%ecx),%eax
  40873b:	01 c2                	add    %eax,%edx
  40873d:	8b 85 cc fb ff ff    	mov    0xfffffbcc(%ebp),%eax
  408743:	03 41 04             	add    0x4(%ecx),%eax
  408746:	89 11                	mov    %edx,(%ecx)
  408748:	89 41 04             	mov    %eax,0x4(%ecx)
  40874b:	89 85 e4 fb ff ff    	mov    %eax,0xfffffbe4(%ebp)
  408751:	b8 01 00 00 00       	mov    $0x1,%eax
  408756:	89 95 e0 fb ff ff    	mov    %edx,0xfffffbe0(%ebp)
  40875c:	89 85 d4 fb ff ff    	mov    %eax,0xfffffbd4(%ebp)
  408762:	85 db                	test   %ebx,%ebx
  408764:	74 68                	je     4087ce <_fb_ConPrintTTY+0x18e>
  408766:	8b 85 e0 fb ff ff    	mov    0xfffffbe0(%ebp),%eax
  40876c:	8b 95 c4 fb ff ff    	mov    0xfffffbc4(%ebp),%edx
  408772:	01 c2                	add    %eax,%edx
  408774:	89 95 e0 fb ff ff    	mov    %edx,0xfffffbe0(%ebp)
  40877a:	8b 85 b8 fb ff ff    	mov    0xfffffbb8(%ebp),%eax
  408780:	3b 50 08             	cmp    0x8(%eax),%edx
  408783:	7e 37                	jle    4087bc <_fb_ConPrintTTY+0x17c>
  408785:	8b 08                	mov    (%eax),%ecx
  408787:	29 ca                	sub    %ecx,%edx
  408789:	89 d0                	mov    %edx,%eax
  40878b:	89 8d b4 fb ff ff    	mov    %ecx,0xfffffbb4(%ebp)
  408791:	99                   	cltd   
  408792:	f7 bd d0 fb ff ff    	idivl  0xfffffbd0(%ebp)
  408798:	89 c1                	mov    %eax,%ecx
  40879a:	8b 85 b4 fb ff ff    	mov    0xfffffbb4(%ebp),%eax
  4087a0:	01 8d e4 fb ff ff    	add    %ecx,0xfffffbe4(%ebp)
  4087a6:	01 c2                	add    %eax,%edx
  4087a8:	89 95 e0 fb ff ff    	mov    %edx,0xfffffbe0(%ebp)
  4087ae:	eb 0c                	jmp    4087bc <_fb_ConPrintTTY+0x17c>
  4087b0:	0f b6 06             	movzbl (%esi),%eax
  4087b3:	46                   	inc    %esi
  4087b4:	88 84 2f e8 fb ff ff 	mov    %al,0xfffffbe8(%edi,%ebp,1)
  4087bb:	47                   	inc    %edi
  4087bc:	4b                   	dec    %ebx
  4087bd:	83 fb ff             	cmp    $0xffffffff,%ebx
  4087c0:	75 ee                	jne    4087b0 <_fb_ConPrintTTY+0x170>
  4087c2:	8b 95 c4 fb ff ff    	mov    0xfffffbc4(%ebp),%edx
  4087c8:	01 95 dc fb ff ff    	add    %edx,0xfffffbdc(%ebp)
  4087ce:	ff 85 d8 fb ff ff    	incl   0xfffffbd8(%ebp)
  4087d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
  4087d7:	ff 45 0c             	incl   0xc(%ebp)
  4087da:	39 8d d8 fb ff ff    	cmp    %ecx,0xfffffbd8(%ebp)
  4087e0:	0f 85 ea fe ff ff    	jne    4086d0 <_fb_ConPrintTTY+0x90>
  4087e6:	85 ff                	test   %edi,%edi
  4087e8:	0f 85 2e 01 00 00    	jne    40891c <_fb_ConPrintTTY+0x2dc>
  4087ee:	8b 85 d4 fb ff ff    	mov    0xfffffbd4(%ebp),%eax
  4087f4:	85 c0                	test   %eax,%eax
  4087f6:	74 1f                	je     408817 <_fb_ConPrintTTY+0x1d7>
  4087f8:	8b 8d b8 fb ff ff    	mov    0xfffffbb8(%ebp),%ecx
  4087fe:	8b 41 0c             	mov    0xc(%ecx),%eax
  408801:	83 f8 ff             	cmp    $0xffffffff,%eax
  408804:	74 11                	je     408817 <_fb_ConPrintTTY+0x1d7>
  408806:	8b 8d bc fb ff ff    	mov    0xfffffbbc(%ebp),%ecx
  40880c:	8b 51 04             	mov    0x4(%ecx),%edx
  40880f:	39 c2                	cmp    %eax,%edx
  408811:	0f 8f 2f 01 00 00    	jg     408946 <_fb_ConPrintTTY+0x306>
  408817:	81 c4 6c 04 00 00    	add    $0x46c,%esp
  40881d:	5b                   	pop    %ebx
  40881e:	5e                   	pop    %esi
  40881f:	5f                   	pop    %edi
  408820:	5d                   	pop    %ebp
  408821:	c3                   	ret    
  408822:	8b 95 b8 fb ff ff    	mov    0xfffffbb8(%ebp),%edx
  408828:	b8 01 00 00 00       	mov    $0x1,%eax
  40882d:	89 85 c0 fb ff ff    	mov    %eax,0xfffffbc0(%ebp)
  408833:	8b 02                	mov    (%edx),%eax
  408835:	39 85 e0 fb ff ff    	cmp    %eax,0xfffffbe0(%ebp)
  40883b:	0f 9e c0             	setle  %al
  40883e:	0f b6 c0             	movzbl %al,%eax
  408841:	48                   	dec    %eax
  408842:	89 85 c8 fb ff ff    	mov    %eax,0xfffffbc8(%ebp)
  408848:	31 c9                	xor    %ecx,%ecx
  40884a:	89 8d cc fb ff ff    	mov    %ecx,0xfffffbcc(%ebp)
  408850:	e9 b2 fe ff ff       	jmp    408707 <_fb_ConPrintTTY+0xc7>
  408855:	e8 26 01 00 00       	call   408980 <_fb_Beep@0>
  40885a:	e9 a8 fe ff ff       	jmp    408707 <_fb_ConPrintTTY+0xc7>
  40885f:	8b 95 b8 fb ff ff    	mov    0xfffffbb8(%ebp),%edx
  408865:	b9 01 00 00 00       	mov    $0x1,%ecx
  40886a:	89 8d c0 fb ff ff    	mov    %ecx,0xfffffbc0(%ebp)
  408870:	8b 02                	mov    (%edx),%eax
  408872:	8b 95 e0 fb ff ff    	mov    0xfffffbe0(%ebp),%edx
  408878:	29 d0                	sub    %edx,%eax
  40887a:	eb c6                	jmp    408842 <_fb_ConPrintTTY+0x202>
  40887c:	8b 4d 14             	mov    0x14(%ebp),%ecx
  40887f:	b8 01 00 00 00       	mov    $0x1,%eax
  408884:	89 85 c0 fb ff ff    	mov    %eax,0xfffffbc0(%ebp)
  40888a:	85 c9                	test   %ecx,%ecx
  40888c:	0f 84 86 00 00 00    	je     408918 <_fb_ConPrintTTY+0x2d8>
  408892:	8b 8d b8 fb ff ff    	mov    0xfffffbb8(%ebp),%ecx
  408898:	8b 95 e0 fb ff ff    	mov    0xfffffbe0(%ebp),%edx
  40889e:	8b 01                	mov    (%ecx),%eax
  4088a0:	29 d0                	sub    %edx,%eax
  4088a2:	89 85 c8 fb ff ff    	mov    %eax,0xfffffbc8(%ebp)
  4088a8:	b8 01 00 00 00       	mov    $0x1,%eax
  4088ad:	89 85 cc fb ff ff    	mov    %eax,0xfffffbcc(%ebp)
  4088b3:	e9 4f fe ff ff       	jmp    408707 <_fb_ConPrintTTY+0xc7>
  4088b8:	8b 8d b8 fb ff ff    	mov    0xfffffbb8(%ebp),%ecx
  4088be:	be b0 b3 40 00       	mov    $0x40b3b0,%esi
  4088c3:	8b 85 e0 fb ff ff    	mov    0xfffffbe0(%ebp),%eax
  4088c9:	8b 11                	mov    (%ecx),%edx
  4088cb:	29 d0                	sub    %edx,%eax
  4088cd:	8d 50 08             	lea    0x8(%eax),%edx
  4088d0:	83 e2 f8             	and    $0xfffffff8,%edx
  4088d3:	29 c2                	sub    %eax,%edx
  4088d5:	89 d3                	mov    %edx,%ebx
  4088d7:	89 95 c4 fb ff ff    	mov    %edx,0xfffffbc4(%ebp)
  4088dd:	e9 25 fe ff ff       	jmp    408707 <_fb_ConPrintTTY+0xc7>
  4088e2:	8b 8d dc fb ff ff    	mov    0xfffffbdc(%ebp),%ecx
  4088e8:	8d 85 e8 fb ff ff    	lea    0xfffffbe8(%ebp),%eax
  4088ee:	31 ff                	xor    %edi,%edi
  4088f0:	89 44 24 04          	mov    %eax,0x4(%esp)
  4088f4:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  4088f8:	8b 45 08             	mov    0x8(%ebp),%eax
  4088fb:	89 04 24             	mov    %eax,(%esp)
  4088fe:	e8 9d 00 00 00       	call   4089a0 <_fb_ConPrintRaw>
  408903:	89 bd dc fb ff ff    	mov    %edi,0xfffffbdc(%ebp)
  408909:	31 c9                	xor    %ecx,%ecx
  40890b:	31 ff                	xor    %edi,%edi
  40890d:	89 8d d4 fb ff ff    	mov    %ecx,0xfffffbd4(%ebp)
  408913:	e9 0b fe ff ff       	jmp    408723 <_fb_ConPrintTTY+0xe3>
  408918:	31 c0                	xor    %eax,%eax
  40891a:	eb 86                	jmp    4088a2 <_fb_ConPrintTTY+0x262>
  40891c:	8b 85 dc fb ff ff    	mov    0xfffffbdc(%ebp),%eax
  408922:	89 44 24 08          	mov    %eax,0x8(%esp)
  408926:	8d 85 e8 fb ff ff    	lea    0xfffffbe8(%ebp),%eax
  40892c:	89 44 24 04          	mov    %eax,0x4(%esp)
  408930:	8b 55 08             	mov    0x8(%ebp),%edx
  408933:	89 14 24             	mov    %edx,(%esp)
  408936:	e8 65 00 00 00       	call   4089a0 <_fb_ConPrintRaw>
  40893b:	81 c4 6c 04 00 00    	add    $0x46c,%esp
  408941:	5b                   	pop    %ebx
  408942:	5e                   	pop    %esi
  408943:	5f                   	pop    %edi
  408944:	5d                   	pop    %ebp
  408945:	c3                   	ret    
  408946:	89 44 24 10          	mov    %eax,0x10(%esp)
  40894a:	29 c2                	sub    %eax,%edx
  40894c:	89 54 24 14          	mov    %edx,0x14(%esp)
  408950:	8b 95 b8 fb ff ff    	mov    0xfffffbb8(%ebp),%edx
  408956:	8b 42 08             	mov    0x8(%edx),%eax
  408959:	89 44 24 0c          	mov    %eax,0xc(%esp)
  40895d:	8b 42 04             	mov    0x4(%edx),%eax
  408960:	89 44 24 08          	mov    %eax,0x8(%esp)
  408964:	8b 4d 08             	mov    0x8(%ebp),%ecx
  408967:	8b 41 0c             	mov    0xc(%ecx),%eax
  40896a:	89 0c 24             	mov    %ecx,(%esp)
  40896d:	89 44 24 04          	mov    %eax,0x4(%esp)
  408971:	ff 51 04             	call   *0x4(%ecx)
  408974:	e9 9e fe ff ff       	jmp    408817 <_fb_ConPrintTTY+0x1d7>
  408979:	90                   	nop    
  40897a:	90                   	nop    
  40897b:	90                   	nop    
  40897c:	90                   	nop    
  40897d:	90                   	nop    
  40897e:	90                   	nop    
  40897f:	90                   	nop    

00408980 <_fb_Beep@0>:
  408980:	55                   	push   %ebp
  408981:	b8 fa 00 00 00       	mov    $0xfa,%eax
  408986:	89 e5                	mov    %esp,%ebp
  408988:	83 ec 08             	sub    $0x8,%esp
  40898b:	89 44 24 04          	mov    %eax,0x4(%esp)
  40898f:	c7 04 24 e8 03 00 00 	movl   $0x3e8,(%esp)
  408996:	e8 f5 08 00 00       	call   409290 <_Beep@8>
  40899b:	83 ec 08             	sub    $0x8,%esp
  40899e:	c9                   	leave  
  40899f:	c3                   	ret    

004089a0 <_fb_ConPrintRaw>:
  4089a0:	55                   	push   %ebp
  4089a1:	89 e5                	mov    %esp,%ebp
  4089a3:	57                   	push   %edi
  4089a4:	56                   	push   %esi
  4089a5:	53                   	push   %ebx
  4089a6:	83 ec 1c             	sub    $0x1c,%esp
  4089a9:	8b 75 10             	mov    0x10(%ebp),%esi
  4089ac:	8b 7d 08             	mov    0x8(%ebp),%edi
  4089af:	8b 45 08             	mov    0x8(%ebp),%eax
  4089b2:	83 c7 0c             	add    $0xc,%edi
  4089b5:	83 c0 1c             	add    $0x1c,%eax
  4089b8:	85 f6                	test   %esi,%esi
  4089ba:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
  4089bd:	74 71                	je     408a30 <_fb_ConPrintRaw+0x90>
  4089bf:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4089c2:	8b 51 1c             	mov    0x1c(%ecx),%edx
  4089c5:	eb 04                	jmp    4089cb <_fb_ConPrintRaw+0x2b>
  4089c7:	85 f6                	test   %esi,%esi
  4089c9:	74 65                	je     408a30 <_fb_ConPrintRaw+0x90>
  4089cb:	8b 47 08             	mov    0x8(%edi),%eax
  4089ce:	29 d0                	sub    %edx,%eax
  4089d0:	40                   	inc    %eax
  4089d1:	39 c6                	cmp    %eax,%esi
  4089d3:	89 c3                	mov    %eax,%ebx
  4089d5:	77 02                	ja     4089d9 <_fb_ConPrintRaw+0x39>
  4089d7:	89 f3                	mov    %esi,%ebx
  4089d9:	8b 47 0c             	mov    0xc(%edi),%eax
  4089dc:	83 f8 ff             	cmp    $0xffffffff,%eax
  4089df:	74 0a                	je     4089eb <_fb_ConPrintRaw+0x4b>
  4089e1:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
  4089e4:	8b 51 04             	mov    0x4(%ecx),%edx
  4089e7:	39 c2                	cmp    %eax,%edx
  4089e9:	7f 4d                	jg     408a38 <_fb_ConPrintRaw+0x98>
  4089eb:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  4089ef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  4089f2:	8b 45 08             	mov    0x8(%ebp),%eax
  4089f5:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  4089f9:	89 04 24             	mov    %eax,(%esp)
  4089fc:	ff 50 08             	call   *0x8(%eax)
  4089ff:	48                   	dec    %eax
  408a00:	75 2e                	jne    408a30 <_fb_ConPrintRaw+0x90>
  408a02:	01 5d 0c             	add    %ebx,0xc(%ebp)
  408a05:	29 de                	sub    %ebx,%esi
  408a07:	8b 4d f0             	mov    0xfffffff0(%ebp),%ecx
  408a0a:	8b 11                	mov    (%ecx),%edx
  408a0c:	01 da                	add    %ebx,%edx
  408a0e:	89 11                	mov    %edx,(%ecx)
  408a10:	8b 47 08             	mov    0x8(%edi),%eax
  408a13:	40                   	inc    %eax
  408a14:	39 c2                	cmp    %eax,%edx
  408a16:	75 af                	jne    4089c7 <_fb_ConPrintRaw+0x27>
  408a18:	8b 07                	mov    (%edi),%eax
  408a1a:	ff 41 04             	incl   0x4(%ecx)
  408a1d:	85 f6                	test   %esi,%esi
  408a1f:	89 c2                	mov    %eax,%edx
  408a21:	89 01                	mov    %eax,(%ecx)
  408a23:	75 a6                	jne    4089cb <_fb_ConPrintRaw+0x2b>
  408a25:	8d 74 26 00          	lea    0x0(%esi),%esi
  408a29:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  408a30:	83 c4 1c             	add    $0x1c,%esp
  408a33:	5b                   	pop    %ebx
  408a34:	5e                   	pop    %esi
  408a35:	5f                   	pop    %edi
  408a36:	5d                   	pop    %ebp
  408a37:	c3                   	ret    
  408a38:	89 44 24 10          	mov    %eax,0x10(%esp)
  408a3c:	29 c2                	sub    %eax,%edx
  408a3e:	89 54 24 14          	mov    %edx,0x14(%esp)
  408a42:	8b 47 08             	mov    0x8(%edi),%eax
  408a45:	8b 55 08             	mov    0x8(%ebp),%edx
  408a48:	89 44 24 0c          	mov    %eax,0xc(%esp)
  408a4c:	8b 47 04             	mov    0x4(%edi),%eax
  408a4f:	89 44 24 08          	mov    %eax,0x8(%esp)
  408a53:	8b 42 0c             	mov    0xc(%edx),%eax
  408a56:	89 14 24             	mov    %edx,(%esp)
  408a59:	89 44 24 04          	mov    %eax,0x4(%esp)
  408a5d:	ff 52 04             	call   *0x4(%edx)
  408a60:	eb 89                	jmp    4089eb <_fb_ConPrintRaw+0x4b>
  408a62:	90                   	nop    
  408a63:	90                   	nop    
  408a64:	90                   	nop    
  408a65:	90                   	nop    
  408a66:	90                   	nop    
  408a67:	90                   	nop    
  408a68:	90                   	nop    
  408a69:	90                   	nop    
  408a6a:	90                   	nop    
  408a6b:	90                   	nop    
  408a6c:	90                   	nop    
  408a6d:	90                   	nop    
  408a6e:	90                   	nop    
  408a6f:	90                   	nop    

00408a70 <___w32_sharedptr_default_unexpected>:
  408a70:	55                   	push   %ebp
  408a71:	a1 30 49 41 00       	mov    0x414930,%eax
  408a76:	89 e5                	mov    %esp,%ebp
  408a78:	5d                   	pop    %ebp
  408a79:	8b 48 04             	mov    0x4(%eax),%ecx
  408a7c:	ff e1                	jmp    *%ecx
  408a7e:	89 f6                	mov    %esi,%esi

00408a80 <___w32_sharedptr_get>:
  408a80:	55                   	push   %ebp
  408a81:	ba 42 00 00 00       	mov    $0x42,%edx
  408a86:	89 e5                	mov    %esp,%ebp
  408a88:	53                   	push   %ebx
  408a89:	0f b7 c0             	movzwl %ax,%eax
  408a8c:	83 ec 64             	sub    $0x64,%esp
  408a8f:	89 54 24 08          	mov    %edx,0x8(%esp)
  408a93:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
  408a96:	31 db                	xor    %ebx,%ebx
  408a98:	89 54 24 04          	mov    %edx,0x4(%esp)
  408a9c:	89 04 24             	mov    %eax,(%esp)
  408a9f:	ff 15 38 62 41 00    	call   *0x416238
  408aa5:	ba 1f 00 00 00       	mov    $0x1f,%edx
  408aaa:	b9 01 00 00 00       	mov    $0x1,%ecx
  408aaf:	83 ec 0c             	sub    $0xc,%esp
  408ab2:	85 c0                	test   %eax,%eax
  408ab4:	75 07                	jne    408abd <___w32_sharedptr_get+0x3d>
  408ab6:	eb 3d                	jmp    408af5 <___w32_sharedptr_get+0x75>
  408ab8:	01 c9                	add    %ecx,%ecx
  408aba:	4a                   	dec    %edx
  408abb:	78 0e                	js     408acb <___w32_sharedptr_get+0x4b>
  408abd:	80 7c 2a a8 41       	cmpb   $0x41,0xffffffa8(%edx,%ebp,1)
  408ac2:	75 f4                	jne    408ab8 <___w32_sharedptr_get+0x38>
  408ac4:	09 cb                	or     %ecx,%ebx
  408ac6:	01 c9                	add    %ecx,%ecx
  408ac8:	4a                   	dec    %edx
  408ac9:	79 f2                	jns    408abd <___w32_sharedptr_get+0x3d>
  408acb:	83 3b 54             	cmpl   $0x54,(%ebx)
  408ace:	75 07                	jne    408ad7 <___w32_sharedptr_get+0x57>
  408ad0:	89 d8                	mov    %ebx,%eax
  408ad2:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  408ad5:	c9                   	leave  
  408ad6:	c3                   	ret    
  408ad7:	c7 04 24 04 b4 40 00 	movl   $0x40b404,(%esp)
  408ade:	ba f7 00 00 00       	mov    $0xf7,%edx
  408ae3:	b8 34 b4 40 00       	mov    $0x40b434,%eax
  408ae8:	89 54 24 08          	mov    %edx,0x8(%esp)
  408aec:	89 44 24 04          	mov    %eax,0x4(%esp)
  408af0:	e8 2b 04 00 00       	call   408f20 <__assert>
  408af5:	c7 04 24 68 b4 40 00 	movl   $0x40b468,(%esp)
  408afc:	bb f1 00 00 00       	mov    $0xf1,%ebx
  408b01:	b9 34 b4 40 00       	mov    $0x40b434,%ecx
  408b06:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  408b0a:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  408b0e:	e8 0d 04 00 00       	call   408f20 <__assert>
  408b13:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  408b19:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00408b20 <___w32_sharedptr_initialize>:
  408b20:	55                   	push   %ebp
  408b21:	89 e5                	mov    %esp,%ebp
  408b23:	57                   	push   %edi
  408b24:	56                   	push   %esi
  408b25:	53                   	push   %ebx
  408b26:	81 ec bc 00 00 00    	sub    $0xbc,%esp
  408b2c:	8b 3d 30 49 41 00    	mov    0x414930,%edi
  408b32:	85 ff                	test   %edi,%edi
  408b34:	74 08                	je     408b3e <___w32_sharedptr_initialize+0x1e>
  408b36:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  408b39:	5b                   	pop    %ebx
  408b3a:	5e                   	pop    %esi
  408b3b:	5f                   	pop    %edi
  408b3c:	5d                   	pop    %ebp
  408b3d:	c3                   	ret    
  408b3e:	c7 45 98 41 41 41 41 	movl   $0x41414141,0xffffff98(%ebp)
  408b45:	a1 e0 b3 40 00       	mov    0x40b3e0,%eax
  408b4a:	8d 7d 98             	lea    0xffffff98(%ebp),%edi
  408b4d:	c7 45 9c 41 41 41 41 	movl   $0x41414141,0xffffff9c(%ebp)
  408b54:	c7 45 a0 41 41 41 41 	movl   $0x41414141,0xffffffa0(%ebp)
  408b5b:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
  408b5e:	a1 e4 b3 40 00       	mov    0x40b3e4,%eax
  408b63:	c7 45 a4 41 41 41 41 	movl   $0x41414141,0xffffffa4(%ebp)
  408b6a:	c7 45 a8 41 41 41 41 	movl   $0x41414141,0xffffffa8(%ebp)
  408b71:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
  408b74:	a1 e8 b3 40 00       	mov    0x40b3e8,%eax
  408b79:	c7 45 ac 41 41 41 41 	movl   $0x41414141,0xffffffac(%ebp)
  408b80:	c7 45 b0 41 41 41 41 	movl   $0x41414141,0xffffffb0(%ebp)
  408b87:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
  408b8a:	a1 ec b3 40 00       	mov    0x40b3ec,%eax
  408b8f:	c7 45 b4 41 41 41 41 	movl   $0x41414141,0xffffffb4(%ebp)
  408b96:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  408b99:	a1 f0 b3 40 00       	mov    0x40b3f0,%eax
  408b9e:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
  408ba1:	a1 f4 b3 40 00       	mov    0x40b3f4,%eax
  408ba6:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
  408ba9:	a1 f8 b3 40 00       	mov    0x40b3f8,%eax
  408bae:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
  408bb1:	a1 fc b3 40 00       	mov    0x40b3fc,%eax
  408bb6:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
  408bb9:	0f b7 05 00 b4 40 00 	movzwl 0x40b400,%eax
  408bc0:	66 89 45 d8          	mov    %ax,0xffffffd8(%ebp)
  408bc4:	89 3c 24             	mov    %edi,(%esp)
  408bc7:	ff 15 34 62 41 00    	call   *0x416234
  408bcd:	0f b7 c0             	movzwl %ax,%eax
  408bd0:	83 ec 04             	sub    $0x4,%esp
  408bd3:	85 c0                	test   %eax,%eax
  408bd5:	0f 85 71 01 00 00    	jne    408d4c <___w32_sharedptr_initialize+0x22c>
  408bdb:	c7 04 24 54 00 00 00 	movl   $0x54,(%esp)
  408be2:	e8 69 02 00 00       	call   408e50 <_malloc>
  408be7:	85 c0                	test   %eax,%eax
  408be9:	89 c3                	mov    %eax,%ebx
  408beb:	0f 84 8f 01 00 00    	je     408d80 <___w32_sharedptr_initialize+0x260>
  408bf1:	89 04 24             	mov    %eax,(%esp)
  408bf4:	31 c9                	xor    %ecx,%ecx
  408bf6:	be 54 00 00 00       	mov    $0x54,%esi
  408bfb:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  408bff:	89 74 24 08          	mov    %esi,0x8(%esp)
  408c03:	e8 08 02 00 00       	call   408e10 <_memset>
  408c08:	c7 43 04 30 8f 40 00 	movl   $0x408f30,0x4(%ebx)
  408c0f:	b9 01 00 00 00       	mov    $0x1,%ecx
  408c14:	c7 43 08 70 8a 40 00 	movl   $0x408a70,0x8(%ebx)
  408c1b:	a1 50 07 41 00       	mov    0x410750,%eax
  408c20:	c7 03 54 00 00 00    	movl   $0x54,(%ebx)
  408c26:	8b 15 54 07 41 00    	mov    0x410754,%edx
  408c2c:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
  408c33:	89 43 14             	mov    %eax,0x14(%ebx)
  408c36:	a1 30 a3 40 00       	mov    0x40a330,%eax
  408c3b:	89 53 18             	mov    %edx,0x18(%ebx)
  408c3e:	8b 15 34 a3 40 00    	mov    0x40a334,%edx
  408c44:	89 43 1c             	mov    %eax,0x1c(%ebx)
  408c47:	a1 60 07 41 00       	mov    0x410760,%eax
  408c4c:	c7 43 2c ff ff ff ff 	movl   $0xffffffff,0x2c(%ebx)
  408c53:	89 53 20             	mov    %edx,0x20(%ebx)
  408c56:	89 43 30             	mov    %eax,0x30(%ebx)
  408c59:	a1 38 a3 40 00       	mov    0x40a338,%eax
  408c5e:	8b 15 3c a3 40 00    	mov    0x40a33c,%edx
  408c64:	89 43 34             	mov    %eax,0x34(%ebx)
  408c67:	a1 70 07 41 00       	mov    0x410770,%eax
  408c6c:	89 53 38             	mov    %edx,0x38(%ebx)
  408c6f:	8b 15 74 07 41 00    	mov    0x410774,%edx
  408c75:	89 43 3c             	mov    %eax,0x3c(%ebx)
  408c78:	a1 80 07 41 00       	mov    0x410780,%eax
  408c7d:	c7 43 44 ff ff ff ff 	movl   $0xffffffff,0x44(%ebx)
  408c84:	89 53 40             	mov    %edx,0x40(%ebx)
  408c87:	89 43 48             	mov    %eax,0x48(%ebx)
  408c8a:	8b 15 44 a3 40 00    	mov    0x40a344,%edx
  408c90:	a1 40 a3 40 00       	mov    0x40a340,%eax
  408c95:	89 53 50             	mov    %edx,0x50(%ebx)
  408c98:	ba 1f 00 00 00       	mov    $0x1f,%edx
  408c9d:	89 43 4c             	mov    %eax,0x4c(%ebx)
  408ca0:	89 d8                	mov    %ebx,%eax
  408ca2:	21 c8                	and    %ecx,%eax
  408ca4:	83 f8 01             	cmp    $0x1,%eax
  408ca7:	19 c0                	sbb    %eax,%eax
  408ca9:	24 20                	and    $0x20,%al
  408cab:	01 c9                	add    %ecx,%ecx
  408cad:	04 41                	add    $0x41,%al
  408caf:	88 84 2a 48 ff ff ff 	mov    %al,0xffffff48(%edx,%ebp,1)
  408cb6:	4a                   	dec    %edx
  408cb7:	79 e7                	jns    408ca0 <___w32_sharedptr_initialize+0x180>
  408cb9:	a1 e0 b3 40 00       	mov    0x40b3e0,%eax
  408cbe:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
  408cc4:	a1 e4 b3 40 00       	mov    0x40b3e4,%eax
  408cc9:	89 85 6c ff ff ff    	mov    %eax,0xffffff6c(%ebp)
  408ccf:	a1 e8 b3 40 00       	mov    0x40b3e8,%eax
  408cd4:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
  408cda:	a1 ec b3 40 00       	mov    0x40b3ec,%eax
  408cdf:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
  408ce5:	a1 f0 b3 40 00       	mov    0x40b3f0,%eax
  408cea:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
  408cf0:	a1 f4 b3 40 00       	mov    0x40b3f4,%eax
  408cf5:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
  408cfb:	a1 f8 b3 40 00       	mov    0x40b3f8,%eax
  408d00:	89 45 80             	mov    %eax,0xffffff80(%ebp)
  408d03:	a1 fc b3 40 00       	mov    0x40b3fc,%eax
  408d08:	89 45 84             	mov    %eax,0xffffff84(%ebp)
  408d0b:	0f b7 05 00 b4 40 00 	movzwl 0x40b400,%eax
  408d12:	66 89 45 88          	mov    %ax,0xffffff88(%ebp)
  408d16:	8d 85 48 ff ff ff    	lea    0xffffff48(%ebp),%eax
  408d1c:	89 04 24             	mov    %eax,(%esp)
  408d1f:	ff 15 10 62 41 00    	call   *0x416210
  408d25:	0f b7 f0             	movzwl %ax,%esi
  408d28:	83 ec 04             	sub    $0x4,%esp
  408d2b:	85 f6                	test   %esi,%esi
  408d2d:	75 42                	jne    408d71 <___w32_sharedptr_initialize+0x251>
  408d2f:	31 d2                	xor    %edx,%edx
  408d31:	85 d2                	test   %edx,%edx
  408d33:	75 1e                	jne    408d53 <___w32_sharedptr_initialize+0x233>
  408d35:	89 1c 24             	mov    %ebx,(%esp)
  408d38:	e8 03 01 00 00       	call   408e40 <_free>
  408d3d:	89 3c 24             	mov    %edi,(%esp)
  408d40:	ff 15 34 62 41 00    	call   *0x416234
  408d46:	83 ec 04             	sub    $0x4,%esp
  408d49:	0f b7 c0             	movzwl %ax,%eax
  408d4c:	e8 2f fd ff ff       	call   408a80 <___w32_sharedptr_get>
  408d51:	89 c3                	mov    %eax,%ebx
  408d53:	89 1d 30 49 41 00    	mov    %ebx,0x414930
  408d59:	8d 43 04             	lea    0x4(%ebx),%eax
  408d5c:	a3 20 49 41 00       	mov    %eax,0x414920
  408d61:	8d 43 08             	lea    0x8(%ebx),%eax
  408d64:	a3 40 49 41 00       	mov    %eax,0x414940
  408d69:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  408d6c:	5b                   	pop    %ebx
  408d6d:	5e                   	pop    %esi
  408d6e:	5f                   	pop    %edi
  408d6f:	5d                   	pop    %ebp
  408d70:	c3                   	ret    
  408d71:	89 f0                	mov    %esi,%eax
  408d73:	e8 08 fd ff ff       	call   408a80 <___w32_sharedptr_get>
  408d78:	39 d8                	cmp    %ebx,%eax
  408d7a:	89 f2                	mov    %esi,%edx
  408d7c:	75 b1                	jne    408d2f <___w32_sharedptr_initialize+0x20f>
  408d7e:	eb b1                	jmp    408d31 <___w32_sharedptr_initialize+0x211>
  408d80:	e8 ab 01 00 00       	call   408f30 <_abort>
  408d85:	90                   	nop    
  408d86:	90                   	nop    
  408d87:	90                   	nop    
  408d88:	90                   	nop    
  408d89:	90                   	nop    
  408d8a:	90                   	nop    
  408d8b:	90                   	nop    
  408d8c:	90                   	nop    
  408d8d:	90                   	nop    
  408d8e:	90                   	nop    
  408d8f:	90                   	nop    

00408d90 <___set_app_type>:
  408d90:	ff 25 c0 62 41 00    	jmp    *0x4162c0
  408d96:	90                   	nop    
  408d97:	90                   	nop    
	...

00408da0 <__cexit>:
  408da0:	ff 25 cc 62 41 00    	jmp    *0x4162cc
  408da6:	90                   	nop    
  408da7:	90                   	nop    
	...

00408db0 <___p__environ>:
  408db0:	ff 25 b8 62 41 00    	jmp    *0x4162b8
  408db6:	90                   	nop    
  408db7:	90                   	nop    
	...

00408dc0 <_signal>:
  408dc0:	ff 25 24 63 41 00    	jmp    *0x416324
  408dc6:	90                   	nop    
  408dc7:	90                   	nop    
	...

00408dd0 <___p__fmode>:
  408dd0:	ff 25 bc 62 41 00    	jmp    *0x4162bc
  408dd6:	90                   	nop    
  408dd7:	90                   	nop    
	...

00408de0 <__fileno>:
  408de0:	ff 25 d4 62 41 00    	jmp    *0x4162d4
  408de6:	90                   	nop    
  408de7:	90                   	nop    
	...

00408df0 <__setmode>:
  408df0:	ff 25 f4 62 41 00    	jmp    *0x4162f4
  408df6:	90                   	nop    
  408df7:	90                   	nop    
	...

00408e00 <___getmainargs>:
  408e00:	ff 25 b0 62 41 00    	jmp    *0x4162b0
  408e06:	90                   	nop    
  408e07:	90                   	nop    
	...

00408e10 <_memset>:
  408e10:	ff 25 1c 63 41 00    	jmp    *0x41631c
  408e16:	90                   	nop    
  408e17:	90                   	nop    
	...

00408e20 <_memcpy>:
  408e20:	ff 25 18 63 41 00    	jmp    *0x416318
  408e26:	90                   	nop    
  408e27:	90                   	nop    
	...

00408e30 <_realloc>:
  408e30:	ff 25 20 63 41 00    	jmp    *0x416320
  408e36:	90                   	nop    
  408e37:	90                   	nop    
	...

00408e40 <_free>:
  408e40:	ff 25 10 63 41 00    	jmp    *0x416310
  408e46:	90                   	nop    
  408e47:	90                   	nop    
	...

00408e50 <_malloc>:
  408e50:	ff 25 14 63 41 00    	jmp    *0x416314
  408e56:	90                   	nop    
  408e57:	90                   	nop    
	...

00408e60 <_strlen>:
  408e60:	ff 25 2c 63 41 00    	jmp    *0x41632c
  408e66:	90                   	nop    
  408e67:	90                   	nop    
	...

00408e70 <_sprintf>:
  408e70:	ff 25 28 63 41 00    	jmp    *0x416328
  408e76:	90                   	nop    
  408e77:	90                   	nop    
	...

00408e80 <_fprintf>:
  408e80:	ff 25 0c 63 41 00    	jmp    *0x41630c
  408e86:	90                   	nop    
  408e87:	90                   	nop    
	...

00408e90 <_exit>:
  408e90:	ff 25 08 63 41 00    	jmp    *0x416308
  408e96:	90                   	nop    
  408e97:	90                   	nop    
	...

00408ea0 <__ultoa>:
  408ea0:	ff 25 f8 62 41 00    	jmp    *0x4162f8
  408ea6:	90                   	nop    
  408ea7:	90                   	nop    
	...

00408eb0 <__itoa>:
  408eb0:	ff 25 e8 62 41 00    	jmp    *0x4162e8
  408eb6:	90                   	nop    
  408eb7:	90                   	nop    
	...

00408ec0 <__beginthreadex>:
  408ec0:	ff 25 c8 62 41 00    	jmp    *0x4162c8
  408ec6:	90                   	nop    
  408ec7:	90                   	nop    
	...

00408ed0 <_calloc>:
  408ed0:	ff 25 04 63 41 00    	jmp    *0x416304
  408ed6:	90                   	nop    
  408ed7:	90                   	nop    
	...

00408ee0 <__controlfp>:
  408ee0:	ff 25 d0 62 41 00    	jmp    *0x4162d0
  408ee6:	90                   	nop    
  408ee7:	90                   	nop    
	...

00408ef0 <_toupper>:
  408ef0:	ff 25 34 63 41 00    	jmp    *0x416334
  408ef6:	90                   	nop    
  408ef7:	90                   	nop    
	...

00408f00 <_tolower>:
  408f00:	ff 25 30 63 41 00    	jmp    *0x416330
  408f06:	90                   	nop    
  408f07:	90                   	nop    
	...

00408f10 <__isctype>:
  408f10:	ff 25 e4 62 41 00    	jmp    *0x4162e4
  408f16:	90                   	nop    
  408f17:	90                   	nop    
	...

00408f20 <__assert>:
  408f20:	ff 25 c4 62 41 00    	jmp    *0x4162c4
  408f26:	90                   	nop    
  408f27:	90                   	nop    
	...

00408f30 <_abort>:
  408f30:	ff 25 fc 62 41 00    	jmp    *0x4162fc
  408f36:	90                   	nop    
  408f37:	90                   	nop    
	...

00408f40 <_do_pseudo_reloc>:
  408f40:	55                   	push   %ebp
  408f41:	89 e5                	mov    %esp,%ebp
  408f43:	56                   	push   %esi
  408f44:	8b 4d 08             	mov    0x8(%ebp),%ecx
  408f47:	53                   	push   %ebx
  408f48:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  408f4b:	8b 75 10             	mov    0x10(%ebp),%esi
  408f4e:	39 d9                	cmp    %ebx,%ecx
  408f50:	73 20                	jae    408f72 <_do_pseudo_reloc+0x32>
  408f52:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  408f59:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  408f60:	8b 41 04             	mov    0x4(%ecx),%eax
  408f63:	89 f2                	mov    %esi,%edx
  408f65:	01 c2                	add    %eax,%edx
  408f67:	8b 01                	mov    (%ecx),%eax
  408f69:	83 c1 08             	add    $0x8,%ecx
  408f6c:	01 02                	add    %eax,(%edx)
  408f6e:	39 d9                	cmp    %ebx,%ecx
  408f70:	72 ee                	jb     408f60 <_do_pseudo_reloc+0x20>
  408f72:	5b                   	pop    %ebx
  408f73:	5e                   	pop    %esi
  408f74:	5d                   	pop    %ebp
  408f75:	c3                   	ret    
  408f76:	8d 76 00             	lea    0x0(%esi),%esi
  408f79:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00408f80 <__pei386_runtime_relocator>:
  408f80:	55                   	push   %ebp
  408f81:	89 e5                	mov    %esp,%ebp
  408f83:	83 ec 18             	sub    $0x18,%esp
  408f86:	c7 44 24 08 00 00 40 	movl   $0x400000,0x8(%esp)
  408f8d:	00 
  408f8e:	c7 44 24 04 a0 b4 40 	movl   $0x40b4a0,0x4(%esp)
  408f95:	00 
  408f96:	c7 04 24 a0 b4 40 00 	movl   $0x40b4a0,(%esp)
  408f9d:	e8 9e ff ff ff       	call   408f40 <_do_pseudo_reloc>
  408fa2:	89 ec                	mov    %ebp,%esp
  408fa4:	5d                   	pop    %ebp
  408fa5:	c3                   	ret    
  408fa6:	90                   	nop    
  408fa7:	90                   	nop    
  408fa8:	90                   	nop    
  408fa9:	90                   	nop    
  408faa:	90                   	nop    
  408fab:	90                   	nop    
  408fac:	90                   	nop    
  408fad:	90                   	nop    
  408fae:	90                   	nop    
  408faf:	90                   	nop    

00408fb0 <__fpreset>:
  408fb0:	55                   	push   %ebp
  408fb1:	89 e5                	mov    %esp,%ebp
  408fb3:	db e3                	fninit 
  408fb5:	5d                   	pop    %ebp
  408fb6:	c3                   	ret    
  408fb7:	90                   	nop    
  408fb8:	90                   	nop    
  408fb9:	90                   	nop    
  408fba:	90                   	nop    
  408fbb:	90                   	nop    
  408fbc:	90                   	nop    
  408fbd:	90                   	nop    
  408fbe:	90                   	nop    
  408fbf:	90                   	nop    

00408fc0 <___do_global_dtors>:
  408fc0:	55                   	push   %ebp
  408fc1:	89 e5                	mov    %esp,%ebp
  408fc3:	83 ec 08             	sub    $0x8,%esp
  408fc6:	a1 80 a3 40 00       	mov    0x40a380,%eax
  408fcb:	8b 08                	mov    (%eax),%ecx
  408fcd:	85 c9                	test   %ecx,%ecx
  408fcf:	75 04                	jne    408fd5 <___do_global_dtors+0x15>
  408fd1:	89 ec                	mov    %ebp,%esp
  408fd3:	5d                   	pop    %ebp
  408fd4:	c3                   	ret    
  408fd5:	ff 10                	call   *(%eax)
  408fd7:	8b 15 80 a3 40 00    	mov    0x40a380,%edx
  408fdd:	8d 42 04             	lea    0x4(%edx),%eax
  408fe0:	8b 52 04             	mov    0x4(%edx),%edx
  408fe3:	a3 80 a3 40 00       	mov    %eax,0x40a380
  408fe8:	85 d2                	test   %edx,%edx
  408fea:	75 e9                	jne    408fd5 <___do_global_dtors+0x15>
  408fec:	eb e3                	jmp    408fd1 <___do_global_dtors+0x11>
  408fee:	89 f6                	mov    %esi,%esi

00408ff0 <___do_global_ctors>:
  408ff0:	55                   	push   %ebp
  408ff1:	89 e5                	mov    %esp,%ebp
  408ff3:	83 ec 08             	sub    $0x8,%esp
  408ff6:	89 5d fc             	mov    %ebx,0xfffffffc(%ebp)
  408ff9:	a1 00 93 40 00       	mov    0x409300,%eax
  408ffe:	83 f8 ff             	cmp    $0xffffffff,%eax
  409001:	74 29                	je     40902c <___do_global_ctors+0x3c>
  409003:	85 c0                	test   %eax,%eax
  409005:	89 c3                	mov    %eax,%ebx
  409007:	75 17                	jne    409020 <___do_global_ctors+0x30>
  409009:	c7 04 24 c0 8f 40 00 	movl   $0x408fc0,(%esp)
  409010:	e8 6b 82 ff ff       	call   401280 <_atexit>
  409015:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  409018:	89 ec                	mov    %ebp,%esp
  40901a:	5d                   	pop    %ebp
  40901b:	c3                   	ret    
  40901c:	8d 74 26 00          	lea    0x0(%esi),%esi
  409020:	ff 14 9d 00 93 40 00 	call   *0x409300(,%ebx,4)
  409027:	4b                   	dec    %ebx
  409028:	75 f6                	jne    409020 <___do_global_ctors+0x30>
  40902a:	eb dd                	jmp    409009 <___do_global_ctors+0x19>
  40902c:	8b 15 04 93 40 00    	mov    0x409304,%edx
  409032:	31 c0                	xor    %eax,%eax
  409034:	85 d2                	test   %edx,%edx
  409036:	74 cb                	je     409003 <___do_global_ctors+0x13>
  409038:	ba 00 93 40 00       	mov    $0x409300,%edx
  40903d:	8d 76 00             	lea    0x0(%esi),%esi
  409040:	40                   	inc    %eax
  409041:	8b 5c 82 04          	mov    0x4(%edx,%eax,4),%ebx
  409045:	85 db                	test   %ebx,%ebx
  409047:	75 f7                	jne    409040 <___do_global_ctors+0x50>
  409049:	eb b8                	jmp    409003 <___do_global_ctors+0x13>
  40904b:	90                   	nop    
  40904c:	8d 74 26 00          	lea    0x0(%esi),%esi

00409050 <___main>:
  409050:	55                   	push   %ebp
  409051:	a1 84 a3 40 00       	mov    0x40a384,%eax
  409056:	89 e5                	mov    %esp,%ebp
  409058:	85 c0                	test   %eax,%eax
  40905a:	74 04                	je     409060 <___main+0x10>
  40905c:	5d                   	pop    %ebp
  40905d:	c3                   	ret    
  40905e:	89 f6                	mov    %esi,%esi
  409060:	5d                   	pop    %ebp
  409061:	b9 01 00 00 00       	mov    $0x1,%ecx
  409066:	89 0d 84 a3 40 00    	mov    %ecx,0x40a384
  40906c:	eb 82                	jmp    408ff0 <___do_global_ctors>
  40906e:	90                   	nop    
  40906f:	90                   	nop    

00409070 <_fb_hDoInit>:
  409070:	55                   	push   %ebp
  409071:	89 e5                	mov    %esp,%ebp
  409073:	5d                   	pop    %ebp
  409074:	e9 87 bf ff ff       	jmp    405000 <_fb_hRtInit>
  409079:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00409080 <_fb_hDoExit>:
  409080:	55                   	push   %ebp
  409081:	89 e5                	mov    %esp,%ebp
  409083:	5d                   	pop    %ebp
  409084:	e9 c7 b8 ff ff       	jmp    404950 <_fb_hRtExit>
  409089:	90                   	nop    
  40908a:	90                   	nop    
  40908b:	90                   	nop    
  40908c:	90                   	nop    
  40908d:	90                   	nop    
  40908e:	90                   	nop    
  40908f:	90                   	nop    

00409090 <_EnterCriticalSection@4>:
  409090:	ff 25 24 62 41 00    	jmp    *0x416224
  409096:	90                   	nop    
  409097:	90                   	nop    
	...

004090a0 <_LeaveCriticalSection@4>:
  4090a0:	ff 25 54 62 41 00    	jmp    *0x416254
  4090a6:	90                   	nop    
  4090a7:	90                   	nop    
	...

004090b0 <_CreateSemaphoreA@16>:
  4090b0:	ff 25 1c 62 41 00    	jmp    *0x41621c
  4090b6:	90                   	nop    
  4090b7:	90                   	nop    
	...

004090c0 <_CloseHandle@4>:
  4090c0:	ff 25 18 62 41 00    	jmp    *0x416218
  4090c6:	90                   	nop    
  4090c7:	90                   	nop    
	...

004090d0 <_WaitForSingleObject@8>:
  4090d0:	ff 25 98 62 41 00    	jmp    *0x416298
  4090d6:	90                   	nop    
  4090d7:	90                   	nop    
	...

004090e0 <_ReleaseSemaphore@12>:
  4090e0:	ff 25 60 62 41 00    	jmp    *0x416260
  4090e6:	90                   	nop    
  4090e7:	90                   	nop    
	...

004090f0 <_TlsFree@4>:
  4090f0:	ff 25 8c 62 41 00    	jmp    *0x41628c
  4090f6:	90                   	nop    
  4090f7:	90                   	nop    
	...

00409100 <_TlsAlloc@0>:
  409100:	ff 25 88 62 41 00    	jmp    *0x416288
  409106:	90                   	nop    
  409107:	90                   	nop    
	...

00409110 <_TlsGetValue@4>:
  409110:	ff 25 90 62 41 00    	jmp    *0x416290
  409116:	90                   	nop    
  409117:	90                   	nop    
	...

00409120 <_TlsSetValue@8>:
  409120:	ff 25 94 62 41 00    	jmp    *0x416294
  409126:	90                   	nop    
  409127:	90                   	nop    
	...

00409130 <_InitializeCriticalSection@4>:
  409130:	ff 25 50 62 41 00    	jmp    *0x416250
  409136:	90                   	nop    
  409137:	90                   	nop    
	...

00409140 <_GetConsoleScreenBufferInfo@8>:
  409140:	ff 25 44 62 41 00    	jmp    *0x416244
  409146:	90                   	nop    
  409147:	90                   	nop    
	...

00409150 <_DeleteCriticalSection@4>:
  409150:	ff 25 20 62 41 00    	jmp    *0x416220
  409156:	90                   	nop    
  409157:	90                   	nop    
	...

00409160 <_SetConsoleTextAttribute@8>:
  409160:	ff 25 78 62 41 00    	jmp    *0x416278
  409166:	90                   	nop    
  409167:	90                   	nop    
	...

00409170 <_GetLargestConsoleWindowSize@4>:
  409170:	ff 25 48 62 41 00    	jmp    *0x416248
  409176:	90                   	nop    
  409177:	90                   	nop    
	...

00409180 <_GetStdHandle@4>:
  409180:	ff 25 4c 62 41 00    	jmp    *0x41624c
  409186:	90                   	nop    
  409187:	90                   	nop    
	...

00409190 <_GetConsoleMode@8>:
  409190:	ff 25 40 62 41 00    	jmp    *0x416240
  409196:	90                   	nop    
  409197:	90                   	nop    
	...

004091a0 <_SetConsoleMode@8>:
  4091a0:	ff 25 74 62 41 00    	jmp    *0x416274
  4091a6:	90                   	nop    
  4091a7:	90                   	nop    
	...

004091b0 <_GetConsoleCursorInfo@8>:
  4091b0:	ff 25 3c 62 41 00    	jmp    *0x41623c
  4091b6:	90                   	nop    
  4091b7:	90                   	nop    
	...

004091c0 <_SetConsoleCtrlHandler@8>:
  4091c0:	ff 25 68 62 41 00    	jmp    *0x416268
  4091c6:	90                   	nop    
  4091c7:	90                   	nop    
	...

004091d0 <_PeekConsoleInputA@16>:
  4091d0:	ff 25 58 62 41 00    	jmp    *0x416258
  4091d6:	90                   	nop    
  4091d7:	90                   	nop    
	...

004091e0 <_ReadConsoleInputA@16>:
  4091e0:	ff 25 5c 62 41 00    	jmp    *0x41625c
  4091e6:	90                   	nop    
  4091e7:	90                   	nop    
	...

004091f0 <_WriteConsoleInputA@16>:
  4091f0:	ff 25 9c 62 41 00    	jmp    *0x41629c
  4091f6:	90                   	nop    
  4091f7:	90                   	nop    
	...

00409200 <_Sleep@4>:
  409200:	ff 25 84 62 41 00    	jmp    *0x416284
  409206:	90                   	nop    
  409207:	90                   	nop    
	...

00409210 <_FillConsoleOutputAttribute@20>:
  409210:	ff 25 2c 62 41 00    	jmp    *0x41622c
  409216:	90                   	nop    
  409217:	90                   	nop    
	...

00409220 <_FillConsoleOutputCharacterA@20>:
  409220:	ff 25 30 62 41 00    	jmp    *0x416230
  409226:	90                   	nop    
  409227:	90                   	nop    
	...

00409230 <_SetConsoleWindowInfo@12>:
  409230:	ff 25 7c 62 41 00    	jmp    *0x41627c
  409236:	90                   	nop    
  409237:	90                   	nop    
	...

00409240 <_SetConsoleCursorInfo@8>:
  409240:	ff 25 6c 62 41 00    	jmp    *0x41626c
  409246:	90                   	nop    
  409247:	90                   	nop    
	...

00409250 <_SetConsoleCursorPosition@8>:
  409250:	ff 25 70 62 41 00    	jmp    *0x416270
  409256:	90                   	nop    
  409257:	90                   	nop    
	...

00409260 <_ScrollConsoleScreenBufferA@20>:
  409260:	ff 25 64 62 41 00    	jmp    *0x416264
  409266:	90                   	nop    
  409267:	90                   	nop    
	...

00409270 <_WriteConsoleOutputA@20>:
  409270:	ff 25 a0 62 41 00    	jmp    *0x4162a0
  409276:	90                   	nop    
  409277:	90                   	nop    
	...

00409280 <_WriteFile@20>:
  409280:	ff 25 a4 62 41 00    	jmp    *0x4162a4
  409286:	90                   	nop    
  409287:	90                   	nop    
	...

00409290 <_Beep@8>:
  409290:	ff 25 14 62 41 00    	jmp    *0x416214
  409296:	90                   	nop    
  409297:	90                   	nop    
	...

004092a0 <_GetAtomNameA@12>:
  4092a0:	ff 25 38 62 41 00    	jmp    *0x416238
  4092a6:	90                   	nop    
  4092a7:	90                   	nop    
	...

004092b0 <_FindAtomA@4>:
  4092b0:	ff 25 34 62 41 00    	jmp    *0x416234
  4092b6:	90                   	nop    
  4092b7:	90                   	nop    
	...

004092c0 <_AddAtomA@4>:
  4092c0:	ff 25 10 62 41 00    	jmp    *0x416210
  4092c6:	90                   	nop    
  4092c7:	90                   	nop    
	...

004092d0 <_MapVirtualKeyA@8>:
  4092d0:	ff 25 40 63 41 00    	jmp    *0x416340
  4092d6:	90                   	nop    
  4092d7:	90                   	nop    
	...

004092e0 <_VkKeyScanA@4>:
  4092e0:	ff 25 44 63 41 00    	jmp    *0x416344
  4092e6:	90                   	nop    
  4092e7:	90                   	nop    
	...

004092f0 <___sjlj_init_ctor>:
  4092f0:	55                   	push   %ebp
  4092f1:	89 e5                	mov    %esp,%ebp
  4092f3:	5d                   	pop    %ebp
  4092f4:	e9 c7 7f ff ff       	jmp    4012c0 <___do_sjlj_init>
  4092f9:	90                   	nop    
  4092fa:	90                   	nop    
  4092fb:	90                   	nop    
  4092fc:	90                   	nop    
  4092fd:	90                   	nop    
  4092fe:	90                   	nop    
  4092ff:	90                   	nop    

00409300 <__CTOR_LIST__>:
  409300:	ff                   	(bad)  
  409301:	ff                   	(bad)  
  409302:	ff                   	(bad)  
  409303:	ff 70 90             	pushl  0xffffff90(%eax)

00409304 <_priorityhDoInit>:
  409304:	70 90                	jo     409296 <_Beep@8+0x6>
  409306:	40                   	inc    %eax
	...

00409308 <.ctors>:
  409308:	f0 92                	lock xchg %eax,%edx
  40930a:	40                   	inc    %eax
  40930b:	00 00                	add    %al,(%eax)
  40930d:	00 00                	add    %al,(%eax)
	...

00409310 <__DTOR_LIST__>:
  409310:	ff                   	(bad)  
  409311:	ff                   	(bad)  
  409312:	ff                   	(bad)  
  409313:	ff 80 90 40 00 00    	incl   0x4090(%eax)

00409314 <_priorityhDoExit>:
  409314:	80 90 40 00 00 00 00 	adcb   $0x0,0x40(%eax)
	...
