4234fb:	74 23                	je     0x423520
4234fd:	52                   	push   %edx
4234fe:	51                   	push   %ecx
4234ff:	89 8f 98 00 00 00    	mov    %ecx,0x98(%edi)
423505:	89 97 9c 00 00 00    	mov    %edx,0x9c(%edi)
42350b:	e8 21 17 02 00       	call   0x444c31
423510:	8b f0                	mov    %eax,%esi
423512:	85 f6                	test   %esi,%esi
423514:	79 69                	jns    0x42357f
423516:	68 68 c0 45 00       	push   $0x45c068
42351b:	e9 eb 01 00 00       	jmp    0x42370b
423520:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
423524:	68 a8 eb 44 00       	push   $0x44eba8
423529:	6a 02                	push   $0x2
42352b:	58                   	pop    %eax
42352c:	0f 45 c6             	cmovne %esi,%eax
42352f:	50                   	push   %eax
423530:	6a 00                	push   $0x0
423532:	ff b7 90 00 00 00    	push   0x90(%edi)
423538:	e8 bb f3 01 00       	call   0x4428f8
42353d:	8b f0                	mov    %eax,%esi
42353f:	85 f6                	test   %esi,%esi
423541:	79 0a                	jns    0x42354d
423543:	68 90 c0 45 00       	push   $0x45c090
423548:	e9 be 01 00 00       	jmp    0x42370b
42354d:	8d 87 98 00 00 00    	lea    0x98(%edi),%eax
423553:	50                   	push   %eax
423554:	6a 00                	push   $0x0
423556:	ff 75 fc             	push   -0x4(%ebp)
423559:	e8 fc 15 02 00       	call   0x444b5a
42355e:	8b f0                	mov    %eax,%esi
423560:	85 f6                	test   %esi,%esi
423562:	79 1b                	jns    0x42357f
423564:	8b 45 08             	mov    0x8(%ebp),%eax
423567:	ff 30                	push   (%eax)
423569:	ff 75 fc             	push   -0x4(%ebp)
42356c:	68 38 bc 45 00       	push   $0x45bc38
423571:	56                   	push   %esi
423572:	e8 b8 cb 01 00       	call   0x44012f
423577:	83 c4 10             	add    $0x10,%esp
42357a:	e9 6e 01 00 00       	jmp    0x4236ed
42357f:	6a 00                	push   $0x0
423581:	ff b7 90 00 00 00    	push   0x90(%edi)
423587:	57                   	push   %edi
423588:	e8 18 ec fd ff       	call   0x4021a5
42358d:	8b f0                	mov    %eax,%esi
42358f:	85 f6                	test   %esi,%esi
423591:	79 0a                	jns    0x42359d
423593:	68 c0 c0 45 00       	push   $0x45c0c0
423598:	e9 6e 01 00 00       	jmp    0x42370b
42359d:	8b 43 14             	mov    0x14(%ebx),%eax
4235a0:	89 47 14             	mov    %eax,0x14(%edi)
4235a3:	8b 43 18             	mov    0x18(%ebx),%eax
4235a6:	89 47 18             	mov    %eax,0x18(%edi)
4235a9:	8b 43 20             	mov    0x20(%ebx),%eax
4235ac:	83 67 1c 00          	andl   $0x0,0x1c(%edi)
4235b0:	89 47 20             	mov    %eax,0x20(%edi)
4235b3:	8d 47 04             	lea    0x4(%edi),%eax
4235b6:	ff 73 04             	push   0x4(%ebx)
4235b9:	68 00 c1 45 00       	push   $0x45c100
4235be:	50                   	push   %eax
4235bf:	e8 5c e9 fd ff       	call   0x401f20
4235c4:	8b f0                	mov    %eax,%esi
4235c6:	83 c4 0c             	add    $0xc,%esp
4235c9:	85 f6                	test   %esi,%esi
4235cb:	79 0a                	jns    0x4235d7
4235cd:	68 20 c1 45 00       	push   $0x45c120
4235d2:	e9 34 01 00 00       	jmp    0x42370b
4235d7:	ff 75 fc             	push   -0x4(%ebp)
4235da:	8d 47 24             	lea    0x24(%edi),%eax
4235dd:	ff 37                	push   (%edi)
4235df:	68 5c c1 45 00       	push   $0x45c15c
4235e4:	50                   	push   %eax
4235e5:	e8 36 e9 fd ff       	call   0x401f20
4235ea:	8b f0                	mov    %eax,%esi
4235ec:	83 c4 10             	add    $0x10,%esp
4235ef:	85 f6                	test   %esi,%esi
4235f1:	79 0a                	jns    0x4235fd
4235f3:	68 6c c1 45 00       	push   $0x45c16c
4235f8:	e9 0e 01 00 00       	jmp    0x42370b
4235fd:	33 c9                	xor    %ecx,%ecx
4235ff:	c7 47 40 04 00 00 00 	movl   $0x4,0x40(%edi)
423606:	41                   	inc    %ecx
423607:	89 4f 44             	mov    %ecx,0x44(%edi)
42360a:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
423610:	85 c0                	test   %eax,%eax
423612:	0f 84 b6 00 00 00    	je     0x4236ce
423618:	51                   	push   %ecx
423619:	c1 e0 04             	shl    $0x4,%eax
42361c:	50                   	push   %eax
42361d:	e8 b2 02 fe ff       	call   0x4038d4
423622:	89 87 84 00 00 00    	mov    %eax,0x84(%edi)
423628:	85 c0                	test   %eax,%eax
42362a:	75 1f                	jne    0x42364b
42362c:	be 0e 00 07 80       	mov    $0x8007000e,%esi
423631:	56                   	push   %esi
423632:	68 12 04 00 00       	push   $0x412
423637:	68 58 b7 45 00       	push   $0x45b758
42363c:	e8 92 01 fe ff       	call   0x4037d3
423641:	68 a0 c1 45 00       	push   $0x45c1a0
423646:	e9 c0 00 00 00       	jmp    0x42370b
42364b:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
42364f:	83 bb 88 00 00 00 00 	cmpl   $0x0,0x88(%ebx)
423656:	76 6a                	jbe    0x4236c2
423658:	33 c9                	xor    %ecx,%ecx
42365a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42365d:	8b 93 84 00 00 00    	mov    0x84(%ebx),%edx
423663:	8b 87 84 00 00 00    	mov    0x84(%edi),%eax
423669:	03 d1                	add    %ecx,%edx
42366b:	6a 00                	push   $0x0
42366d:	03 c1                	add    %ecx,%eax
42366f:	89 55 f4             	mov    %edx,-0xc(%ebp)
423672:	89 45 08             	mov    %eax,0x8(%ebp)
423675:	ff 32                	push   (%edx)
423677:	50                   	push   %eax
423678:	e8 28 eb fd ff       	call   0x4021a5
42367d:	8b f0                	mov    %eax,%esi
42367f:	85 f6                	test   %esi,%esi
423681:	0f 88 8e 00 00 00    	js     0x423715
423687:	8b 45 08             	mov    0x8(%ebp),%eax
42368a:	6a 00                	push   $0x0
42368c:	ff 75 fc             	push   -0x4(%ebp)
42368f:	83 c0 04             	add    $0x4,%eax
423692:	50                   	push   %eax
423693:	e8 0d eb fd ff       	call   0x4021a5
423698:	8b f0                	mov    %eax,%esi
42369a:	85 f6                	test   %esi,%esi
42369c:	78 68                	js     0x423706
42369e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4236a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4236a4:	8b 40 0c             	mov    0xc(%eax),%eax
4236a7:	89 41 0c             	mov    %eax,0xc(%ecx)
4236aa:	8b 45 0c             	mov    0xc(%ebp),%eax
4236ad:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4236b0:	40                   	inc    %eax
4236b1:	83 c1 10             	add    $0x10,%ecx
4236b4:	89 45 0c             	mov    %eax,0xc(%ebp)
4236b7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4236ba:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
4236c0:	72 9b                	jb     0x42365d
4236c2:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
4236c8:	89 87 88 00 00 00    	mov    %eax,0x88(%edi)
4236ce:	c7 87 8c 00 00 00 02 	movl   $0x2,0x8c(%edi)
4236d5:	00 00 00
4236d8:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
4236de:	89 87 b0 00 00 00    	mov    %eax,0xb0(%edi)
4236e4:	8b 45 10             	mov    0x10(%ebp),%eax
4236e7:	85 c0                	test   %eax,%eax
4236e9:	74 02                	je     0x4236ed
4236eb:	89 38                	mov    %edi,(%eax)
4236ed:	5f                   	pop    %edi
4236ee:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4236f2:	74 08                	je     0x4236fc
4236f4:	ff 75 fc             	push   -0x4(%ebp)
4236f7:	e8 f3 1d 02 00       	call   0x4454ef
4236fc:	8b c6                	mov    %esi,%eax
4236fe:	5e                   	pop    %esi
4236ff:	5b                   	pop    %ebx
423700:	8b e5                	mov    %ebp,%esp
423702:	5d                   	pop    %ebp
423703:	c2 0c 00             	ret    $0xc
423706:	68 04 c2 45 00       	push   $0x45c204
42370b:	56                   	push   %esi
42370c:	e8 1e ca 01 00       	call   0x44012f
423711:	59                   	pop    %ecx
423712:	59                   	pop    %ecx
423713:	eb d8                	jmp    0x4236ed
423715:	68 d8 c1 45 00       	push   $0x45c1d8
42371a:	eb ef                	jmp    0x42370b
42371c:	55                   	push   %ebp
42371d:	8b ec                	mov    %esp,%ebp
42371f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
423723:	b9 02 01 00 00       	mov    $0x102,%ecx
423728:	74 20                	je     0x42374a
42372a:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
42372e:	74 1a                	je     0x42374a
423730:	83 7d 10 05          	cmpl   $0x5,0x10(%ebp)
423734:	74 14                	je     0x42374a
423736:	8b 45 0c             	mov    0xc(%ebp),%eax
423739:	83 e8 03             	sub    $0x3,%eax
42373c:	74 09                	je     0x423747
42373e:	83 e8 01             	sub    $0x1,%eax
423741:	75 07                	jne    0x42374a
423743:	6a 05                	push   $0x5
423745:	eb 02                	jmp    0x423749
423747:	6a 04                	push   $0x4
423749:	59                   	pop    %ecx
42374a:	8b c1                	mov    %ecx,%eax
42374c:	5d                   	pop    %ebp
42374d:	c2 0c 00             	ret    $0xc
423750:	55                   	push   %ebp
423751:	8b ec                	mov    %esp,%ebp
423753:	83 ec 10             	sub    $0x10,%esp
423756:	33 c9                	xor    %ecx,%ecx
423758:	56                   	push   %esi
423759:	8b f1                	mov    %ecx,%esi
42375b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42375e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
423761:	89 4d f4             	mov    %ecx,-0xc(%ebp)
423764:	89 4d f0             	mov    %ecx,-0x10(%ebp)
423767:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
42376a:	0f 86 df 00 00 00    	jbe    0x42384f
423770:	57                   	push   %edi
423771:	8b 7d 08             	mov    0x8(%ebp),%edi
423774:	83 c7 08             	add    $0x8,%edi
423777:	53                   	push   %ebx
423778:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
42377c:	74 21                	je     0x42379f
42377e:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
423782:	74 06                	je     0x42378a
423784:	8b 07                	mov    (%edi),%eax
423786:	85 c0                	test   %eax,%eax
423788:	75 03                	jne    0x42378d
42378a:	8b 47 fc             	mov    -0x4(%edi),%eax
42378d:	51                   	push   %ecx
42378e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423791:	51                   	push   %ecx
423792:	50                   	push   %eax
423793:	ff 75 10             	push   0x10(%ebp)
423796:	e8 4e 3a fe ff       	call   0x4071e9
42379b:	8b f0                	mov    %eax,%esi
42379d:	eb 23                	jmp    0x4237c2
42379f:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4237a3:	74 06                	je     0x4237ab
4237a5:	8b 07                	mov    (%edi),%eax
4237a7:	85 c0                	test   %eax,%eax
4237a9:	75 03                	jne    0x4237ae
4237ab:	8b 47 fc             	mov    -0x4(%edi),%eax
4237ae:	51                   	push   %ecx
4237af:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4237b2:	51                   	push   %ecx
4237b3:	50                   	push   %eax
4237b4:	ff 75 10             	push   0x10(%ebp)
4237b7:	e8 13 3a fe ff       	call   0x4071cf
4237bc:	8b f0                	mov    %eax,%esi
4237be:	85 f6                	test   %esi,%esi
4237c0:	78 7e                	js     0x423840
4237c2:	85 f6                	test   %esi,%esi
4237c4:	78 7a                	js     0x423840
4237c6:	33 db                	xor    %ebx,%ebx
4237c8:	8d 45 f8             	lea    -0x8(%ebp),%eax
4237cb:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
4237ce:	0f 94 c3             	sete   %bl
4237d1:	53                   	push   %ebx
4237d2:	50                   	push   %eax
4237d3:	ff 75 fc             	push   -0x4(%ebp)
4237d6:	e8 1e f8 ff ff       	call   0x422ff9
4237db:	8b f0                	mov    %eax,%esi
4237dd:	85 f6                	test   %esi,%esi
4237df:	78 58                	js     0x423839
4237e1:	ff 75 f8             	push   -0x8(%ebp)
4237e4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4237e7:	ff 77 f8             	push   -0x8(%edi)
4237ea:	68 18 c8 45 00       	push   $0x45c818
4237ef:	50                   	push   %eax
4237f0:	53                   	push   %ebx
4237f1:	e8 6a 4a fe ff       	call   0x408260
4237f6:	8b f0                	mov    %eax,%esi
4237f8:	83 c4 14             	add    $0x14,%esp
4237fb:	85 f6                	test   %esi,%esi
4237fd:	78 33                	js     0x423832
4237ff:	6a 00                	push   $0x0
423801:	ff 75 f4             	push   -0xc(%ebp)
423804:	ff 75 18             	push   0x18(%ebp)
423807:	53                   	push   %ebx
423808:	e8 31 4a fe ff       	call   0x40823e
42380d:	8b f0                	mov    %eax,%esi
42380f:	85 f6                	test   %esi,%esi
423811:	78 18                	js     0x42382b
423813:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423816:	83 c7 0c             	add    $0xc,%edi
423819:	41                   	inc    %ecx
42381a:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
42381d:	6a 00                	push   $0x0
42381f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
423822:	59                   	pop    %ecx
423823:	0f 82 4f ff ff ff    	jb     0x423778
423829:	eb 22                	jmp    0x42384d
42382b:	68 54 c8 45 00       	push   $0x45c854
423830:	eb 13                	jmp    0x423845
423832:	68 2c c8 45 00       	push   $0x45c82c
423837:	eb 0c                	jmp    0x423845
423839:	68 fc c7 45 00       	push   $0x45c7fc
42383e:	eb 05                	jmp    0x423845
423840:	68 d8 c7 45 00       	push   $0x45c7d8
423845:	56                   	push   %esi
423846:	e8 e4 c8 01 00       	call   0x44012f
42384b:	59                   	pop    %ecx
42384c:	59                   	pop    %ecx
42384d:	5b                   	pop    %ebx
42384e:	5f                   	pop    %edi
42384f:	ff 75 fc             	push   -0x4(%ebp)
423852:	e8 3c ef fd ff       	call   0x402793
423857:	ff 75 f8             	push   -0x8(%ebp)
42385a:	e8 34 ef fd ff       	call   0x402793
42385f:	ff 75 f4             	push   -0xc(%ebp)
423862:	e8 2c ef fd ff       	call   0x402793
423867:	8b c6                	mov    %esi,%eax
423869:	5e                   	pop    %esi
42386a:	8b e5                	mov    %ebp,%esp
42386c:	5d                   	pop    %ebp
42386d:	c2 18 00             	ret    $0x18
423870:	55                   	push   %ebp
423871:	8b ec                	mov    %esp,%ebp
423873:	81 ec 90 00 00 00    	sub    $0x90,%esp
423879:	a1 08 a0 46 00       	mov    0x46a008,%eax
42387e:	33 c5                	xor    %ebp,%eax
423880:	89 45 fc             	mov    %eax,-0x4(%ebp)
423883:	8b 45 0c             	mov    0xc(%ebp),%eax
423886:	83 8d 78 ff ff ff ff 	orl    $0xffffffff,-0x88(%ebp)
42388d:	53                   	push   %ebx
42388e:	56                   	push   %esi
42388f:	57                   	push   %edi
423890:	8b 7d 08             	mov    0x8(%ebp),%edi
423893:	33 db                	xor    %ebx,%ebx
423895:	6a 4e                	push   $0x4e
423897:	89 45 98             	mov    %eax,-0x68(%ebp)
42389a:	8d 45 ac             	lea    -0x54(%ebp),%eax
42389d:	53                   	push   %ebx
42389e:	50                   	push   %eax
42389f:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4238a2:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4238a5:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
4238a8:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
4238ae:	89 5d a0             	mov    %ebx,-0x60(%ebp)
4238b1:	e8 ba bd 00 00       	call   0x42f670
4238b6:	83 c4 0c             	add    $0xc,%esp
4238b9:	89 5d 80             	mov    %ebx,-0x80(%ebp)
4238bc:	39 5f 14             	cmp    %ebx,0x14(%edi)
4238bf:	8d 45 a8             	lea    -0x58(%ebp),%eax
4238c2:	0f 57 c0             	xorps  %xmm0,%xmm0
4238c5:	66 0f 13 45 90       	movlpd %xmm0,-0x70(%ebp)
4238ca:	50                   	push   %eax
4238cb:	68 a8 eb 44 00       	push   $0x44eba8
4238d0:	6a 02                	push   $0x2
4238d2:	58                   	pop    %eax
4238d3:	6a 04                	push   $0x4
4238d5:	59                   	pop    %ecx
4238d6:	0f 45 c1             	cmovne %ecx,%eax
4238d9:	50                   	push   %eax
4238da:	53                   	push   %ebx
4238db:	ff b7 90 00 00 00    	push   0x90(%edi)
4238e1:	e8 12 f0 01 00       	call   0x4428f8
4238e6:	8b f0                	mov    %eax,%esi
4238e8:	85 f6                	test   %esi,%esi
4238ea:	0f 88 19 01 00 00    	js     0x423a09
4238f0:	8d 87 a8 00 00 00    	lea    0xa8(%edi),%eax
4238f6:	50                   	push   %eax
4238f7:	53                   	push   %ebx
4238f8:	ff 75 a8             	push   -0x58(%ebp)