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)
4238fb:	e8 5a 12 02 00       	call   0x444b5a
423900:	8b f0                	mov    %eax,%esi
423902:	85 f6                	test   %esi,%esi
423904:	79 1c                	jns    0x423922
423906:	ff b7 90 00 00 00    	push   0x90(%edi)
42390c:	ff 75 a8             	push   -0x58(%ebp)
42390f:	68 38 bc 45 00       	push   $0x45bc38
423914:	56                   	push   %esi
423915:	e8 15 c8 01 00       	call   0x44012f
42391a:	83 c4 10             	add    $0x10,%esp
42391d:	e9 49 06 00 00       	jmp    0x423f6b
423922:	8b 97 9c 00 00 00    	mov    0x9c(%edi),%edx
423928:	8d 87 a8 00 00 00    	lea    0xa8(%edi),%eax
42392e:	3b 50 04             	cmp    0x4(%eax),%edx
423931:	8b 08                	mov    (%eax),%ecx
423933:	8b 97 98 00 00 00    	mov    0x98(%edi),%edx
423939:	77 15                	ja     0x423950
42393b:	72 04                	jb     0x423941
42393d:	3b d1                	cmp    %ecx,%edx
42393f:	73 0f                	jae    0x423950
423941:	33 c9                	xor    %ecx,%ecx
423943:	c7 47 40 05 00 00 00 	movl   $0x5,0x40(%edi)
42394a:	41                   	inc    %ecx
42394b:	89 4d a0             	mov    %ecx,-0x60(%ebp)
42394e:	eb 2f                	jmp    0x42397f
423950:	8b 97 9c 00 00 00    	mov    0x9c(%edi),%edx
423956:	3b 50 04             	cmp    0x4(%eax),%edx
423959:	8b 97 98 00 00 00    	mov    0x98(%edi),%edx
42395f:	72 0e                	jb     0x42396f
423961:	77 04                	ja     0x423967
423963:	3b d1                	cmp    %ecx,%edx
423965:	76 08                	jbe    0x42396f
423967:	6a 02                	push   $0x2
423969:	59                   	pop    %ecx
42396a:	89 4d a0             	mov    %ecx,-0x60(%ebp)
42396d:	eb 02                	jmp    0x423971
42396f:	8b cb                	mov    %ebx,%ecx
423971:	6a 04                	push   $0x4
423973:	58                   	pop    %eax
423974:	89 47 40             	mov    %eax,0x40(%edi)
423977:	85 c9                	test   %ecx,%ecx
423979:	0f 84 d0 01 00 00    	je     0x423b4f
42397f:	51                   	push   %ecx
423980:	e8 82 07 ff ff       	call   0x414107
423985:	50                   	push   %eax
423986:	ff b7 94 00 00 00    	push   0x94(%edi)
42398c:	8d b7 a8 00 00 00    	lea    0xa8(%edi),%esi
423992:	ff 76 04             	push   0x4(%esi)
423995:	ff 36                	push   (%esi)
423997:	e8 5e 0a ff ff       	call   0x4143fa
42399c:	50                   	push   %eax
42399d:	ff 77 14             	push   0x14(%edi)
4239a0:	e8 4a 07 ff ff       	call   0x4140ef
4239a5:	50                   	push   %eax
4239a6:	ff b7 90 00 00 00    	push   0x90(%edi)
4239ac:	68 67 00 00 20       	push   $0x20000067
4239b1:	6a 02                	push   $0x2
4239b3:	e8 57 1b fe ff       	call   0x40550f
4239b8:	8b 45 98             	mov    -0x68(%ebp),%eax
4239bb:	83 c4 1c             	add    $0x1c,%esp
4239be:	ff 75 a0             	push   -0x60(%ebp)
4239c1:	8b 40 10             	mov    0x10(%eax),%eax
4239c4:	ff 76 04             	push   0x4(%esi)
4239c7:	ff 36                	push   (%esi)
4239c9:	8b 08                	mov    (%eax),%ecx
4239cb:	ff 77 14             	push   0x14(%edi)
4239ce:	ff b7 90 00 00 00    	push   0x90(%edi)
4239d4:	ff 37                	push   (%edi)
4239d6:	50                   	push   %eax
4239d7:	ff 51 38             	call   *0x38(%ecx)
4239da:	50                   	push   %eax
4239db:	6a 01                	push   $0x1
4239dd:	ff 75 98             	push   -0x68(%ebp)
4239e0:	e8 a6 9b fe ff       	call   0x40d58b
4239e5:	8b f0                	mov    %eax,%esi
4239e7:	85 f6                	test   %esi,%esi
4239e9:	0f 89 60 01 00 00    	jns    0x423b4f
4239ef:	56                   	push   %esi
4239f0:	68 af 01 00 00       	push   $0x1af
4239f5:	68 58 b7 45 00       	push   $0x45b758
4239fa:	e8 d4 fd fd ff       	call   0x4037d3
4239ff:	68 78 bc 45 00       	push   $0x45bc78
423a04:	e9 5a 05 00 00       	jmp    0x423f63
423a09:	81 fe 45 06 07 80    	cmp    $0x80070645,%esi
423a0f:	74 21                	je     0x423a32
423a11:	81 fe 48 06 07 80    	cmp    $0x80070648,%esi
423a17:	74 19                	je     0x423a32
423a19:	ff b7 90 00 00 00    	push   0x90(%edi)
423a1f:	68 08 bd 45 00       	push   $0x45bd08
423a24:	56                   	push   %esi
423a25:	e8 05 c7 01 00       	call   0x44012f
423a2a:	83 c4 0c             	add    $0xc,%esp
423a2d:	e9 39 05 00 00       	jmp    0x423f6b
423a32:	8d 45 a4             	lea    -0x5c(%ebp),%eax
423a35:	50                   	push   %eax
423a36:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
423a3c:	50                   	push   %eax
423a3d:	57                   	push   %edi
423a3e:	e8 45 41 00 00       	call   0x427b88
423a43:	85 c0                	test   %eax,%eax
423a45:	0f 88 fb 00 00 00    	js     0x423b46
423a4b:	39 5f 14             	cmp    %ebx,0x14(%edi)
423a4e:	8d 45 a8             	lea    -0x58(%ebp),%eax
423a51:	50                   	push   %eax
423a52:	68 a8 eb 44 00       	push   $0x44eba8
423a57:	6a 02                	push   $0x2
423a59:	58                   	pop    %eax
423a5a:	6a 04                	push   $0x4
423a5c:	59                   	pop    %ecx
423a5d:	0f 45 c1             	cmovne %ecx,%eax
423a60:	50                   	push   %eax
423a61:	53                   	push   %ebx
423a62:	ff 75 a4             	push   -0x5c(%ebp)
423a65:	e8 8e ee 01 00       	call   0x4428f8
423a6a:	85 c0                	test   %eax,%eax
423a6c:	0f 88 d4 00 00 00    	js     0x423b46
423a72:	8d 45 90             	lea    -0x70(%ebp),%eax
423a75:	50                   	push   %eax
423a76:	53                   	push   %ebx
423a77:	ff 75 a8             	push   -0x58(%ebp)
423a7a:	e8 db 10 02 00       	call   0x444b5a
423a7f:	8b f0                	mov    %eax,%esi
423a81:	85 f6                	test   %esi,%esi
423a83:	79 08                	jns    0x423a8d
423a85:	ff 75 a4             	push   -0x5c(%ebp)
423a88:	e9 7f fe ff ff       	jmp    0x42390c
423a8d:	8b 87 9c 00 00 00    	mov    0x9c(%edi),%eax
423a93:	3b 45 94             	cmp    -0x6c(%ebp),%eax
423a96:	0f 87 aa 00 00 00    	ja     0x423b46
423a9c:	72 0f                	jb     0x423aad
423a9e:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
423aa4:	3b 45 90             	cmp    -0x70(%ebp),%eax
423aa7:	0f 83 99 00 00 00    	jae    0x423b46
423aad:	ff b7 90 00 00 00    	push   0x90(%edi)
423ab3:	ff 75 a8             	push   -0x58(%ebp)
423ab6:	ff 75 a4             	push   -0x5c(%ebp)
423ab9:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
423abf:	ff 37                	push   (%edi)
423ac1:	68 6c 00 00 20       	push   $0x2000006c
423ac6:	6a 02                	push   $0x2
423ac8:	e8 42 1a fe ff       	call   0x40550f
423acd:	8b 75 98             	mov    -0x68(%ebp),%esi
423ad0:	83 c4 1c             	add    $0x1c,%esp
423ad3:	8b 46 10             	mov    0x10(%esi),%eax
423ad6:	ff 75 a4             	push   -0x5c(%ebp)
423ad9:	ff 37                	push   (%edi)
423adb:	8b 08                	mov    (%eax),%ecx
423add:	50                   	push   %eax
423ade:	ff 51 34             	call   *0x34(%ecx)
423ae1:	50                   	push   %eax
423ae2:	6a 01                	push   $0x1
423ae4:	56                   	push   %esi
423ae5:	e8 a1 9a fe ff       	call   0x40d58b
423aea:	8b f0                	mov    %eax,%esi
423aec:	85 f6                	test   %esi,%esi
423aee:	79 1a                	jns    0x423b0a
423af0:	56                   	push   %esi
423af1:	68 c4 01 00 00       	push   $0x1c4
423af6:	68 58 b7 45 00       	push   $0x45b758
423afb:	e8 d3 fc fd ff       	call   0x4037d3
423b00:	68 a0 bc 45 00       	push   $0x45bca0
423b05:	e9 59 04 00 00       	jmp    0x423f63
423b0a:	53                   	push   %ebx
423b0b:	ff 75 a4             	push   -0x5c(%ebp)
423b0e:	8d 87 a0 00 00 00    	lea    0xa0(%edi),%eax
423b14:	50                   	push   %eax
423b15:	e8 8b e6 fd ff       	call   0x4021a5
423b1a:	8b f0                	mov    %eax,%esi
423b1c:	85 f6                	test   %esi,%esi
423b1e:	79 0a                	jns    0x423b2a
423b20:	68 cc bc 45 00       	push   $0x45bccc
423b25:	e9 39 04 00 00       	jmp    0x423f63
423b2a:	8b 45 90             	mov    -0x70(%ebp),%eax
423b2d:	89 87 a8 00 00 00    	mov    %eax,0xa8(%edi)
423b33:	8b 45 94             	mov    -0x6c(%ebp),%eax