4041b2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4041b6:	e8 66 ff ff ff       	call   0x404121
4041bb:	8b c8                	mov    %eax,%ecx
4041bd:	e8 97 f8 ff ff       	call   0x403a59
4041c2:	cc                   	int3
4041c3:	56                   	push   %esi
4041c4:	8b f1                	mov    %ecx,%esi
4041c6:	56                   	push   %esi
4041c7:	c7 06 10 97 43 00    	movl   $0x439710,(%esi)
4041cd:	e8 26 93 02 00       	call   0x42d4f8
4041d2:	f6 44 24 0c 01       	testb  $0x1,0xc(%esp)
4041d7:	59                   	pop    %ecx
4041d8:	74 0a                	je     0x4041e4
4041da:	6a 38                	push   $0x38
4041dc:	56                   	push   %esi
4041dd:	e8 0e 28 00 00       	call   0x4069f0
4041e2:	59                   	pop    %ecx
4041e3:	59                   	pop    %ecx
4041e4:	8b c6                	mov    %esi,%eax
4041e6:	5e                   	pop    %esi
4041e7:	c2 04 00             	ret    $0x4
4041ea:	81 ec 28 05 00 00    	sub    $0x528,%esp
4041f0:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4041f5:	33 c4                	xor    %esp,%eax
4041f7:	89 84 24 24 05 00 00 	mov    %eax,0x524(%esp)
4041fe:	8b 84 24 2c 05 00 00 	mov    0x52c(%esp),%eax
404205:	89 44 24 08          	mov    %eax,0x8(%esp)
404209:	8b 84 24 30 05 00 00 	mov    0x530(%esp),%eax
404210:	53                   	push   %ebx
404211:	89 44 24 08          	mov    %eax,0x8(%esp)
404215:	8b 84 24 3c 05 00 00 	mov    0x53c(%esp),%eax
40421c:	55                   	push   %ebp
40421d:	56                   	push   %esi
40421e:	89 44 24 24          	mov    %eax,0x24(%esp)
404222:	8b f1                	mov    %ecx,%esi
404224:	8b 84 24 48 05 00 00 	mov    0x548(%esp),%eax
40422b:	89 54 24 18          	mov    %edx,0x18(%esp)
40422f:	89 44 24 20          	mov    %eax,0x20(%esp)
404233:	57                   	push   %edi
404234:	85 c0                	test   %eax,%eax
404236:	74 03                	je     0x40423b
404238:	83 20 00             	andl   $0x0,(%eax)
40423b:	8b 1a                	mov    (%edx),%ebx
40423d:	8b 03                	mov    (%ebx),%eax
40423f:	89 44 24 10          	mov    %eax,0x10(%esp)
404243:	eb 51                	jmp    0x404296
404245:	8b 78 20             	mov    0x20(%eax),%edi
404248:	83 c0 10             	add    $0x10,%eax
40424b:	85 ff                	test   %edi,%edi
40424d:	0f 84 35 03 00 00    	je     0x404588
404253:	33 c9                	xor    %ecx,%ecx
404255:	85 ff                	test   %edi,%edi
404257:	74 30                	je     0x404289
404259:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
40425d:	72 04                	jb     0x404263
40425f:	8b 10                	mov    (%eax),%edx
404261:	eb 02                	jmp    0x404265
404263:	8b d0                	mov    %eax,%edx
404265:	0f b7 14 4a          	movzwl (%edx,%ecx,2),%edx
404269:	83 fa 20             	cmp    $0x20,%edx
40426c:	0f 82 16 03 00 00    	jb     0x404588
404272:	83 fa 22             	cmp    $0x22,%edx
404275:	0f 84 0d 03 00 00    	je     0x404588
40427b:	83 fa 7f             	cmp    $0x7f,%edx
40427e:	0f 87 04 03 00 00    	ja     0x404588
404284:	41                   	inc    %ecx
404285:	3b cf                	cmp    %edi,%ecx
404287:	72 d0                	jb     0x404259
404289:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40428d:	e8 14 0b 00 00       	call   0x404da6
404292:	8b 44 24 10          	mov    0x10(%esp),%eax
404296:	3b c3                	cmp    %ebx,%eax
404298:	75 ab                	jne    0x404245
40429a:	6a 3c                	push   $0x3c
40429c:	5f                   	pop    %edi
40429d:	57                   	push   %edi
40429e:	33 db                	xor    %ebx,%ebx
4042a0:	8d 44 24 30          	lea    0x30(%esp),%eax
4042a4:	53                   	push   %ebx
4042a5:	50                   	push   %eax
4042a6:	e8 15 71 00 00       	call   0x40b3c0
4042ab:	8d 84 24 c4 00 00 00 	lea    0xc4(%esp),%eax
4042b2:	89 7c 24 38          	mov    %edi,0x38(%esp)
4042b6:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4042ba:	b9 00 01 00 00       	mov    $0x100,%ecx
4042bf:	8d 84 24 3c 01 00 00 	lea    0x13c(%esp),%eax
4042c6:	c7 44 24 40 10 00 00 	movl   $0x10,0x40(%esp)
4042cd:	00
4042ce:	89 44 24 48          	mov    %eax,0x48(%esp)
4042d2:	83 c4 0c             	add    $0xc,%esp
4042d5:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4042d9:	8d 84 24 30 03 00 00 	lea    0x330(%esp),%eax
4042e0:	89 4c 24 40          	mov    %ecx,0x40(%esp)
4042e4:	89 44 24 58          	mov    %eax,0x58(%esp)
4042e8:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
4042ec:	72 04                	jb     0x4042f2
4042ee:	8b 06                	mov    (%esi),%eax
4042f0:	eb 02                	jmp    0x4042f4
4042f2:	8b c6                	mov    %esi,%eax
4042f4:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4042f8:	51                   	push   %ecx
4042f9:	53                   	push   %ebx
4042fa:	ff 76 10             	push   0x10(%esi)
4042fd:	50                   	push   %eax
4042fe:	ff 15 cc 11 43 00    	call   *0x4311cc
404304:	85 c0                	test   %eax,%eax
404306:	0f 84 7c 02 00 00    	je     0x404588
40430c:	6a 04                	push   $0x4
40430e:	b9 88 95 43 00       	mov    $0x439588,%ecx
404313:	8d 84 24 bc 00 00 00 	lea    0xbc(%esp),%eax
40431a:	5e                   	pop    %esi
40431b:	66 8b 10             	mov    (%eax),%dx
40431e:	66 3b 11             	cmp    (%ecx),%dx
404321:	75 1c                	jne    0x40433f
404323:	66 85 d2             	test   %dx,%dx
404326:	74 13                	je     0x40433b
404328:	66 8b 50 02          	mov    0x2(%eax),%dx
40432c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404330:	75 0d                	jne    0x40433f
404332:	03 c6                	add    %esi,%eax
404334:	03 ce                	add    %esi,%ecx
404336:	66 85 d2             	test   %dx,%dx
404339:	75 e0                	jne    0x40431b
40433b:	8b c3                	mov    %ebx,%eax
40433d:	eb 05                	jmp    0x404344
40433f:	1b c0                	sbb    %eax,%eax
404341:	83 c8 01             	or     $0x1,%eax
404344:	85 c0                	test   %eax,%eax
404346:	75 05                	jne    0x40434d
404348:	33 f6                	xor    %esi,%esi
40434a:	46                   	inc    %esi
40434b:	eb 3f                	jmp    0x40438c
40434d:	b9 94 95 43 00       	mov    $0x439594,%ecx
404352:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
404359:	66 8b 10             	mov    (%eax),%dx
40435c:	66 3b 11             	cmp    (%ecx),%dx
40435f:	75 1c                	jne    0x40437d
404361:	66 85 d2             	test   %dx,%dx
404364:	74 13                	je     0x404379
404366:	66 8b 50 02          	mov    0x2(%eax),%dx
40436a:	66 3b 51 02          	cmp    0x2(%ecx),%dx
40436e:	75 0d                	jne    0x40437d
404370:	03 c6                	add    %esi,%eax
404372:	03 ce                	add    %esi,%ecx
404374:	66 85 d2             	test   %dx,%dx
404377:	75 e0                	jne    0x404359
404379:	8b c3                	mov    %ebx,%eax
40437b:	eb 05                	jmp    0x404382
40437d:	1b c0                	sbb    %eax,%eax
40437f:	83 c8 01             	or     $0x1,%eax
404382:	8b f3                	mov    %ebx,%esi
404384:	85 c0                	test   %eax,%eax
404386:	0f 85 fc 01 00 00    	jne    0x404588
40438c:	53                   	push   %ebx
40438d:	53                   	push   %ebx
40438e:	53                   	push   %ebx
40438f:	53                   	push   %ebx
404390:	68 80 93 43 00       	push   $0x439380
404395:	ff 15 c4 11 43 00    	call   *0x4311c4
40439b:	8b f8                	mov    %eax,%edi
40439d:	85 ff                	test   %edi,%edi
40439f:	0f 84 df 01 00 00    	je     0x404584
4043a5:	53                   	push   %ebx
4043a6:	53                   	push   %ebx
4043a7:	6a 03                	push   $0x3
4043a9:	53                   	push   %ebx
4043aa:	53                   	push   %ebx
4043ab:	ff 74 24 58          	push   0x58(%esp)
4043af:	8d 84 24 48 01 00 00 	lea    0x148(%esp),%eax
4043b6:	50                   	push   %eax
4043b7:	57                   	push   %edi
4043b8:	ff 15 e0 11 43 00    	call   *0x4311e0
4043be:	8b 2d e4 11 43 00    	mov    0x4311e4,%ebp
4043c4:	89 44 24 10          	mov    %eax,0x10(%esp)
4043c8:	85 c0                	test   %eax,%eax
4043ca:	0f 84 b1 01 00 00    	je     0x404581
4043d0:	53                   	push   %ebx
4043d1:	c1 e6 17             	shl    $0x17,%esi
4043d4:	8d 8c 24 34 03 00 00 	lea    0x334(%esp),%ecx
4043db:	81 ce 00 00 08 00    	or     $0x80000,%esi
4043e1:	56                   	push   %esi
4043e2:	53                   	push   %ebx
4043e3:	53                   	push   %ebx
4043e4:	53                   	push   %ebx
4043e5:	51                   	push   %ecx
4043e6:	68 a0 95 43 00       	push   $0x4395a0
4043eb:	50                   	push   %eax
4043ec:	ff 15 dc 11 43 00    	call   *0x4311dc
4043f2:	8b f0                	mov    %eax,%esi
4043f4:	85 f6                	test   %esi,%esi
4043f6:	0f 84 7f 01 00 00    	je     0x40457b
4043fc:	e8 2f b0 02 00       	call   0x42f430
404401:	8b d8                	mov    %eax,%ebx
404403:	e8 28 b0 02 00       	call   0x42f430
404408:	50                   	push   %eax
404409:	53                   	push   %ebx
40440a:	68 6c 97 43 00       	push   $0x43976c
40440f:	68 ac 95 43 00       	push   $0x4395ac
404414:	8d 84 24 e8 00 00 00 	lea    0xe8(%esp),%eax
40441b:	6a 2c                	push   $0x2c
40441d:	50                   	push   %eax
40441e:	e8 fa f5 ff ff       	call   0x403a1d
404423:	33 c0                	xor    %eax,%eax
404425:	8d 8c 24 b0 00 00 00 	lea    0xb0(%esp),%ecx
40442c:	83 c4 18             	add    $0x18,%esp
40442f:	66 89 84 24 2e 01 00 	mov    %ax,0x12e(%esp)
404436:	00
404437:	8d 84 24 d8 00 00 00 	lea    0xd8(%esp),%eax
40443e:	50                   	push   %eax
40443f:	e8 ac db ff ff       	call   0x401ff0
404444:	68 c8 95 43 00       	push   $0x4395c8
404449:	8d 8c 24 84 00 00 00 	lea    0x84(%esp),%ecx
404450:	e8 9b db ff ff       	call   0x401ff0
404455:	6a ff                	push   $0xffffffff
404457:	33 db                	xor    %ebx,%ebx
404459:	8d 84 24 9c 00 00 00 	lea    0x9c(%esp),%eax
404460:	53                   	push   %ebx
404461:	50                   	push   %eax
404462:	8d 8c 24 8c 00 00 00 	lea    0x8c(%esp),%ecx
404469:	e8 51 f1 ff ff       	call   0x4035bf
40446e:	83 bc 24 94 00 00 00 	cmpl   $0x8,0x94(%esp)
404475:	08
404476:	8d 84 24 80 00 00 00 	lea    0x80(%esp),%eax
40447d:	68 00 00 00 20       	push   $0x20000000
404482:	0f 43 84 24 84 00 00 	cmovae 0x84(%esp),%eax
404489:	00
40448a:	6a ff                	push   $0xffffffff
40448c:	50                   	push   %eax
40448d:	56                   	push   %esi
40448e:	ff 15 d4 11 43 00    	call   *0x4311d4
404494:	8b 54 24 18          	mov    0x18(%esp),%edx
404498:	8d 44 24 68          	lea    0x68(%esp),%eax
40449c:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4044a0:	50                   	push   %eax
4044a1:	8d 84 24 9c 00 00 00 	lea    0x9c(%esp),%eax
4044a8:	c7 84 24 80 00 00 00 	movl   $0xf,0x80(%esp)
4044af:	0f 00 00 00
4044b3:	50                   	push   %eax
4044b4:	ff 74 24 1c          	push   0x1c(%esp)
4044b8:	89 9c 24 84 00 00 00 	mov    %ebx,0x84(%esp)
4044bf:	88 5c 24 74          	mov    %bl,0x74(%esp)
4044c3:	e8 5f 02 00 00       	call   0x404727
4044c8:	83 c4 0c             	add    $0xc,%esp
4044cb:	84 c0                	test   %al,%al
4044cd:	74 7c                	je     0x40454b
4044cf:	ff 74 24 78          	push   0x78(%esp)
4044d3:	83 bc 24 80 00 00 00 	cmpl   $0x10,0x80(%esp)
4044da:	10
4044db:	8d 44 24 6c          	lea    0x6c(%esp),%eax
4044df:	0f 43 44 24 6c       	cmovae 0x6c(%esp),%eax
4044e4:	50                   	push   %eax
4044e5:	53                   	push   %ebx
4044e6:	53                   	push   %ebx
4044e7:	56                   	push   %esi
4044e8:	ff 15 d0 11 43 00    	call   *0x4311d0
4044ee:	85 c0                	test   %eax,%eax
4044f0:	74 59                	je     0x40454b
4044f2:	53                   	push   %ebx
4044f3:	8d 44 24 24          	lea    0x24(%esp),%eax
4044f7:	c7 44 24 24 08 00 00 	movl   $0x8,0x24(%esp)
4044fe:	00
4044ff:	50                   	push   %eax
404500:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
404507:	50                   	push   %eax
404508:	6a 13                	push   $0x13
40450a:	56                   	push   %esi
40450b:	ff 15 c8 11 43 00    	call   *0x4311c8
404511:	85 c0                	test   %eax,%eax
404513:	74 36                	je     0x40454b
404515:	6a 0a                	push   $0xa
404517:	8d 84 24 b4 00 00 00 	lea    0xb4(%esp),%eax
40451e:	53                   	push   %ebx
40451f:	50                   	push   %eax
404520:	e8 a0 4e 01 00       	call   0x4193c5
404525:	8b 4c 24 30          	mov    0x30(%esp),%ecx
404529:	83 c4 0c             	add    $0xc,%esp
40452c:	85 c9                	test   %ecx,%ecx
40452e:	74 02                	je     0x404532
404530:	89 01                	mov    %eax,(%ecx)
404532:	b9 c8 00 00 00       	mov    $0xc8,%ecx
404537:	3b c1                	cmp    %ecx,%eax
404539:	0f 94 c3             	sete   %bl
40453c:	75 0d                	jne    0x40454b
40453e:	8b 54 24 28          	mov    0x28(%esp),%edx
404542:	8b ce                	mov    %esi,%ecx
404544:	e8 5a 00 00 00       	call   0x4045a3
404549:	8a d8                	mov    %al,%bl
40454b:	6a 00                	push   $0x0
40454d:	6a 01                	push   $0x1
40454f:	8d 4c 24 70          	lea    0x70(%esp),%ecx
404553:	e8 a7 18 00 00       	call   0x405dff
404558:	6a 00                	push   $0x0
40455a:	6a 01                	push   $0x1
40455c:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
404563:	e8 5d db ff ff       	call   0x4020c5
404568:	6a 00                	push   $0x0
40456a:	6a 01                	push   $0x1
40456c:	8d 8c 24 a0 00 00 00 	lea    0xa0(%esp),%ecx
404573:	e8 4d db ff ff       	call   0x4020c5
404578:	56                   	push   %esi
404579:	ff d5                	call   *%ebp
40457b:	ff 74 24 10          	push   0x10(%esp)
40457f:	ff d5                	call   *%ebp
404581:	57                   	push   %edi
404582:	ff d5                	call   *%ebp
404584:	8a c3                	mov    %bl,%al
404586:	eb 02                	jmp    0x40458a
404588:	32 c0                	xor    %al,%al
40458a:	8b 8c 24 34 05 00 00 	mov    0x534(%esp),%ecx
404591:	5f                   	pop    %edi
404592:	5e                   	pop    %esi
404593:	5d                   	pop    %ebp
404594:	5b                   	pop    %ebx
404595:	33 cc                	xor    %esp,%ecx
404597:	e8 0b 57 00 00       	call   0x409ca7
40459c:	81 c4 28 05 00 00    	add    $0x528,%esp
4045a2:	c3                   	ret
4045a3:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
4045a9:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4045ae:	33 c4                	xor    %esp,%eax
4045b0:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
4045b7:	53                   	push   %ebx
4045b8:	55                   	push   %ebp
4045b9:	56                   	push   %esi
4045ba:	33 c0                	xor    %eax,%eax
4045bc:	89 54 24 28          	mov    %edx,0x28(%esp)
4045c0:	57                   	push   %edi
4045c1:	50                   	push   %eax
4045c2:	88 44 24 1b          	mov    %al,0x1b(%esp)
4045c6:	8b d8                	mov    %eax,%ebx
4045c8:	89 44 24 44          	mov    %eax,0x44(%esp)
4045cc:	8b e9                	mov    %ecx,%ebp
4045ce:	88 44 24 34          	mov    %al,0x34(%esp)
4045d2:	8d 44 24 24          	lea    0x24(%esp),%eax
4045d6:	50                   	push   %eax
4045d7:	8d 44 24 68          	lea    0x68(%esp),%eax
4045db:	c7 44 24 28 40 00 00 	movl   $0x40,0x28(%esp)
4045e2:	00
4045e3:	50                   	push   %eax
4045e4:	6a 05                	push   $0x5
4045e6:	55                   	push   %ebp
4045e7:	c7 44 24 58 0f 00 00 	movl   $0xf,0x58(%esp)
4045ee:	00
4045ef:	ff 15 c8 11 43 00    	call   *0x4311c8
4045f5:	85 c0                	test   %eax,%eax
4045f7:	74 21                	je     0x40461a
4045f9:	6a 0a                	push   $0xa
4045fb:	8d 44 24 64          	lea    0x64(%esp),%eax
4045ff:	c6 44 24 1b 01       	movb   $0x1,0x1b(%esp)
404604:	53                   	push   %ebx