40ff59:	33 f6                	xor    %esi,%esi
40ff5b:	83 fb e0             	cmp    $0xffffffe0,%ebx
40ff5e:	77 55                	ja     0x40ffb5
40ff60:	3b 1d 84 3f 43 00    	cmp    0x433f84,%ebx
40ff66:	77 3c                	ja     0x40ffa4
40ff68:	6a 09                	push   $0x9
40ff6a:	e8 d1 f4 ff ff       	call   0x40f440
40ff6f:	8b c3                	mov    %ebx,%eax
40ff71:	83 c4 04             	add    $0x4,%esp
40ff74:	c1 e8 04             	shr    $0x4,%eax
40ff77:	50                   	push   %eax
40ff78:	e8 53 fa ff ff       	call   0x40f9d0
40ff7d:	83 c4 04             	add    $0x4,%esp
40ff80:	8b f0                	mov    %eax,%esi
40ff82:	6a 09                	push   $0x9
40ff84:	e8 37 f5 ff ff       	call   0x40f4c0
40ff89:	83 c4 04             	add    $0x4,%esp
40ff8c:	85 f6                	test   %esi,%esi
40ff8e:	74 18                	je     0x40ffa8
40ff90:	8b cb                	mov    %ebx,%ecx
40ff92:	33 c0                	xor    %eax,%eax
40ff94:	8b d1                	mov    %ecx,%edx
40ff96:	8b fe                	mov    %esi,%edi
40ff98:	c1 e9 02             	shr    $0x2,%ecx
40ff9b:	f3 ab                	rep stos %eax,%es:(%edi)
40ff9d:	8b ca                	mov    %edx,%ecx
40ff9f:	83 e1 03             	and    $0x3,%ecx
40ffa2:	f3 aa                	rep stos %al,%es:(%edi)
40ffa4:	85 f6                	test   %esi,%esi
40ffa6:	75 2c                	jne    0x40ffd4
40ffa8:	a1 8c 89 43 00       	mov    0x43898c,%eax
40ffad:	53                   	push   %ebx
40ffae:	6a 08                	push   $0x8
40ffb0:	50                   	push   %eax
40ffb1:	ff d5                	call   *%ebp
40ffb3:	8b f0                	mov    %eax,%esi
40ffb5:	85 f6                	test   %esi,%esi
40ffb7:	75 1b                	jne    0x40ffd4
40ffb9:	a1 54 73 43 00       	mov    0x437354,%eax
40ffbe:	85 c0                	test   %eax,%eax
40ffc0:	74 12                	je     0x40ffd4
40ffc2:	53                   	push   %ebx
40ffc3:	e8 88 f6 ff ff       	call   0x40f650
40ffc8:	83 c4 04             	add    $0x4,%esp
40ffcb:	85 c0                	test   %eax,%eax
40ffcd:	75 8a                	jne    0x40ff59
40ffcf:	5f                   	pop    %edi
40ffd0:	5e                   	pop    %esi
40ffd1:	5d                   	pop    %ebp
40ffd2:	5b                   	pop    %ebx
40ffd3:	c3                   	ret
40ffd4:	8b c6                	mov    %esi,%eax
40ffd6:	5f                   	pop    %edi
40ffd7:	5e                   	pop    %esi
40ffd8:	5d                   	pop    %ebp
40ffd9:	5b                   	pop    %ebx
40ffda:	c3                   	ret
40ffdb:	90                   	nop
40ffdc:	90                   	nop
40ffdd:	90                   	nop
40ffde:	90                   	nop
40ffdf:	90                   	nop
40ffe0:	55                   	push   %ebp
40ffe1:	8b ec                	mov    %esp,%ebp
40ffe3:	56                   	push   %esi
40ffe4:	33 c0                	xor    %eax,%eax
40ffe6:	50                   	push   %eax
40ffe7:	50                   	push   %eax
40ffe8:	50                   	push   %eax
40ffe9:	50                   	push   %eax
40ffea:	50                   	push   %eax
40ffeb:	50                   	push   %eax
40ffec:	50                   	push   %eax
40ffed:	50                   	push   %eax
40ffee:	8b 55 0c             	mov    0xc(%ebp),%edx
40fff1:	2e 8b c0             	cs mov %eax,%eax
40fff4:	8a 02                	mov    (%edx),%al
40fff6:	0a c0                	or     %al,%al
40fff8:	74 07                	je     0x410001
40fffa:	42                   	inc    %edx
40fffb:	0f ab 04 24          	bts    %eax,(%esp)
40ffff:	eb f3                	jmp    0x40fff4
410001:	8b 75 08             	mov    0x8(%ebp),%esi
410004:	8a 06                	mov    (%esi),%al
410006:	0a c0                	or     %al,%al
410008:	74 0a                	je     0x410014
41000a:	46                   	inc    %esi
41000b:	0f a3 04 24          	bt     %eax,(%esp)
41000f:	73 f3                	jae    0x410004
410011:	8d 46 ff             	lea    -0x1(%esi),%eax
410014:	83 c4 20             	add    $0x20,%esp
410017:	5e                   	pop    %esi
410018:	c9                   	leave
410019:	c3                   	ret
41001a:	cc                   	int3
41001b:	cc                   	int3
41001c:	cc                   	int3
41001d:	cc                   	int3
41001e:	cc                   	int3
41001f:	cc                   	int3
410020:	a1 64 73 43 00       	mov    0x437364,%eax
410025:	53                   	push   %ebx
410026:	8b 1d 24 96 43 00    	mov    0x439624,%ebx
41002c:	55                   	push   %ebp
41002d:	56                   	push   %esi
41002e:	57                   	push   %edi
41002f:	85 c0                	test   %eax,%eax
410031:	75 49                	jne    0x41007c
410033:	6a 00                	push   $0x0
410035:	6a 00                	push   $0x0
410037:	6a 01                	push   $0x1
410039:	68 88 c3 42 00       	push   $0x42c388
41003e:	68 00 01 00 00       	push   $0x100
410043:	6a 00                	push   $0x0
410045:	ff d3                	call   *%ebx
410047:	85 c0                	test   %eax,%eax
410049:	74 07                	je     0x410052
41004b:	b8 02 00 00 00       	mov    $0x2,%eax
410050:	eb 25                	jmp    0x410077
410052:	6a 00                	push   $0x0
410054:	6a 00                	push   $0x0
410056:	6a 01                	push   $0x1
410058:	68 8c c3 42 00       	push   $0x42c38c
41005d:	68 00 01 00 00       	push   $0x100
410062:	6a 00                	push   $0x0
410064:	ff 15 28 96 43 00    	call   *0x439628
41006a:	85 c0                	test   %eax,%eax
41006c:	0f 84 c3 01 00 00    	je     0x410235
410072:	b8 01 00 00 00       	mov    $0x1,%eax
410077:	a3 64 73 43 00       	mov    %eax,0x437364
41007c:	8b 74 24 20          	mov    0x20(%esp),%esi
410080:	85 f6                	test   %esi,%esi
410082:	7e 17                	jle    0x41009b
410084:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
410088:	56                   	push   %esi
410089:	57                   	push   %edi
41008a:	e8 b1 01 00 00       	call   0x410240
41008f:	8b f0                	mov    %eax,%esi
410091:	a1 64 73 43 00       	mov    0x437364,%eax
410096:	83 c4 08             	add    $0x8,%esp
410099:	eb 04                	jmp    0x41009f
41009b:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
41009f:	83 f8 02             	cmp    $0x2,%eax
4100a2:	75 1d                	jne    0x4100c1
4100a4:	8b 44 24 28          	mov    0x28(%esp),%eax
4100a8:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4100ac:	8b 54 24 18          	mov    0x18(%esp),%edx
4100b0:	50                   	push   %eax
4100b1:	8b 44 24 18          	mov    0x18(%esp),%eax
4100b5:	51                   	push   %ecx
4100b6:	56                   	push   %esi
4100b7:	57                   	push   %edi
4100b8:	52                   	push   %edx
4100b9:	50                   	push   %eax
4100ba:	ff d3                	call   *%ebx
4100bc:	5f                   	pop    %edi
4100bd:	5e                   	pop    %esi
4100be:	5d                   	pop    %ebp
4100bf:	5b                   	pop    %ebx
4100c0:	c3                   	ret
4100c1:	83 f8 01             	cmp    $0x1,%eax
4100c4:	0f 85 d2 00 00 00    	jne    0x41019c
4100ca:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
4100ce:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
4100d5:	00
4100d6:	85 ed                	test   %ebp,%ebp
4100d8:	75 0c                	jne    0x4100e6
4100da:	8b 0d 80 73 43 00    	mov    0x437380,%ecx
4100e0:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4100e4:	8b e9                	mov    %ecx,%ebp
4100e6:	6a 00                	push   $0x0
4100e8:	6a 00                	push   $0x0
4100ea:	56                   	push   %esi
4100eb:	57                   	push   %edi
4100ec:	6a 09                	push   $0x9
4100ee:	55                   	push   %ebp
4100ef:	ff 15 f4 96 43 00    	call   *0x4396f4
4100f5:	8b f8                	mov    %eax,%edi
4100f7:	85 ff                	test   %edi,%edi
4100f9:	75 05                	jne    0x410100
4100fb:	5f                   	pop    %edi
4100fc:	5e                   	pop    %esi
4100fd:	5d                   	pop    %ebp
4100fe:	5b                   	pop    %ebx
4100ff:	c3                   	ret
410100:	8d 14 3f             	lea    (%edi,%edi,1),%edx
410103:	52                   	push   %edx
410104:	e8 b7 c3 ff ff       	call   0x40c4c0
410109:	8b d8                	mov    %eax,%ebx
41010b:	83 c4 04             	add    $0x4,%esp
41010e:	85 db                	test   %ebx,%ebx
410110:	75 05                	jne    0x410117
410112:	5f                   	pop    %edi
410113:	5e                   	pop    %esi
410114:	5d                   	pop    %ebp
410115:	5b                   	pop    %ebx
410116:	c3                   	ret
410117:	8b 44 24 1c          	mov    0x1c(%esp),%eax
41011b:	57                   	push   %edi
41011c:	53                   	push   %ebx
41011d:	56                   	push   %esi
41011e:	50                   	push   %eax
41011f:	6a 01                	push   $0x1
410121:	55                   	push   %ebp
410122:	ff 15 f4 96 43 00    	call   *0x4396f4
410128:	85 c0                	test   %eax,%eax
41012a:	0f 84 ef 00 00 00    	je     0x41021f
410130:	8b 6c 24 18          	mov    0x18(%esp),%ebp
410134:	8b 4c 24 14          	mov    0x14(%esp),%ecx
410138:	6a 00                	push   $0x0
41013a:	6a 00                	push   $0x0
41013c:	57                   	push   %edi
41013d:	53                   	push   %ebx
41013e:	55                   	push   %ebp
41013f:	51                   	push   %ecx
410140:	ff 15 28 96 43 00    	call   *0x439628
410146:	8b f0                	mov    %eax,%esi
410148:	85 f6                	test   %esi,%esi
41014a:	0f 84 cf 00 00 00    	je     0x41021f
410150:	f7 c5 00 04 00 00    	test   $0x400,%ebp
410156:	74 49                	je     0x4101a1
410158:	8b 44 24 28          	mov    0x28(%esp),%eax
41015c:	85 c0                	test   %eax,%eax
41015e:	74 24                	je     0x410184
410160:	3b f0                	cmp    %eax,%esi
410162:	0f 8f b7 00 00 00    	jg     0x41021f
410168:	8b 54 24 24          	mov    0x24(%esp),%edx
41016c:	50                   	push   %eax
41016d:	8b 44 24 18          	mov    0x18(%esp),%eax
410171:	52                   	push   %edx
410172:	57                   	push   %edi
410173:	53                   	push   %ebx
410174:	55                   	push   %ebp
410175:	50                   	push   %eax
410176:	ff 15 28 96 43 00    	call   *0x439628
41017c:	85 c0                	test   %eax,%eax
41017e:	0f 84 9b 00 00 00    	je     0x41021f
410184:	53                   	push   %ebx
410185:	e8 06 c4 ff ff       	call   0x40c590
41018a:	8b 4c 24 24          	mov    0x24(%esp),%ecx
41018e:	83 c4 04             	add    $0x4,%esp
410191:	51                   	push   %ecx
410192:	e8 f9 c3 ff ff       	call   0x40c590
410197:	83 c4 04             	add    $0x4,%esp
41019a:	8b c6                	mov    %esi,%eax
41019c:	5f                   	pop    %edi
41019d:	5e                   	pop    %esi
41019e:	5d                   	pop    %ebp
41019f:	5b                   	pop    %ebx
4101a0:	c3                   	ret
4101a1:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
4101a4:	51                   	push   %ecx
4101a5:	e8 16 c3 ff ff       	call   0x40c4c0
4101aa:	83 c4 04             	add    $0x4,%esp
4101ad:	89 44 24 20          	mov    %eax,0x20(%esp)
4101b1:	85 c0                	test   %eax,%eax
4101b3:	74 6a                	je     0x41021f
4101b5:	8b d0                	mov    %eax,%edx
4101b7:	8b 44 24 14          	mov    0x14(%esp),%eax
4101bb:	56                   	push   %esi
4101bc:	52                   	push   %edx
4101bd:	57                   	push   %edi
4101be:	53                   	push   %ebx
4101bf:	55                   	push   %ebp
4101c0:	50                   	push   %eax
4101c1:	ff 15 28 96 43 00    	call   *0x439628
4101c7:	85 c0                	test   %eax,%eax
4101c9:	74 54                	je     0x41021f
4101cb:	8b 44 24 28          	mov    0x28(%esp),%eax
4101cf:	6a 00                	push   $0x0
4101d1:	85 c0                	test   %eax,%eax
4101d3:	6a 00                	push   $0x0
4101d5:	75 22                	jne    0x4101f9
4101d7:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4101db:	8b 54 24 34          	mov    0x34(%esp),%edx
4101df:	6a 00                	push   $0x0
4101e1:	6a 00                	push   $0x0
4101e3:	56                   	push   %esi
4101e4:	51                   	push   %ecx
4101e5:	68 20 02 00 00       	push   $0x220
4101ea:	52                   	push   %edx
4101eb:	ff 15 f8 96 43 00    	call   *0x4396f8
4101f1:	8b f0                	mov    %eax,%esi
4101f3:	85 f6                	test   %esi,%esi
4101f5:	74 28                	je     0x41021f
4101f7:	eb 8b                	jmp    0x410184
4101f9:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4101fd:	8b 54 24 34          	mov    0x34(%esp),%edx
410201:	50                   	push   %eax
410202:	8b 44 24 30          	mov    0x30(%esp),%eax
410206:	50                   	push   %eax
410207:	56                   	push   %esi
410208:	51                   	push   %ecx
410209:	68 20 02 00 00       	push   $0x220
41020e:	52                   	push   %edx
41020f:	ff 15 f8 96 43 00    	call   *0x4396f8
410215:	8b f0                	mov    %eax,%esi
410217:	85 f6                	test   %esi,%esi
410219:	0f 85 65 ff ff ff    	jne    0x410184
41021f:	53                   	push   %ebx
410220:	e8 6b c3 ff ff       	call   0x40c590
410225:	8b 44 24 24          	mov    0x24(%esp),%eax
410229:	83 c4 04             	add    $0x4,%esp
41022c:	50                   	push   %eax
41022d:	e8 5e c3 ff ff       	call   0x40c590
410232:	83 c4 04             	add    $0x4,%esp
410235:	5f                   	pop    %edi
410236:	5e                   	pop    %esi
410237:	5d                   	pop    %ebp
410238:	33 c0                	xor    %eax,%eax
41023a:	5b                   	pop    %ebx
41023b:	c3                   	ret
41023c:	90                   	nop
41023d:	90                   	nop
41023e:	90                   	nop
41023f:	90                   	nop
410240:	8b 54 24 08          	mov    0x8(%esp),%edx
410244:	56                   	push   %esi
410245:	8b 74 24 08          	mov    0x8(%esp),%esi
410249:	85 d2                	test   %edx,%edx
41024b:	57                   	push   %edi
41024c:	8b c6                	mov    %esi,%eax
41024e:	8d 4a ff             	lea    -0x1(%edx),%ecx
410251:	74 0d                	je     0x410260
410253:	80 38 00             	cmpb   $0x0,(%eax)
410256:	74 08                	je     0x410260
410258:	40                   	inc    %eax
410259:	8b f9                	mov    %ecx,%edi
41025b:	49                   	dec    %ecx
41025c:	85 ff                	test   %edi,%edi
41025e:	75 f3                	jne    0x410253
410260:	80 38 00             	cmpb   $0x0,(%eax)
410263:	75 05                	jne    0x41026a
410265:	2b c6                	sub    %esi,%eax
410267:	5f                   	pop    %edi
410268:	5e                   	pop    %esi
410269:	c3                   	ret
41026a:	5f                   	pop    %edi
41026b:	5e                   	pop    %esi
41026c:	8b c2                	mov    %edx,%eax
41026e:	c3                   	ret
41026f:	90                   	nop
410270:	55                   	push   %ebp
410271:	8b ec                	mov    %esp,%ebp
410273:	57                   	push   %edi
410274:	56                   	push   %esi
410275:	8b 7d 08             	mov    0x8(%ebp),%edi
410278:	8b d7                	mov    %edi,%edx
41027a:	8b f7                	mov    %edi,%esi
41027c:	33 c0                	xor    %eax,%eax