428964:	e8 33 00 00 00       	call   0x42899c
428969:	8b f0                	mov    %eax,%esi
42896b:	85 f6                	test   %esi,%esi
42896d:	79 0a                	jns    0x428979
42896f:	ff 75 10             	push   0x10(%ebp)
428972:	68 10 e3 45 00       	push   $0x45e310
428977:	eb 87                	jmp    0x428900
428979:	ff 47 04             	incl   0x4(%edi)
42897c:	eb 05                	jmp    0x428983
42897e:	be 90 04 07 80       	mov    $0x80070490,%esi
428983:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428987:	74 09                	je     0x428992
428989:	ff 75 fc             	push   -0x4(%ebp)
42898c:	ff 15 00 b0 44 00    	call   *0x44b000
428992:	5f                   	pop    %edi
428993:	8b c6                	mov    %esi,%eax
428995:	5e                   	pop    %esi
428996:	8b e5                	mov    %ebp,%esp
428998:	5d                   	pop    %ebp
428999:	c2 14 00             	ret    $0x14
42899c:	55                   	push   %ebp
42899d:	8b ec                	mov    %esp,%ebp
42899f:	83 ec 24             	sub    $0x24,%esp
4289a2:	53                   	push   %ebx
4289a3:	56                   	push   %esi
4289a4:	57                   	push   %edi
4289a5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4289a9:	8d 7d dc             	lea    -0x24(%ebp),%edi
4289ac:	33 c0                	xor    %eax,%eax
4289ae:	0f 57 c0             	xorps  %xmm0,%xmm0
4289b1:	ab                   	stos   %eax,%es:(%edi)
4289b2:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
4289b7:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
4289bc:	ab                   	stos   %eax,%es:(%edi)
4289bd:	ab                   	stos   %eax,%es:(%edi)
4289be:	ab                   	stos   %eax,%es:(%edi)
4289bf:	8d 45 f4             	lea    -0xc(%ebp),%eax
4289c2:	8b 7d 0c             	mov    0xc(%ebp),%edi
4289c5:	50                   	push   %eax
4289c6:	68 bc 0b 45 00       	push   $0x450bbc
4289cb:	57                   	push   %edi
4289cc:	e8 7c 88 01 00       	call   0x44124d
4289d1:	85 c0                	test   %eax,%eax
4289d3:	79 08                	jns    0x4289dd
4289d5:	0f 57 c0             	xorps  %xmm0,%xmm0
4289d8:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
4289dd:	8b 5d 18             	mov    0x18(%ebp),%ebx
4289e0:	8d 43 08             	lea    0x8(%ebx),%eax
4289e3:	50                   	push   %eax
4289e4:	68 a0 0b 45 00       	push   $0x450ba0
4289e9:	57                   	push   %edi
4289ea:	e8 5e 88 01 00       	call   0x44124d
4289ef:	8b f0                	mov    %eax,%esi
4289f1:	85 f6                	test   %esi,%esi
4289f3:	79 0d                	jns    0x428a02
4289f5:	ff 75 08             	push   0x8(%ebp)
4289f8:	68 d4 e4 45 00       	push   $0x45e4d4
4289fd:	e9 46 01 00 00       	jmp    0x428b48
428a02:	8d 45 fc             	lea    -0x4(%ebp),%eax
428a05:	50                   	push   %eax
428a06:	68 e0 0a 45 00       	push   $0x450ae0
428a0b:	57                   	push   %edi
428a0c:	e8 5d 85 01 00       	call   0x440f6e
428a11:	8b f0                	mov    %eax,%esi
428a13:	85 f6                	test   %esi,%esi
428a15:	79 0d                	jns    0x428a24
428a17:	ff 75 08             	push   0x8(%ebp)
428a1a:	68 0c e5 45 00       	push   $0x45e50c
428a1f:	e9 24 01 00 00       	jmp    0x428b48
428a24:	8d 45 ec             	lea    -0x14(%ebp),%eax
428a27:	50                   	push   %eax
428a28:	ff 75 fc             	push   -0x4(%ebp)
428a2b:	e8 10 be 01 00       	call   0x444840
428a30:	8b f0                	mov    %eax,%esi
428a32:	85 f6                	test   %esi,%esi
428a34:	79 0d                	jns    0x428a43
428a36:	ff 75 fc             	push   -0x4(%ebp)
428a39:	68 44 e5 45 00       	push   $0x45e544
428a3e:	e9 05 01 00 00       	jmp    0x428b48
428a43:	8d 45 dc             	lea    -0x24(%ebp),%eax
428a46:	50                   	push   %eax
428a47:	68 d8 0b 45 00       	push   $0x450bd8
428a4c:	57                   	push   %edi
428a4d:	e8 1c 85 01 00       	call   0x440f6e
428a52:	8b f0                	mov    %eax,%esi
428a54:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
428a5a:	74 64                	je     0x428ac0
428a5c:	85 f6                	test   %esi,%esi
428a5e:	79 0d                	jns    0x428a6d
428a60:	ff 75 08             	push   0x8(%ebp)
428a63:	68 70 e5 45 00       	push   $0x45e570
428a68:	e9 db 00 00 00       	jmp    0x428b48
428a6d:	8d 45 e0             	lea    -0x20(%ebp),%eax
428a70:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
428a77:	50                   	push   %eax
428a78:	ff 73 0c             	push   0xc(%ebx)
428a7b:	ff 73 08             	push   0x8(%ebx)
428a7e:	e8 ae c1 01 00       	call   0x444c31
428a83:	8b f0                	mov    %eax,%esi
428a85:	85 f6                	test   %esi,%esi
428a87:	79 0d                	jns    0x428a96
428a89:	ff 75 08             	push   0x8(%ebp)
428a8c:	68 ac e5 45 00       	push   $0x45e5ac
428a91:	e9 b2 00 00 00       	jmp    0x428b48
428a96:	8d 45 e4             	lea    -0x1c(%ebp),%eax
428a99:	50                   	push   %eax
428a9a:	68 88 0b 45 00       	push   $0x450b88
428a9f:	57                   	push   %edi
428aa0:	e8 c9 84 01 00       	call   0x440f6e
428aa5:	8b f0                	mov    %eax,%esi
428aa7:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
428aad:	74 11                	je     0x428ac0
428aaf:	85 f6                	test   %esi,%esi
428ab1:	79 0d                	jns    0x428ac0
428ab3:	ff 75 08             	push   0x8(%ebp)
428ab6:	68 d4 e5 45 00       	push   $0x45e5d4
428abb:	e9 88 00 00 00       	jmp    0x428b48
428ac0:	8d 43 10             	lea    0x10(%ebx),%eax
428ac3:	50                   	push   %eax
428ac4:	68 fc 0b 45 00       	push   $0x450bfc
428ac9:	57                   	push   %edi
428aca:	e8 9f 84 01 00       	call   0x440f6e
428acf:	8b f0                	mov    %eax,%esi
428ad1:	33 c0                	xor    %eax,%eax
428ad3:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
428ad9:	0f 44 f0             	cmove  %eax,%esi
428adc:	85 f6                	test   %esi,%esi
428ade:	79 0a                	jns    0x428aea
428ae0:	ff 75 08             	push   0x8(%ebp)
428ae3:	68 00 e6 45 00       	push   $0x45e600
428ae8:	eb 5e                	jmp    0x428b48
428aea:	8b 45 dc             	mov    -0x24(%ebp),%eax
428aed:	33 d2                	xor    %edx,%edx
428aef:	8b 4d 14             	mov    0x14(%ebp),%ecx
428af2:	89 0b                	mov    %ecx,(%ebx)
428af4:	85 c0                	test   %eax,%eax
428af6:	74 08                	je     0x428b00
428af8:	66 39 10             	cmp    %dx,(%eax)
428afb:	8d 45 dc             	lea    -0x24(%ebp),%eax
428afe:	75 02                	jne    0x428b02
428b00:	8b c2                	mov    %edx,%eax
428b02:	52                   	push   %edx
428b03:	52                   	push   %edx
428b04:	50                   	push   %eax
428b05:	68 34 e6 45 00       	push   $0x45e634
428b0a:	68 58 e6 45 00       	push   $0x45e658
428b0f:	68 78 e6 45 00       	push   $0x45e678
428b14:	52                   	push   %edx
428b15:	ff 75 f0             	push   -0x10(%ebp)
428b18:	8d 43 18             	lea    0x18(%ebx),%eax
428b1b:	ff 75 ec             	push   -0x14(%ebp)
428b1e:	52                   	push   %edx
428b1f:	ff 75 fc             	push   -0x4(%ebp)
428b22:	ff 75 fc             	push   -0x4(%ebp)
428b25:	6a 04                	push   $0x4
428b27:	51                   	push   %ecx
428b28:	ff 75 08             	push   0x8(%ebp)
428b2b:	ff 75 10             	push   0x10(%ebp)
428b2e:	50                   	push   %eax
428b2f:	ff 75 f8             	push   -0x8(%ebp)
428b32:	ff 75 f4             	push   -0xc(%ebp)
428b35:	e8 c0 35 00 00       	call   0x42c0fa
428b3a:	8b f0                	mov    %eax,%esi
428b3c:	85 f6                	test   %esi,%esi
428b3e:	79 11                	jns    0x428b51
428b40:	ff 75 08             	push   0x8(%ebp)
428b43:	68 88 e6 45 00       	push   $0x45e688
428b48:	56                   	push   %esi
428b49:	e8 e1 75 01 00       	call   0x44012f
428b4e:	83 c4 0c             	add    $0xc,%esp
428b51:	8d 45 dc             	lea    -0x24(%ebp),%eax
428b54:	50                   	push   %eax
428b55:	e8 7b f8 ff ff       	call   0x4283d5
428b5a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428b5e:	74 08                	je     0x428b68
428b60:	ff 75 fc             	push   -0x4(%ebp)
428b63:	e8 87 c9 01 00       	call   0x4454ef
428b68:	5f                   	pop    %edi
428b69:	8b c6                	mov    %esi,%eax
428b6b:	5e                   	pop    %esi
428b6c:	5b                   	pop    %ebx
428b6d:	8b e5                	mov    %ebp,%esp
428b6f:	5d                   	pop    %ebp
428b70:	c2 14 00             	ret    $0x14
428b73:	55                   	push   %ebp
428b74:	8b ec                	mov    %esp,%ebp
428b76:	51                   	push   %ecx
428b77:	51                   	push   %ecx
428b78:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
428b7c:	8d 45 f8             	lea    -0x8(%ebp),%eax
428b7f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
428b83:	53                   	push   %ebx
428b84:	56                   	push   %esi
428b85:	57                   	push   %edi
428b86:	50                   	push   %eax
428b87:	33 c0                	xor    %eax,%eax
428b89:	39 45 08             	cmp    %eax,0x8(%ebp)
428b8c:	68 19 00 02 00       	push   $0x20019
428b91:	0f 95 c0             	setne  %al
428b94:	68 78 0a 45 00       	push   $0x450a78
428b99:	05 01 00 00 80       	add    $0x80000001,%eax
428b9e:	50                   	push   %eax
428b9f:	e8 9b 82 01 00       	call   0x440e3f
428ba4:	8b f0                	mov    %eax,%esi
428ba6:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
428bac:	74 7e                	je     0x428c2c
428bae:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
428bb4:	74 76                	je     0x428c2c
428bb6:	85 f6                	test   %esi,%esi
428bb8:	79 0f                	jns    0x428bc9
428bba:	68 38 e2 45 00       	push   $0x45e238
428bbf:	56                   	push   %esi
428bc0:	e8 6a 75 01 00       	call   0x44012f
428bc5:	59                   	pop    %ecx
428bc6:	59                   	pop    %ecx
428bc7:	eb 65                	jmp    0x428c2e
428bc9:	8d 45 fc             	lea    -0x4(%ebp),%eax
428bcc:	33 db                	xor    %ebx,%ebx
428bce:	50                   	push   %eax
428bcf:	53                   	push   %ebx
428bd0:	ff 75 f8             	push   -0x8(%ebp)
428bd3:	e8 44 81 01 00       	call   0x440d1c
428bd8:	8b f0                	mov    %eax,%esi
428bda:	81 fe 03 01 07 80    	cmp    $0x80070103,%esi
428be0:	74 4a                	je     0x428c2c
428be2:	8b 7d 0c             	mov    0xc(%ebp),%edi
428be5:	85 f6                	test   %esi,%esi
428be7:	78 6d                	js     0x428c56
428be9:	6a ff                	push   $0xffffffff
428beb:	ff 77 10             	push   0x10(%edi)
428bee:	6a ff                	push   $0xffffffff
428bf0:	ff 75 fc             	push   -0x4(%ebp)
428bf3:	6a 01                	push   $0x1
428bf5:	6a 00                	push   $0x0
428bf7:	ff 15 28 b1 44 00    	call   *0x44b128
428bfd:	83 f8 02             	cmp    $0x2,%eax
428c00:	74 12                	je     0x428c14
428c02:	ff 75 10             	push   0x10(%ebp)
428c05:	57                   	push   %edi
428c06:	ff 75 fc             	push   -0x4(%ebp)
428c09:	ff 75 f8             	push   -0x8(%ebp)
428c0c:	ff 75 08             	push   0x8(%ebp)
428c0f:	e8 bb fc ff ff       	call   0x4288cf
428c14:	8d 45 fc             	lea    -0x4(%ebp),%eax
428c17:	43                   	inc    %ebx
428c18:	50                   	push   %eax
428c19:	53                   	push   %ebx
428c1a:	ff 75 f8             	push   -0x8(%ebp)
428c1d:	e8 fa 80 01 00       	call   0x440d1c
428c22:	8b f0                	mov    %eax,%esi
428c24:	81 fe 03 01 07 80    	cmp    $0x80070103,%esi
428c2a:	75 b9                	jne    0x428be5
428c2c:	33 f6                	xor    %esi,%esi
428c2e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428c32:	74 08                	je     0x428c3c
428c34:	ff 75 fc             	push   -0x4(%ebp)
428c37:	e8 b3 c8 01 00       	call   0x4454ef
428c3c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
428c40:	74 09                	je     0x428c4b
428c42:	ff 75 f8             	push   -0x8(%ebp)
428c45:	ff 15 00 b0 44 00    	call   *0x44b000
428c4b:	5f                   	pop    %edi
428c4c:	8b c6                	mov    %esi,%eax
428c4e:	5e                   	pop    %esi
428c4f:	5b                   	pop    %ebx
428c50:	8b e5                	mov    %ebp,%esp
428c52:	5d                   	pop    %ebp
428c53:	c2 0c 00             	ret    $0xc
428c56:	68 60 e2 45 00       	push   $0x45e260
428c5b:	e9 5f ff ff ff       	jmp    0x428bbf
428c60:	55                   	push   %ebp
428c61:	8b ec                	mov    %esp,%ebp
428c63:	56                   	push   %esi
428c64:	8b 75 08             	mov    0x8(%ebp),%esi
428c67:	83 3e 00             	cmpl   $0x0,(%esi)
428c6a:	74 3d                	je     0x428ca9
428c6c:	53                   	push   %ebx
428c6d:	33 db                	xor    %ebx,%ebx
428c6f:	39 5e 04             	cmp    %ebx,0x4(%esi)
428c72:	76 2d                	jbe    0x428ca1
428c74:	57                   	push   %edi
428c75:	33 ff                	xor    %edi,%edi
428c77:	8b 06                	mov    (%esi),%eax
428c79:	83 c0 18             	add    $0x18,%eax
428c7c:	03 c7                	add    %edi,%eax
428c7e:	50                   	push   %eax
428c7f:	e8 c0 50 fe ff       	call   0x40dd44
428c84:	8b 06                	mov    (%esi),%eax
428c86:	8b 44 07 10          	mov    0x10(%edi,%eax,1),%eax
428c8a:	85 c0                	test   %eax,%eax
428c8c:	74 06                	je     0x428c94
428c8e:	50                   	push   %eax
428c8f:	e8 5b c8 01 00       	call   0x4454ef
428c94:	43                   	inc    %ebx
428c95:	81 c7 f8 00 00 00    	add    $0xf8,%edi
428c9b:	3b 5e 04             	cmp    0x4(%esi),%ebx
428c9e:	72 d7                	jb     0x428c77
428ca0:	5f                   	pop    %edi
428ca1:	ff 36                	push   (%esi)
428ca3:	e8 f1 ac fd ff       	call   0x403999
428ca8:	5b                   	pop    %ebx
428ca9:	83 26 00             	andl   $0x0,(%esi)
428cac:	83 66 04 00          	andl   $0x0,0x4(%esi)
428cb0:	5e                   	pop    %esi
428cb1:	5d                   	pop    %ebp
428cb2:	c2 04 00             	ret    $0x4
428cb5:	55                   	push   %ebp
428cb6:	8b ec                	mov    %esp,%ebp
428cb8:	51                   	push   %ecx
428cb9:	53                   	push   %ebx
428cba:	8b 5d 14             	mov    0x14(%ebp),%ebx
428cbd:	33 c0                	xor    %eax,%eax
428cbf:	56                   	push   %esi
428cc0:	57                   	push   %edi
428cc1:	8b 7d 18             	mov    0x18(%ebp),%edi
428cc4:	50                   	push   %eax
428cc5:	89 03                	mov    %eax,(%ebx)
428cc7:	89 45 fc             	mov    %eax,-0x4(%ebp)
428cca:	89 07                	mov    %eax,(%edi)
428ccc:	8d 45 fc             	lea    -0x4(%ebp),%eax
428ccf:	68 05 00 07 80       	push   $0x80070005
428cd4:	50                   	push   %eax
428cd5:	e8 9e 92 fd ff       	call   0x401f78
428cda:	8b f0                	mov    %eax,%esi
428cdc:	83 c4 0c             	add    $0xc,%esp
428cdf:	85 f6                	test   %esi,%esi
428ce1:	79 12                	jns    0x428cf5
428ce3:	68 bc e7 45 00       	push   $0x45e7bc
428ce8:	56                   	push   %esi
428ce9:	e8 41 74 01 00       	call   0x44012f
428cee:	59                   	pop    %ecx
428cef:	59                   	pop    %ecx
428cf0:	e9 8e 00 00 00       	jmp    0x428d83
428cf5:	8b 75 08             	mov    0x8(%ebp),%esi
428cf8:	8b 06                	mov    (%esi),%eax
428cfa:	8b 48 10             	mov    0x10(%eax),%ecx
428cfd:	33 c0                	xor    %eax,%eax
428cff:	81 7d 10 91 01 00 00 	cmpl   $0x191,0x10(%ebp)
428d06:	50                   	push   %eax
428d07:	50                   	push   %eax
428d08:	8b 11                	mov    (%ecx),%edx
428d0a:	50                   	push   %eax
428d0b:	6a 0f                	push   $0xf
428d0d:	ff 75 fc             	push   -0x4(%ebp)
428d10:	0f 95 c0             	setne  %al
428d13:	6a 05                	push   $0x5
428d15:	ff 76 04             	push   0x4(%esi)
428d18:	83 c0 03             	add    $0x3,%eax
428d1b:	50                   	push   %eax
428d1c:	51                   	push   %ecx