405073:	75 0d                	jne    0x405082
405075:	a1 4c aa 46 00       	mov    0x46aa4c,%eax
40507a:	66 83 7c 47 02 3d    	cmpw   $0x3d,0x2(%edi,%eax,2)
405080:	74 02                	je     0x405084
405082:	33 f6                	xor    %esi,%esi
405084:	5f                   	pop    %edi
405085:	8b c6                	mov    %esi,%eax
405087:	5e                   	pop    %esi
405088:	5b                   	pop    %ebx
405089:	5d                   	pop    %ebp
40508a:	c2 04 00             	ret    $0x4
40508d:	55                   	push   %ebp
40508e:	8b ec                	mov    %esp,%ebp
405090:	81 ec 30 06 00 00    	sub    $0x630,%esp
405096:	a1 08 a0 46 00       	mov    0x46a008,%eax
40509b:	33 c5                	xor    %ebp,%eax
40509d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4050a0:	8b 45 08             	mov    0x8(%ebp),%eax
4050a3:	53                   	push   %ebx
4050a4:	56                   	push   %esi
4050a5:	8b 75 10             	mov    0x10(%ebp),%esi
4050a8:	33 db                	xor    %ebx,%ebx
4050aa:	57                   	push   %edi
4050ab:	8b 7d 0c             	mov    0xc(%ebp),%edi
4050ae:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
4050b4:	8b 45 18             	mov    0x18(%ebp),%eax
4050b7:	68 1c 01 00 00       	push   $0x11c
4050bc:	89 85 b8 fe ff ff    	mov    %eax,-0x148(%ebp)
4050c2:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
4050c8:	53                   	push   %ebx
4050c9:	50                   	push   %eax
4050ca:	89 b5 cc fe ff ff    	mov    %esi,-0x134(%ebp)
4050d0:	89 9d bc fe ff ff    	mov    %ebx,-0x144(%ebp)
4050d6:	89 9d c0 fe ff ff    	mov    %ebx,-0x140(%ebp)
4050dc:	89 9d c4 fe ff ff    	mov    %ebx,-0x13c(%ebp)
4050e2:	89 9d c8 fe ff ff    	mov    %ebx,-0x138(%ebp)
4050e8:	e8 83 a5 02 00       	call   0x42f670
4050ed:	68 e8 04 00 00       	push   $0x4e8
4050f2:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
4050f8:	89 9d dc fe ff ff    	mov    %ebx,-0x124(%ebp)
4050fe:	53                   	push   %ebx
4050ff:	50                   	push   %eax
405100:	89 9d d0 fe ff ff    	mov    %ebx,-0x130(%ebp)
405106:	e8 65 a5 02 00       	call   0x42f670
40510b:	83 c4 18             	add    $0x18,%esp
40510e:	53                   	push   %ebx
40510f:	ff 15 ec b0 44 00    	call   *0x44b0ec
405115:	50                   	push   %eax
405116:	e8 d5 b2 03 00       	call   0x4403f0
40511b:	53                   	push   %ebx
40511c:	6a 03                	push   $0x3
40511e:	e8 7f b4 03 00       	call   0x4405a2
405123:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
405129:	50                   	push   %eax
40512a:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
405130:	50                   	push   %eax
405131:	56                   	push   %esi
405132:	e8 d2 c0 ff ff       	call   0x401209
405137:	8b f0                	mov    %eax,%esi
405139:	85 f6                	test   %esi,%esi
40513b:	79 14                	jns    0x405151
40513d:	68 f4 b8 44 00       	push   $0x44b8f4
405142:	56                   	push   %esi
405143:	e8 e7 af 03 00       	call   0x44012f
405148:	59                   	pop    %ecx
405149:	59                   	pop    %ecx
40514a:	8b fb                	mov    %ebx,%edi
40514c:	e9 7b 02 00 00       	jmp    0x4053cc
405151:	57                   	push   %edi
405152:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
405158:	50                   	push   %eax
405159:	e8 74 f0 ff ff       	call   0x4041d2
40515e:	8b f0                	mov    %eax,%esi
405160:	85 f6                	test   %esi,%esi
405162:	79 07                	jns    0x40516b
405164:	68 14 b9 44 00       	push   $0x44b914
405169:	eb d7                	jmp    0x405142
40516b:	8b 45 14             	mov    0x14(%ebp),%eax
40516e:	89 85 fc f9 ff ff    	mov    %eax,-0x604(%ebp)
405174:	e8 ac 03 00 00       	call   0x405525
405179:	6a 00                	push   $0x0
40517b:	6a 00                	push   $0x0
40517d:	ff 15 b0 b3 44 00    	call   *0x44b3b0
405183:	8b f0                	mov    %eax,%esi
405185:	85 f6                	test   %esi,%esi
405187:	79 07                	jns    0x405190
405189:	68 38 b9 44 00       	push   $0x44b938
40518e:	eb b2                	jmp    0x405142
405190:	33 ff                	xor    %edi,%edi
405192:	47                   	inc    %edi
405193:	e8 15 aa 03 00       	call   0x43fbad
405198:	8b f0                	mov    %eax,%esi
40519a:	85 f6                	test   %esi,%esi
40519c:	79 12                	jns    0x4051b0
40519e:	68 54 b9 44 00       	push   $0x44b954
4051a3:	56                   	push   %esi
4051a4:	e8 86 af 03 00       	call   0x44012f
4051a9:	59                   	pop    %ecx
4051aa:	59                   	pop    %ecx
4051ab:	e9 1c 02 00 00       	jmp    0x4053cc
4051b0:	89 bd bc fe ff ff    	mov    %edi,-0x144(%ebp)
4051b6:	e8 16 bb 03 00       	call   0x440cd1
4051bb:	8b f0                	mov    %eax,%esi
4051bd:	85 f6                	test   %esi,%esi
4051bf:	79 07                	jns    0x4051c8
4051c1:	68 74 b9 44 00       	push   $0x44b974
4051c6:	eb db                	jmp    0x4051a3
4051c8:	89 bd c0 fe ff ff    	mov    %edi,-0x140(%ebp)
4051ce:	e8 e0 d7 03 00       	call   0x4429b3
4051d3:	8b f0                	mov    %eax,%esi
4051d5:	85 f6                	test   %esi,%esi
4051d7:	79 07                	jns    0x4051e0
4051d9:	68 94 b9 44 00       	push   $0x44b994
4051de:	eb c3                	jmp    0x4051a3
4051e0:	89 bd c4 fe ff ff    	mov    %edi,-0x13c(%ebp)
4051e6:	e8 50 e2 03 00       	call   0x44343b
4051eb:	8b f0                	mov    %eax,%esi
4051ed:	85 f6                	test   %esi,%esi
4051ef:	79 07                	jns    0x4051f8
4051f1:	68 b4 b9 44 00       	push   $0x44b9b4
4051f6:	eb ab                	jmp    0x4051a3
4051f8:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
4051fe:	89 bd c8 fe ff ff    	mov    %edi,-0x138(%ebp)
405204:	50                   	push   %eax
405205:	c7 85 e0 fe ff ff 1c 	movl   $0x11c,-0x120(%ebp)
40520c:	01 00 00
40520f:	ff 15 a8 b1 44 00    	call   *0x44b1a8
405215:	85 c0                	test   %eax,%eax
405217:	75 38                	jne    0x405251
405219:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40521f:	0f b7 f0             	movzwl %ax,%esi
405222:	81 ce 00 00 07 80    	or     $0x80070000,%esi
405228:	85 c0                	test   %eax,%eax
40522a:	0f 4e f0             	cmovle %eax,%esi
40522d:	b8 05 40 00 80       	mov    $0x80004005,%eax
405232:	85 f6                	test   %esi,%esi
405234:	0f 49 f0             	cmovns %eax,%esi
405237:	56                   	push   %esi
405238:	68 95 00 00 00       	push   $0x95
40523d:	68 d4 b9 44 00       	push   $0x44b9d4
405242:	e8 8c e5 ff ff       	call   0x4037d3
405247:	68 e0 b9 44 00       	push   $0x44b9e0
40524c:	e9 52 ff ff ff       	jmp    0x4051a3
405251:	6a 00                	push   $0x0
405253:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
405259:	50                   	push   %eax
40525a:	e8 78 e1 ff ff       	call   0x4033d7
40525f:	ff b5 dc fe ff ff    	push   -0x124(%ebp)
405265:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
405269:	50                   	push   %eax
40526a:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
405270:	ff b5 e8 fe ff ff    	push   -0x118(%ebp)
405276:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
40527c:	68 f8 b9 44 00       	push   $0x44b9f8
405281:	68 01 00 00 20       	push   $0x20000001
405286:	6a 02                	push   $0x2
405288:	e8 82 02 00 00       	call   0x40550f
40528d:	83 c4 20             	add    $0x20,%esp
405290:	39 9d dc fe ff ff    	cmp    %ebx,-0x124(%ebp)
405296:	74 11                	je     0x4052a9
405298:	ff b5 dc fe ff ff    	push   -0x124(%ebp)
40529e:	e8 4c 02 04 00       	call   0x4454ef
4052a3:	21 9d dc fe ff ff    	and    %ebx,-0x124(%ebp)
4052a9:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
4052af:	50                   	push   %eax
4052b0:	e8 82 20 01 00       	call   0x417337
4052b5:	8b f0                	mov    %eax,%esi
4052b7:	85 f6                	test   %esi,%esi
4052b9:	79 0a                	jns    0x4052c5
4052bb:	68 04 ba 44 00       	push   $0x44ba04
4052c0:	e9 de fe ff ff       	jmp    0x4051a3
4052c5:	8b 85 60 fe ff ff    	mov    -0x1a0(%ebp),%eax
4052cb:	83 e8 00             	sub    $0x0,%eax
4052ce:	0f 84 c2 00 00 00    	je     0x405396
4052d4:	83 e8 01             	sub    $0x1,%eax
4052d7:	0f 84 91 00 00 00    	je     0x40536e
4052dd:	83 e8 01             	sub    $0x1,%eax
4052e0:	74 64                	je     0x405346
4052e2:	83 e8 01             	sub    $0x1,%eax
4052e5:	74 37                	je     0x40531e
4052e7:	83 e8 01             	sub    $0x1,%eax
4052ea:	74 0f                	je     0x4052fb
4052ec:	be ff ff 00 80       	mov    $0x8000ffff,%esi
4052f1:	68 bc ba 44 00       	push   $0x44babc
4052f6:	e9 a8 fe ff ff       	jmp    0x4051a3
4052fb:	ff 75 14             	push   0x14(%ebp)
4052fe:	8d 85 d0 fa ff ff    	lea    -0x530(%ebp),%eax
405304:	50                   	push   %eax
405305:	e8 76 f8 ff ff       	call   0x404b80
40530a:	8b f0                	mov    %eax,%esi
40530c:	85 f6                	test   %esi,%esi
40530e:	0f 89 a4 00 00 00    	jns    0x4053b8
405314:	68 a0 ba 44 00       	push   $0x44baa0
405319:	e9 85 fe ff ff       	jmp    0x4051a3
40531e:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
405324:	89 bd d0 fe ff ff    	mov    %edi,-0x130(%ebp)
40532a:	50                   	push   %eax
40532b:	ff b5 d4 fe ff ff    	push   -0x12c(%ebp)
405331:	e8 4c f6 ff ff       	call   0x404982
405336:	8b f0                	mov    %eax,%esi
405338:	85 f6                	test   %esi,%esi
40533a:	79 7c                	jns    0x4053b8
40533c:	68 80 ba 44 00       	push   $0x44ba80
405341:	e9 5d fe ff ff       	jmp    0x4051a3
405346:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
40534c:	50                   	push   %eax
40534d:	ff b5 cc fe ff ff    	push   -0x134(%ebp)
405353:	ff b5 d4 fe ff ff    	push   -0x12c(%ebp)
405359:	e8 8b f4 ff ff       	call   0x4047e9
40535e:	8b f0                	mov    %eax,%esi
405360:	85 f6                	test   %esi,%esi
405362:	79 54                	jns    0x4053b8
405364:	68 60 ba 44 00       	push   $0x44ba60
405369:	e9 35 fe ff ff       	jmp    0x4051a3
40536e:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
405374:	89 bd d0 fe ff ff    	mov    %edi,-0x130(%ebp)
40537a:	50                   	push   %eax
40537b:	ff b5 d4 fe ff ff    	push   -0x12c(%ebp)
405381:	e8 59 f6 ff ff       	call   0x4049df
405386:	8b f0                	mov    %eax,%esi
405388:	85 f6                	test   %esi,%esi
40538a:	79 2c                	jns    0x4053b8
40538c:	68 40 ba 44 00       	push   $0x44ba40
405391:	e9 0d fe ff ff       	jmp    0x4051a3
405396:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
40539c:	50                   	push   %eax
40539d:	ff b5 cc fe ff ff    	push   -0x134(%ebp)
4053a3:	e8 8b f8 ff ff       	call   0x404c33
4053a8:	8b f0                	mov    %eax,%esi
4053aa:	85 f6                	test   %esi,%esi
4053ac:	79 0a                	jns    0x4053b8
4053ae:	68 20 ba 44 00       	push   $0x44ba20
4053b3:	e9 eb fd ff ff       	jmp    0x4051a3
4053b8:	8b 8d b8 fe ff ff    	mov    -0x148(%ebp),%ecx
4053be:	8b 85 c8 fa ff ff    	mov    -0x538(%ebp),%eax
4053c4:	8b 9d e8 f9 ff ff    	mov    -0x618(%ebp),%ebx
4053ca:	89 01                	mov    %eax,(%ecx)
4053cc:	83 bd dc fe ff ff 00 	cmpl   $0x0,-0x124(%ebp)
4053d3:	74 0b                	je     0x4053e0
4053d5:	ff b5 dc fe ff ff    	push   -0x124(%ebp)
4053db:	e8 0f 01 04 00       	call   0x4454ef
4053e0:	85 f6                	test   %esi,%esi
4053e2:	79 23                	jns    0x405407
4053e4:	83 bd c4 fd ff ff 00 	cmpl   $0x0,-0x23c(%ebp)
4053eb:	75 1a                	jne    0x405407
4053ed:	33 c0                	xor    %eax,%eax
4053ef:	50                   	push   %eax
4053f0:	50                   	push   %eax
4053f1:	50                   	push   %eax
4053f2:	68 d0 ba 44 00       	push   $0x44bad0
4053f7:	68 d8 ba 44 00       	push   $0x44bad8
4053fc:	68 e8 ba 44 00       	push   $0x44bae8
405401:	50                   	push   %eax
405402:	e8 14 b0 03 00       	call   0x44041b
405407:	8d 85 88 fa ff ff    	lea    -0x578(%ebp),%eax
40540d:	50                   	push   %eax
40540e:	e8 10 83 00 00       	call   0x40d723
405413:	ff b5 e0 fa ff ff    	push   -0x520(%ebp)
405419:	e8 b2 52 01 00       	call   0x41a6d0
40541e:	e8 fb 54 01 00       	call   0x41a91e
405423:	85 db                	test   %ebx,%ebx
405425:	74 2c                	je     0x405453
405427:	8b 85 08 fa ff ff    	mov    -0x5f8(%ebp),%eax
40542d:	85 c0                	test   %eax,%eax
40542f:	74 22                	je     0x405453
405431:	83 f8 06             	cmp    $0x6,%eax
405434:	74 1d                	je     0x405453
405436:	50                   	push   %eax
405437:	e8 2e ed 00 00       	call   0x41416a
40543c:	50                   	push   %eax
40543d:	68 08 00 00 a0       	push   $0xa0000008
405442:	6a 02                	push   $0x2
405444:	e8 c6 00 00 00       	call   0x40550f
405449:	83 c4 0c             	add    $0xc,%esp
40544c:	be c2 0b 07 80       	mov    $0x80070bc2,%esi
405451:	33 db                	xor    %ebx,%ebx
405453:	8d 85 d0 f9 ff ff    	lea    -0x630(%ebp),%eax
405459:	50                   	push   %eax
40545a:	e8 3d fa ff ff       	call   0x404e9c
40545f:	83 bd c8 fe ff ff 00 	cmpl   $0x0,-0x138(%ebp)
405466:	74 05                	je     0x40546d
405468:	e8 a4 e4 03 00       	call   0x443911
40546d:	83 bd c4 fe ff ff 00 	cmpl   $0x0,-0x13c(%ebp)
405474:	74 05                	je     0x40547b
405476:	e8 55 d9 03 00       	call   0x442dd0
40547b:	83 bd c0 fe ff ff 00 	cmpl   $0x0,-0x140(%ebp)
405482:	74 05                	je     0x405489
405484:	e8 8e be 03 00       	call   0x441317
405489:	83 bd bc fe ff ff 00 	cmpl   $0x0,-0x144(%ebp)
405490:	74 05                	je     0x405497
405492:	e8 25 a8 03 00       	call   0x43fcbc
405497:	85 ff                	test   %edi,%edi
405499:	74 06                	je     0x4054a1
40549b:	ff 15 ac b3 44 00    	call   *0x44b3ac
4054a1:	83 bd d0 fe ff ff 00 	cmpl   $0x0,-0x130(%ebp)
4054a8:	74 39                	je     0x4054e3
4054aa:	85 f6                	test   %esi,%esi
4054ac:	79 04                	jns    0x4054b2
4054ae:	8b fe                	mov    %esi,%edi
4054b0:	eb 08                	jmp    0x4054ba
4054b2:	8b 85 b8 fe ff ff    	mov    -0x148(%ebp),%eax
4054b8:	8b 38                	mov    (%eax),%edi
4054ba:	53                   	push   %ebx
4054bb:	e8 70 e7 00 00       	call   0x413c30
4054c0:	50                   	push   %eax
4054c1:	57                   	push   %edi
4054c2:	68 07 00 00 20       	push   $0x20000007
4054c7:	6a 02                	push   $0x2
4054c9:	e8 41 00 00 00       	call   0x40550f
4054ce:	83 c4 10             	add    $0x10,%esp
4054d1:	85 db                	test   %ebx,%ebx
4054d3:	74 0e                	je     0x4054e3
4054d5:	68 05 00 00 a0       	push   $0xa0000005
4054da:	6a 02                	push   $0x2
4054dc:	e8 2e 00 00 00       	call   0x40550f
4054e1:	59                   	pop    %ecx
4054e2:	59                   	pop    %ecx
4054e3:	6a 00                	push   $0x0
4054e5:	e8 21 ab 03 00       	call   0x44000b
4054ea:	85 db                	test   %ebx,%ebx
4054ec:	74 05                	je     0x4054f3
4054ee:	e8 f6 ef ff ff       	call   0x4044e9
4054f3:	6a 00                	push   $0x0
4054f5:	e8 fb b1 03 00       	call   0x4406f5
4054fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4054fd:	8b c6                	mov    %esi,%eax
4054ff:	5f                   	pop    %edi
405500:	5e                   	pop    %esi
405501:	33 cd                	xor    %ebp,%ecx
405503:	5b                   	pop    %ebx
405504:	e8 2d 89 02 00       	call   0x42de36
405509:	8b e5                	mov    %ebp,%esp
40550b:	5d                   	pop    %ebp
40550c:	c2 14 00             	ret    $0x14
40550f:	55                   	push   %ebp
405510:	8b ec                	mov    %esp,%ebp
405512:	8d 45 10             	lea    0x10(%ebp),%eax
405515:	50                   	push   %eax
405516:	6a 00                	push   $0x0
405518:	ff 75 0c             	push   0xc(%ebp)
40551b:	ff 75 08             	push   0x8(%ebp)
40551e:	e8 95 ae 03 00       	call   0x4403b8
405523:	5d                   	pop    %ebp
405524:	c3                   	ret
405525:	a1 14 b0 44 00       	mov    0x44b014,%eax
40552a:	a3 5c aa 46 00       	mov    %eax,0x46aa5c
40552f:	c3                   	ret
405530:	55                   	push   %ebp
405531:	8b ec                	mov    %esp,%ebp
405533:	51                   	push   %ecx