403305:	89 b5 7c f1 ff ff    	mov    %esi,-0xe84(%ebp)
40330b:	e8 c1 3b 00 00       	call   0x406ed1
403310:	83 c4 0c             	add    $0xc,%esp
403313:	c7 85 e0 f9 ff ff 1c 	movl   $0x61c,-0x620(%ebp)
40331a:	06 00 00
40331d:	8d 85 e0 f9 ff ff    	lea    -0x620(%ebp),%eax
403323:	8b d7                	mov    %edi,%edx
403325:	8b ce                	mov    %esi,%ecx
403327:	50                   	push   %eax
403328:	e8 67 fb ff ff       	call   0x402e94
40332d:	85 c0                	test   %eax,%eax
40332f:	75 25                	jne    0x403356
403331:	33 ff                	xor    %edi,%edi
403333:	47                   	inc    %edi
403334:	8b cf                	mov    %edi,%ecx
403336:	e8 37 e7 ff ff       	call   0x401a72
40333b:	68 f3 ed 00 00       	push   $0xedf3
403340:	57                   	push   %edi
403341:	e8 33 3b 00 00       	call   0x406e79
403346:	59                   	pop    %ecx
403347:	50                   	push   %eax
403348:	e8 90 e6 ff ff       	call   0x4019dd
40334d:	59                   	pop    %ecx
40334e:	59                   	pop    %ecx
40334f:	33 c0                	xor    %eax,%eax
403351:	e9 ce 01 00 00       	jmp    0x403524
403356:	53                   	push   %ebx
403357:	b8 22 06 00 00       	mov    $0x622,%eax
40335c:	50                   	push   %eax
40335d:	89 85 bc f3 ff ff    	mov    %eax,-0xc44(%ebp)
403363:	8d 85 bc f3 ff ff    	lea    -0xc44(%ebp),%eax
403369:	50                   	push   %eax
40336a:	8d 85 e0 f9 ff ff    	lea    -0x620(%ebp),%eax
403370:	50                   	push   %eax
403371:	57                   	push   %edi
403372:	56                   	push   %esi
403373:	ff 15 f8 80 40 00    	call   *0x4080f8
403379:	33 ff                	xor    %edi,%edi
40337b:	47                   	inc    %edi
40337c:	85 c0                	test   %eax,%eax
40337e:	75 0f                	jne    0x40338f
403380:	ff 15 38 80 40 00    	call   *0x408038
403386:	83 f8 7a             	cmp    $0x7a,%eax
403389:	0f 85 54 01 00 00    	jne    0x4034e3
40338f:	66 39 9d d4 f5 ff ff 	cmp    %bx,-0xa2c(%ebp)
403396:	0f 84 47 01 00 00    	je     0x4034e3
40339c:	66 39 9d d4 f3 ff ff 	cmp    %bx,-0xc2c(%ebp)
4033a3:	0f 84 3a 01 00 00    	je     0x4034e3
4033a9:	8d 85 e0 f9 ff ff    	lea    -0x620(%ebp),%eax
4033af:	50                   	push   %eax
4033b0:	ff b5 8c f1 ff ff    	push   -0xe74(%ebp)
4033b6:	56                   	push   %esi
4033b7:	ff 15 50 81 40 00    	call   *0x408150
4033bd:	85 c0                	test   %eax,%eax
4033bf:	0f 84 1e 01 00 00    	je     0x4034e3
4033c5:	ff 15 28 81 40 00    	call   *0x408128
4033cb:	89 85 88 f1 ff ff    	mov    %eax,-0xe78(%ebp)
4033d1:	83 f8 ff             	cmp    $0xffffffff,%eax
4033d4:	0f 84 09 01 00 00    	je     0x4034e3
4033da:	68 28 02 00 00       	push   $0x228
4033df:	8d 85 94 f1 ff ff    	lea    -0xe6c(%ebp),%eax
4033e5:	53                   	push   %ebx
4033e6:	50                   	push   %eax
4033e7:	e8 e5 3a 00 00       	call   0x406ed1
4033ec:	83 c4 0c             	add    $0xc,%esp
4033ef:	c7 85 90 f1 ff ff 2c 	movl   $0x22c,-0xe70(%ebp)
4033f6:	02 00 00
4033f9:	8d 85 90 f1 ff ff    	lea    -0xe70(%ebp),%eax
4033ff:	50                   	push   %eax
403400:	ff b5 8c f1 ff ff    	push   -0xe74(%ebp)
403406:	56                   	push   %esi
403407:	ff 15 48 81 40 00    	call   *0x408148
40340d:	85 c0                	test   %eax,%eax
40340f:	0f 84 ce 00 00 00    	je     0x4034e3
403415:	8b 85 88 f1 ff ff    	mov    -0xe78(%ebp),%eax
40341b:	83 8d 94 f1 ff ff 08 	orl    $0x8,-0xe6c(%ebp)
403422:	89 85 a8 f1 ff ff    	mov    %eax,-0xe58(%ebp)
403428:	8d 85 90 f1 ff ff    	lea    -0xe70(%ebp),%eax
40342e:	50                   	push   %eax
40342f:	ff b5 8c f1 ff ff    	push   -0xe74(%ebp)
403435:	56                   	push   %esi
403436:	ff 15 dc 80 40 00    	call   *0x4080dc
40343c:	85 c0                	test   %eax,%eax
40343e:	0f 84 9f 00 00 00    	je     0x4034e3
403444:	ff b5 8c f1 ff ff    	push   -0xe74(%ebp)
40344a:	56                   	push   %esi
40344b:	6a 15                	push   $0x15
40344d:	ff 15 e8 80 40 00    	call   *0x4080e8
403453:	85 c0                	test   %eax,%eax
403455:	0f 84 88 00 00 00    	je     0x4034e3
40345b:	8d 85 80 f1 ff ff    	lea    -0xe80(%ebp),%eax
403461:	89 9d 84 f1 ff ff    	mov    %ebx,-0xe7c(%ebp)
403467:	50                   	push   %eax
403468:	8d 85 84 f1 ff ff    	lea    -0xe7c(%ebp),%eax
40346e:	89 9d 80 f1 ff ff    	mov    %ebx,-0xe80(%ebp)
403474:	50                   	push   %eax
403475:	68 60 2e 40 00       	push   $0x402e60
40347a:	53                   	push   %ebx
40347b:	6a 04                	push   $0x4
40347d:	ff b5 88 f1 ff ff    	push   -0xe78(%ebp)
403483:	ff 15 20 81 40 00    	call   *0x408120
403489:	8b cf                	mov    %edi,%ecx
40348b:	e8 e2 e5 ff ff       	call   0x401a72
403490:	8b b5 84 f1 ff ff    	mov    -0xe7c(%ebp),%esi
403496:	57                   	push   %edi
403497:	e8 dd 39 00 00       	call   0x406e79
40349c:	8d 8d d4 f3 ff ff    	lea    -0xc2c(%ebp),%ecx
4034a2:	51                   	push   %ecx
4034a3:	8d 8d d4 f5 ff ff    	lea    -0xa2c(%ebp),%ecx
4034a9:	51                   	push   %ecx
4034aa:	56                   	push   %esi
4034ab:	f7 de                	neg    %esi
4034ad:	1b f6                	sbb    %esi,%esi
4034af:	81 c6 f2 ed 00 00    	add    $0xedf2,%esi
4034b5:	56                   	push   %esi
4034b6:	50                   	push   %eax
4034b7:	e8 21 e5 ff ff       	call   0x4019dd
4034bc:	83 c4 18             	add    $0x18,%esp
4034bf:	8d 85 80 f1 ff ff    	lea    -0xe80(%ebp),%eax
4034c5:	50                   	push   %eax
4034c6:	53                   	push   %ebx
4034c7:	68 60 2e 40 00       	push   $0x402e60
4034cc:	53                   	push   %ebx
4034cd:	6a 04                	push   $0x4
4034cf:	ff b5 88 f1 ff ff    	push   -0xe78(%ebp)
4034d5:	ff 15 20 81 40 00    	call   *0x408120
4034db:	8b b5 7c f1 ff ff    	mov    -0xe84(%ebp),%esi
4034e1:	8b df                	mov    %edi,%ebx
4034e3:	57                   	push   %edi
4034e4:	ff b5 8c f1 ff ff    	push   -0xe74(%ebp)
4034ea:	56                   	push   %esi
4034eb:	ff 15 40 81 40 00    	call   *0x408140
4034f1:	8b 85 88 f1 ff ff    	mov    -0xe78(%ebp),%eax
4034f7:	83 f8 ff             	cmp    $0xffffffff,%eax
4034fa:	74 07                	je     0x403503
4034fc:	50                   	push   %eax
4034fd:	ff 15 44 81 40 00    	call   *0x408144
403503:	85 db                	test   %ebx,%ebx
403505:	75 1b                	jne    0x403522
403507:	8b cf                	mov    %edi,%ecx
403509:	e8 64 e5 ff ff       	call   0x401a72
40350e:	68 f3 ed 00 00       	push   $0xedf3
403513:	57                   	push   %edi
403514:	e8 60 39 00 00       	call   0x406e79
403519:	59                   	pop    %ecx
40351a:	50                   	push   %eax
40351b:	e8 bd e4 ff ff       	call   0x4019dd
403520:	59                   	pop    %ecx
403521:	59                   	pop    %ecx
403522:	8b c3                	mov    %ebx,%eax
403524:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403527:	5f                   	pop    %edi
403528:	5e                   	pop    %esi
403529:	33 cd                	xor    %ebp,%ecx
40352b:	5b                   	pop    %ebx
40352c:	e8 af 33 00 00       	call   0x4068e0
403531:	c9                   	leave
403532:	c3                   	ret
403533:	cc                   	int3
403534:	cc                   	int3
403535:	cc                   	int3
403536:	cc                   	int3
403537:	cc                   	int3
403538:	cc                   	int3
403539:	8b ff                	mov    %edi,%edi
40353b:	56                   	push   %esi
40353c:	8b f2                	mov    %edx,%esi
40353e:	57                   	push   %edi
40353f:	8b f9                	mov    %ecx,%edi
403541:	85 f6                	test   %esi,%esi
403543:	74 28                	je     0x40356d
403545:	83 3e 00             	cmpl   $0x0,(%esi)
403548:	74 23                	je     0x40356d
40354a:	8b cf                	mov    %edi,%ecx
40354c:	e8 21 e5 ff ff       	call   0x401a72
403551:	ff 36                	push   (%esi)
403553:	68 d4 11 40 00       	push   $0x4011d4
403558:	ff 15 bc 81 40 00    	call   *0x4081bc
40355e:	8d 76 04             	lea    0x4(%esi),%esi
403561:	83 3e 00             	cmpl   $0x0,(%esi)
403564:	59                   	pop    %ecx
403565:	59                   	pop    %ecx
403566:	75 e2                	jne    0x40354a
403568:	33 c0                	xor    %eax,%eax
40356a:	40                   	inc    %eax
40356b:	eb 02                	jmp    0x40356f
40356d:	33 c0                	xor    %eax,%eax
40356f:	5f                   	pop    %edi
403570:	5e                   	pop    %esi
403571:	c3                   	ret
403572:	cc                   	int3
403573:	cc                   	int3
403574:	cc                   	int3
403575:	cc                   	int3
403576:	cc                   	int3
403577:	cc                   	int3
403578:	8b ff                	mov    %edi,%edi
40357a:	53                   	push   %ebx
40357b:	56                   	push   %esi
40357c:	57                   	push   %edi
40357d:	6a 01                	push   $0x1
40357f:	8b f2                	mov    %edx,%esi
403581:	8b f9                	mov    %ecx,%edi
403583:	e8 26 e8 ff ff       	call   0x401dae
403588:	6a 02                	push   $0x2
40358a:	8b d6                	mov    %esi,%edx
40358c:	8b cf                	mov    %edi,%ecx
40358e:	8b d8                	mov    %eax,%ebx
403590:	e8 19 e8 ff ff       	call   0x401dae
403595:	33 ff                	xor    %edi,%edi
403597:	8b f0                	mov    %eax,%esi
403599:	85 db                	test   %ebx,%ebx
40359b:	74 2c                	je     0x4035c9
40359d:	39 3b                	cmp    %edi,(%ebx)
40359f:	74 28                	je     0x4035c9
4035a1:	33 c9                	xor    %ecx,%ecx
4035a3:	47                   	inc    %edi
4035a4:	41                   	inc    %ecx
4035a5:	e8 c8 e4 ff ff       	call   0x401a72
4035aa:	68 f4 ed 00 00       	push   $0xedf4
4035af:	6a 01                	push   $0x1
4035b1:	e8 c3 38 00 00       	call   0x406e79
4035b6:	59                   	pop    %ecx
4035b7:	50                   	push   %eax
4035b8:	e8 20 e4 ff ff       	call   0x4019dd
4035bd:	59                   	pop    %ecx
4035be:	59                   	pop    %ecx
4035bf:	6a 02                	push   $0x2
4035c1:	8b d3                	mov    %ebx,%edx
4035c3:	59                   	pop    %ecx
4035c4:	e8 70 ff ff ff       	call   0x403539
4035c9:	85 f6                	test   %esi,%esi
4035cb:	74 2e                	je     0x4035fb
4035cd:	83 3e 00             	cmpl   $0x0,(%esi)
4035d0:	74 29                	je     0x4035fb
4035d2:	33 c9                	xor    %ecx,%ecx
4035d4:	41                   	inc    %ecx
4035d5:	e8 98 e4 ff ff       	call   0x401a72
4035da:	68 f5 ed 00 00       	push   $0xedf5
4035df:	6a 01                	push   $0x1
4035e1:	e8 93 38 00 00       	call   0x406e79
4035e6:	59                   	pop    %ecx
4035e7:	50                   	push   %eax
4035e8:	e8 f0 e3 ff ff       	call   0x4019dd
4035ed:	59                   	pop    %ecx
4035ee:	59                   	pop    %ecx
4035ef:	6a 02                	push   $0x2
4035f1:	8b d6                	mov    %esi,%edx
4035f3:	59                   	pop    %ecx
4035f4:	e8 40 ff ff ff       	call   0x403539
4035f9:	eb 21                	jmp    0x40361c
4035fb:	85 ff                	test   %edi,%edi
4035fd:	75 1d                	jne    0x40361c
4035ff:	33 c9                	xor    %ecx,%ecx
403601:	41                   	inc    %ecx
403602:	e8 6b e4 ff ff       	call   0x401a72
403607:	68 f6 ed 00 00       	push   $0xedf6
40360c:	6a 01                	push   $0x1
40360e:	e8 66 38 00 00       	call   0x406e79
403613:	59                   	pop    %ecx
403614:	50                   	push   %eax
403615:	e8 c3 e3 ff ff       	call   0x4019dd
40361a:	59                   	pop    %ecx
40361b:	59                   	pop    %ecx
40361c:	8b cb                	mov    %ebx,%ecx
40361e:	e8 63 e7 ff ff       	call   0x401d86
403623:	8b ce                	mov    %esi,%ecx
403625:	e8 5c e7 ff ff       	call   0x401d86
40362a:	5f                   	pop    %edi
40362b:	33 c0                	xor    %eax,%eax
40362d:	5e                   	pop    %esi
40362e:	40                   	inc    %eax
40362f:	5b                   	pop    %ebx
403630:	c3                   	ret
403631:	cc                   	int3
403632:	cc                   	int3
403633:	cc                   	int3
403634:	cc                   	int3
403635:	cc                   	int3
403636:	cc                   	int3
403637:	8b ff                	mov    %edi,%edi
403639:	55                   	push   %ebp
40363a:	8b ec                	mov    %esp,%ebp
40363c:	83 e4 f8             	and    $0xfffffff8,%esp
40363f:	b8 bc 10 00 00       	mov    $0x10bc,%eax
403644:	e8 57 38 00 00       	call   0x406ea0
403649:	a1 b4 71 40 00       	mov    0x4071b4,%eax
40364e:	33 c4                	xor    %esp,%eax
403650:	89 84 24 b8 10 00 00 	mov    %eax,0x10b8(%esp)
403657:	53                   	push   %ebx
403658:	56                   	push   %esi
403659:	57                   	push   %edi
40365a:	68 28 02 00 00       	push   $0x228
40365f:	33 ff                	xor    %edi,%edi
403661:	8d 44 24 48          	lea    0x48(%esp),%eax
403665:	8b f2                	mov    %edx,%esi
403667:	8b d9                	mov    %ecx,%ebx
403669:	57                   	push   %edi
40366a:	50                   	push   %eax
40366b:	89 74 24 24          	mov    %esi,0x24(%esp)
40366f:	e8 5d 38 00 00       	call   0x406ed1
403674:	68 18 06 00 00       	push   $0x618
403679:	8d 84 24 84 02 00 00 	lea    0x284(%esp),%eax
403680:	57                   	push   %edi
403681:	50                   	push   %eax
403682:	e8 4a 38 00 00       	call   0x406ed1
403687:	83 c4 18             	add    $0x18,%esp
40368a:	c7 84 24 70 02 00 00 	movl   $0x61c,0x270(%esp)
403691:	1c 06 00 00
403695:	8d 44 24 40          	lea    0x40(%esp),%eax
403699:	c7 44 24 40 2c 02 00 	movl   $0x22c,0x40(%esp)
4036a0:	00
4036a1:	50                   	push   %eax
4036a2:	56                   	push   %esi
4036a3:	53                   	push   %ebx
4036a4:	ff 15 48 81 40 00    	call   *0x408148
4036aa:	85 c0                	test   %eax,%eax
4036ac:	0f 84 76 03 00 00    	je     0x403a28
4036b2:	81 4c 24 48 00 08 00 	orl    $0x800,0x48(%esp)
4036b9:	00
4036ba:	8d 44 24 40          	lea    0x40(%esp),%eax
4036be:	50                   	push   %eax
4036bf:	56                   	push   %esi
4036c0:	53                   	push   %ebx
4036c1:	ff 15 dc 80 40 00    	call   *0x4080dc
4036c7:	85 c0                	test   %eax,%eax
4036c9:	0f 84 59 03 00 00    	je     0x403a28
4036cf:	6a 02                	push   $0x2
4036d1:	56                   	push   %esi
4036d2:	53                   	push   %ebx
4036d3:	ff 15 f0 80 40 00    	call   *0x4080f0
4036d9:	85 c0                	test   %eax,%eax
4036db:	0f 84 26 03 00 00    	je     0x403a07
4036e1:	21 7c 24 10          	and    %edi,0x10(%esp)
4036e5:	8d 84 24 70 02 00 00 	lea    0x270(%esp),%eax
4036ec:	50                   	push   %eax
4036ed:	57                   	push   %edi
4036ee:	6a 02                	push   $0x2
4036f0:	56                   	push   %esi
4036f1:	53                   	push   %ebx
4036f2:	ff 15 4c 81 40 00    	call   *0x40814c
4036f8:	85 c0                	test   %eax,%eax
4036fa:	0f 84 f9 02 00 00    	je     0x4039f9
403700:	47                   	inc    %edi
403701:	89 7c 24 14          	mov    %edi,0x14(%esp)
403705:	ff 74 24 10          	push   0x10(%esp)
403709:	68 f8 ed 00 00       	push   $0xedf8
40370e:	57                   	push   %edi
40370f:	e8 65 37 00 00       	call   0x406e79
403714:	59                   	pop    %ecx