4184ae:	68 a0 34 40 00       	push   $0x4034a0
4184b3:	ff 15 74 23 45 00    	call   *0x452374
4184b9:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
4184bf:	83 c4 0c             	add    $0xc,%esp
4184c2:	01 86 90 00 00 00    	add    %eax,0x90(%esi)
4184c8:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
4184ce:	c7 46 7c 00 00 00 00 	movl   $0x0,0x7c(%esi)
4184d5:	c7 86 80 00 00 00 00 	movl   $0x0,0x80(%esi)
4184dc:	00 00 00
4184df:	85 c0                	test   %eax,%eax
4184e1:	0f 84 80 00 00 00    	je     0x418567
4184e7:	79 25                	jns    0x41850e
4184e9:	f7 d8                	neg    %eax
4184eb:	50                   	push   %eax
4184ec:	ff b6 84 00 00 00    	push   0x84(%esi)
4184f2:	68 00 34 40 00       	push   $0x403400
4184f7:	ff 15 74 23 45 00    	call   *0x452374
4184fd:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
418503:	83 c4 0c             	add    $0xc,%esp
418506:	29 86 94 00 00 00    	sub    %eax,0x94(%esi)
41850c:	eb 3b                	jmp    0x418549
41850e:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
418512:	74 2f                	je     0x418543
418514:	83 be 88 00 00 00 05 	cmpl   $0x5,0x88(%esi)
41851b:	b9 e8 34 40 00       	mov    $0x4034e8,%ecx
418520:	74 05                	je     0x418527
418522:	b9 f0 34 40 00       	mov    $0x4034f0,%ecx
418527:	50                   	push   %eax
418528:	ff b6 84 00 00 00    	push   0x84(%esi)
41852e:	51                   	push   %ecx
41852f:	68 00 35 40 00       	push   $0x403500
418534:	ff 15 74 23 45 00    	call   *0x452374
41853a:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
418540:	83 c4 10             	add    $0x10,%esp
418543:	01 86 90 00 00 00    	add    %eax,0x90(%esi)
418549:	c7 86 84 00 00 00 00 	movl   $0x0,0x84(%esi)
418550:	00 00 00
418553:	c7 86 88 00 00 00 00 	movl   $0x0,0x88(%esi)
41855a:	00 00 00
41855d:	c7 86 8c 00 00 00 00 	movl   $0x0,0x8c(%esi)
418564:	00 00 00
418567:	8b 47 0c             	mov    0xc(%edi),%eax
41856a:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
418570:	89 46 7c             	mov    %eax,0x7c(%esi)
418573:	8b 47 10             	mov    0x10(%edi),%eax
418576:	8b 48 18             	mov    0x18(%eax),%ecx
418579:	89 8e 80 00 00 00    	mov    %ecx,0x80(%esi)
41857f:	8b 47 10             	mov    0x10(%edi),%eax
418582:	2b 48 1c             	sub    0x1c(%eax),%ecx
418585:	89 8e 80 00 00 00    	mov    %ecx,0x80(%esi)
41858b:	8b 47 14             	mov    0x14(%edi),%eax
41858e:	2b 48 08             	sub    0x8(%eax),%ecx
418591:	89 8e 80 00 00 00    	mov    %ecx,0x80(%esi)
418597:	8b 47 14             	mov    0x14(%edi),%eax
41859a:	2b 48 0c             	sub    0xc(%eax),%ecx
41859d:	89 8e 80 00 00 00    	mov    %ecx,0x80(%esi)
4185a3:	eb 26                	jmp    0x4185cb
4185a5:	8b 47 08             	mov    0x8(%edi),%eax
4185a8:	85 c0                	test   %eax,%eax
4185aa:	74 15                	je     0x4185c1
4185ac:	8b 40 0c             	mov    0xc(%eax),%eax
4185af:	83 78 04 04          	cmpl   $0x4,0x4(%eax)
4185b3:	75 0c                	jne    0x4185c1
4185b5:	8b 47 10             	mov    0x10(%edi),%eax
4185b8:	8b 40 18             	mov    0x18(%eax),%eax
4185bb:	29 86 80 00 00 00    	sub    %eax,0x80(%esi)
4185c1:	83 fb 05             	cmp    $0x5,%ebx
4185c4:	74 37                	je     0x4185fd
4185c6:	83 fb 06             	cmp    $0x6,%ebx
4185c9:	74 32                	je     0x4185fd
4185cb:	8b 47 08             	mov    0x8(%edi),%eax
4185ce:	85 c0                	test   %eax,%eax
4185d0:	0f 84 fa 00 00 00    	je     0x4186d0
4185d6:	8b 40 0c             	mov    0xc(%eax),%eax
4185d9:	8b 40 04             	mov    0x4(%eax),%eax
4185dc:	83 f8 05             	cmp    $0x5,%eax
4185df:	74 09                	je     0x4185ea
4185e1:	83 f8 06             	cmp    $0x6,%eax
4185e4:	0f 85 e6 00 00 00    	jne    0x4186d0
4185ea:	8b 47 10             	mov    0x10(%edi),%eax
4185ed:	5b                   	pop    %ebx
4185ee:	5f                   	pop    %edi
4185ef:	8b 40 18             	mov    0x18(%eax),%eax
4185f2:	29 86 8c 00 00 00    	sub    %eax,0x8c(%esi)
4185f8:	5e                   	pop    %esi
4185f9:	5d                   	pop    %ebp
4185fa:	c2 04 00             	ret    $0x4
4185fd:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
418603:	85 c0                	test   %eax,%eax
418605:	0f 84 80 00 00 00    	je     0x41868b
41860b:	79 25                	jns    0x418632
41860d:	f7 d8                	neg    %eax
41860f:	50                   	push   %eax
418610:	ff b6 84 00 00 00    	push   0x84(%esi)
418616:	68 00 34 40 00       	push   $0x403400
41861b:	ff 15 74 23 45 00    	call   *0x452374
418621:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
418627:	83 c4 0c             	add    $0xc,%esp
41862a:	29 86 94 00 00 00    	sub    %eax,0x94(%esi)
418630:	eb 3b                	jmp    0x41866d
418632:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
418636:	74 2f                	je     0x418667
418638:	83 be 88 00 00 00 05 	cmpl   $0x5,0x88(%esi)
41863f:	b9 e8 34 40 00       	mov    $0x4034e8,%ecx
418644:	74 05                	je     0x41864b
418646:	b9 f0 34 40 00       	mov    $0x4034f0,%ecx
41864b:	50                   	push   %eax
41864c:	ff b6 84 00 00 00    	push   0x84(%esi)
418652:	51                   	push   %ecx
418653:	68 00 35 40 00       	push   $0x403500
418658:	ff 15 74 23 45 00    	call   *0x452374
41865e:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
418664:	83 c4 10             	add    $0x10,%esp
418667:	01 86 90 00 00 00    	add    %eax,0x90(%esi)
41866d:	c7 86 84 00 00 00 00 	movl   $0x0,0x84(%esi)
418674:	00 00 00
418677:	c7 86 88 00 00 00 00 	movl   $0x0,0x88(%esi)
41867e:	00 00 00
418681:	c7 86 8c 00 00 00 00 	movl   $0x0,0x8c(%esi)
418688:	00 00 00
41868b:	8b 47 0c             	mov    0xc(%edi),%eax
41868e:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
418694:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
41869a:	89 9e 88 00 00 00    	mov    %ebx,0x88(%esi)
4186a0:	8b 47 10             	mov    0x10(%edi),%eax
4186a3:	8b 48 18             	mov    0x18(%eax),%ecx
4186a6:	89 8e 8c 00 00 00    	mov    %ecx,0x8c(%esi)
4186ac:	8b 47 10             	mov    0x10(%edi),%eax
4186af:	2b 48 1c             	sub    0x1c(%eax),%ecx
4186b2:	89 8e 8c 00 00 00    	mov    %ecx,0x8c(%esi)
4186b8:	8b 47 14             	mov    0x14(%edi),%eax
4186bb:	2b 48 08             	sub    0x8(%eax),%ecx
4186be:	89 8e 8c 00 00 00    	mov    %ecx,0x8c(%esi)
4186c4:	8b 47 14             	mov    0x14(%edi),%eax
4186c7:	2b 48 0c             	sub    0xc(%eax),%ecx
4186ca:	89 8e 8c 00 00 00    	mov    %ecx,0x8c(%esi)
4186d0:	5b                   	pop    %ebx
4186d1:	5f                   	pop    %edi
4186d2:	5e                   	pop    %esi
4186d3:	5d                   	pop    %ebp
4186d4:	c2 04 00             	ret    $0x4
4186d7:	cc                   	int3
4186d8:	cc                   	int3
4186d9:	cc                   	int3
4186da:	cc                   	int3
4186db:	cc                   	int3
4186dc:	cc                   	int3
4186dd:	cc                   	int3
4186de:	cc                   	int3
4186df:	cc                   	int3
4186e0:	8b ff                	mov    %edi,%edi
4186e2:	55                   	push   %ebp
4186e3:	8b ec                	mov    %esp,%ebp
4186e5:	83 e4 f8             	and    $0xfffffff8,%esp
4186e8:	81 ec 6c 01 00 00    	sub    $0x16c,%esp
4186ee:	53                   	push   %ebx
4186ef:	56                   	push   %esi
4186f0:	57                   	push   %edi
4186f1:	8b 7d 08             	mov    0x8(%ebp),%edi
4186f4:	33 db                	xor    %ebx,%ebx
4186f6:	83 3f 20             	cmpl   $0x20,(%edi)
4186f9:	74 3a                	je     0x418735
4186fb:	68 48 35 40 00       	push   $0x403548
418700:	ff 15 74 23 45 00    	call   *0x452374
418706:	83 c4 04             	add    $0x4,%esp
418709:	e8 e2 55 02 00       	call   0x43dcf0
41870e:	83 c0 10             	add    $0x10,%eax
418711:	74 14                	je     0x418727
418713:	e8 d8 55 02 00       	call   0x43dcf0
418718:	83 c0 14             	add    $0x14,%eax
41871b:	c7 40 04 dd 09 00 00 	movl   $0x9dd,0x4(%eax)
418722:	e9 cc 03 00 00       	jmp    0x418af3
418727:	33 c0                	xor    %eax,%eax
418729:	c7 40 04 dd 09 00 00 	movl   $0x9dd,0x4(%eax)
418730:	e9 be 03 00 00       	jmp    0x418af3
418735:	8b 4f 0c             	mov    0xc(%edi),%ecx
418738:	85 c9                	test   %ecx,%ecx
41873a:	75 3a                	jne    0x418776
41873c:	68 b8 35 40 00       	push   $0x4035b8
418741:	ff 15 74 23 45 00    	call   *0x452374
418747:	83 c4 04             	add    $0x4,%esp
41874a:	e8 a1 55 02 00       	call   0x43dcf0
41874f:	83 c0 10             	add    $0x10,%eax
418752:	74 14                	je     0x418768
418754:	e8 97 55 02 00       	call   0x43dcf0
418759:	83 c0 14             	add    $0x14,%eax
41875c:	c7 40 04 e5 09 00 00 	movl   $0x9e5,0x4(%eax)
418763:	e9 8b 03 00 00       	jmp    0x418af3
418768:	33 c0                	xor    %eax,%eax
41876a:	c7 40 04 e5 09 00 00 	movl   $0x9e5,0x4(%eax)
418771:	e9 7d 03 00 00       	jmp    0x418af3
418776:	8b 49 04             	mov    0x4(%ecx),%ecx
418779:	89 4c 24 10          	mov    %ecx,0x10(%esp)
41877d:	8d 41 ff             	lea    -0x1(%ecx),%eax
418780:	83 f8 05             	cmp    $0x5,%eax
418783:	0f 87 3e 03 00 00    	ja     0x418ac7
418789:	8b 75 0c             	mov    0xc(%ebp),%esi
41878c:	83 f9 01             	cmp    $0x1,%ecx
41878f:	0f 85 18 01 00 00    	jne    0x4188ad
418795:	89 5e 54             	mov    %ebx,0x54(%esi)
418798:	89 5e 58             	mov    %ebx,0x58(%esi)
41879b:	8b 47 10             	mov    0x10(%edi),%eax
41879e:	85 c0                	test   %eax,%eax
4187a0:	0f 84 c2 00 00 00    	je     0x418868
4187a6:	8b 40 18             	mov    0x18(%eax),%eax
4187a9:	89 46 4c             	mov    %eax,0x4c(%esi)
4187ac:	8b 47 10             	mov    0x10(%edi),%eax
4187af:	8b 48 18             	mov    0x18(%eax),%ecx
4187b2:	89 4e 78             	mov    %ecx,0x78(%esi)
4187b5:	8b 47 10             	mov    0x10(%edi),%eax
4187b8:	2b 48 1c             	sub    0x1c(%eax),%ecx
4187bb:	89 4e 78             	mov    %ecx,0x78(%esi)
4187be:	8b 47 10             	mov    0x10(%edi),%eax
4187c1:	8b 40 1c             	mov    0x1c(%eax),%eax
4187c4:	01 46 50             	add    %eax,0x50(%esi)
4187c7:	c7 46 5c ff ff ff ff 	movl   $0xffffffff,0x5c(%esi)
4187ce:	89 5e 60             	mov    %ebx,0x60(%esi)
4187d1:	8b 47 10             	mov    0x10(%edi),%eax
4187d4:	8b 58 38             	mov    0x38(%eax),%ebx
4187d7:	8b 48 34             	mov    0x34(%eax),%ecx
4187da:	8b 50 3c             	mov    0x3c(%eax),%edx
4187dd:	8b 40 30             	mov    0x30(%eax),%eax
4187e0:	03 c0                	add    %eax,%eax
4187e2:	c7 46 54 ff ff ff 7f 	movl   $0x7fffffff,0x54(%esi)
4187e9:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4187ed:	c7 46 58 ff ff ff 7f 	movl   $0x7fffffff,0x58(%esi)
4187f4:	8b 5c c1 f4          	mov    -0xc(%ecx,%eax,8),%ebx
4187f8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4187fc:	89 5c 24 10          	mov    %ebx,0x10(%esp)
418800:	85 c0                	test   %eax,%eax
418802:	74 51                	je     0x418855
418804:	03 c0                	add    %eax,%eax
418806:	8b 4c c2 f4          	mov    -0xc(%edx,%eax,8),%ecx
41880a:	3b d9                	cmp    %ecx,%ebx
41880c:	75 47                	jne    0x418855
41880e:	8b 5c c2 f8          	mov    -0x8(%edx,%eax,8),%ebx
418812:	85 db                	test   %ebx,%ebx
418814:	74 3b                	je     0x418851
418816:	8b c1                	mov    %ecx,%eax
418818:	2b c3                	sub    %ebx,%eax
41881a:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
41881e:	40                   	inc    %eax
41881f:	4b                   	dec    %ebx
418820:	89 46 54             	mov    %eax,0x54(%esi)
418823:	89 4e 58             	mov    %ecx,0x58(%esi)
418826:	85 db                	test   %ebx,%ebx
418828:	7e 31                	jle    0x41885b
41882a:	8b c3                	mov    %ebx,%eax
41882c:	83 c2 04             	add    $0x4,%edx
41882f:	c1 e0 04             	shl    $0x4,%eax
418832:	03 d0                	add    %eax,%edx
418834:	8b 02                	mov    (%edx),%eax
418836:	2b 42 04             	sub    0x4(%edx),%eax
418839:	8b 4a f0             	mov    -0x10(%edx),%ecx
41883c:	3b c8                	cmp    %eax,%ecx
41883e:	75 1b                	jne    0x41885b
418840:	2b 4a f4             	sub    -0xc(%edx),%ecx
418843:	4b                   	dec    %ebx
418844:	41                   	inc    %ecx
418845:	83 ea 10             	sub    $0x10,%edx
418848:	89 4e 54             	mov    %ecx,0x54(%esi)
41884b:	85 db                	test   %ebx,%ebx
41884d:	7f e5                	jg     0x418834
41884f:	eb 0a                	jmp    0x41885b
418851:	8b 5c 24 10          	mov    0x10(%esp),%ebx
418855:	8d 43 01             	lea    0x1(%ebx),%eax
418858:	89 46 54             	mov    %eax,0x54(%esi)
41885b:	8b 47 14             	mov    0x14(%edi),%eax
41885e:	85 c0                	test   %eax,%eax
418860:	74 06                	je     0x418868
418862:	8b 40 0c             	mov    0xc(%eax),%eax
418865:	29 46 78             	sub    %eax,0x78(%esi)
418868:	8b d6                	mov    %esi,%edx
41886a:	8b cf                	mov    %edi,%ecx
41886c:	e8 2f f3 ff ff       	call   0x417ba0
418871:	8b d8                	mov    %eax,%ebx
418873:	85 db                	test   %ebx,%ebx
418875:	0f 88 41 02 00 00    	js     0x418abc
41887b:	f6 06 02             	testb  $0x2,(%esi)
41887e:	74 22                	je     0x4188a2
418880:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
418884:	74 1c                	je     0x4188a2
418886:	ff 77 10             	push   0x10(%edi)
418889:	ba d4 20 40 00       	mov    $0x4020d4,%edx
41888e:	68 8c 20 40 00       	push   $0x40208c
418893:	e8 a8 f7 ff ff       	call   0x418040
418898:	8b d8                	mov    %eax,%ebx
41889a:	85 db                	test   %ebx,%ebx
41889c:	0f 88 1a 02 00 00    	js     0x418abc
4188a2:	33 c0                	xor    %eax,%eax
4188a4:	5f                   	pop    %edi
4188a5:	5e                   	pop    %esi
4188a6:	5b                   	pop    %ebx
4188a7:	8b e5                	mov    %ebp,%esp
4188a9:	5d                   	pop    %ebp
4188aa:	c2 08 00             	ret    $0x8
4188ad:	ff 44 8e 30          	incl   0x30(%esi,%ecx,4)
4188b1:	8b 57 10             	mov    0x10(%edi),%edx
4188b4:	85 d2                	test   %edx,%edx
4188b6:	74 7a                	je     0x418932
4188b8:	8b 47 0c             	mov    0xc(%edi),%eax
4188bb:	83 78 04 04          	cmpl   $0x4,0x4(%eax)
4188bf:	75 09                	jne    0x4188ca
4188c1:	8b 42 18             	mov    0x18(%edx),%eax
4188c4:	89 46 74             	mov    %eax,0x74(%esi)
4188c7:	8b 57 10             	mov    0x10(%edi),%edx
4188ca:	8b 42 1c             	mov    0x1c(%edx),%eax
4188cd:	01 46 50             	add    %eax,0x50(%esi)
4188d0:	8b 4f 10             	mov    0x10(%edi),%ecx
4188d3:	e8 58 db ff ff       	call   0x416430
4188d8:	85 c0                	test   %eax,%eax
4188da:	74 0c                	je     0x4188e8
4188dc:	8b 4e 5c             	mov    0x5c(%esi),%ecx
4188df:	3b c8                	cmp    %eax,%ecx
4188e1:	72 02                	jb     0x4188e5
4188e3:	8b c8                	mov    %eax,%ecx
4188e5:	89 4e 5c             	mov    %ecx,0x5c(%esi)
4188e8:	8b 4e 60             	mov    0x60(%esi),%ecx
4188eb:	8b 47 10             	mov    0x10(%edi),%eax
4188ee:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4188f2:	8b c8                	mov    %eax,%ecx
4188f4:	e8 67 db ff ff       	call   0x416460
4188f9:	39 44 24 1c          	cmp    %eax,0x1c(%esp)
4188fd:	76 06                	jbe    0x418905
4188ff:	8b 44 24 1c          	mov    0x1c(%esp),%eax
418903:	eb 08                	jmp    0x41890d
418905:	8b 4f 10             	mov    0x10(%edi),%ecx
418908:	e8 53 db ff ff       	call   0x416460
41890d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
418911:	89 46 60             	mov    %eax,0x60(%esi)
418914:	83 f9 02             	cmp    $0x2,%ecx
418917:	75 0b                	jne    0x418924
418919:	8b 47 10             	mov    0x10(%edi),%eax
41891c:	8b 40 18             	mov    0x18(%eax),%eax
41891f:	01 46 64             	add    %eax,0x64(%esi)
418922:	eb 0e                	jmp    0x418932
418924:	83 f9 03             	cmp    $0x3,%ecx
418927:	75 09                	jne    0x418932
418929:	8b 47 10             	mov    0x10(%edi),%eax
41892c:	8b 40 18             	mov    0x18(%eax),%eax
41892f:	01 46 68             	add    %eax,0x68(%esi)
418932:	8b 47 14             	mov    0x14(%edi),%eax
418935:	85 c0                	test   %eax,%eax
418937:	74 0f                	je     0x418948
418939:	8b 40 08             	mov    0x8(%eax),%eax
41893c:	01 46 6c             	add    %eax,0x6c(%esi)
41893f:	8b 47 14             	mov    0x14(%edi),%eax
418942:	8b 40 0c             	mov    0xc(%eax),%eax
418945:	01 46 70             	add    %eax,0x70(%esi)
418948:	39 5f 10             	cmp    %ebx,0x10(%edi)