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
423b36:	89 87 ac 00 00 00    	mov    %eax,0xac(%edi)
423b3c:	c7 87 d8 00 00 00 01 	movl   $0x1,0xd8(%edi)
423b43:	00 00 00
423b46:	c7 47 40 02 00 00 00 	movl   $0x2,0x40(%edi)
423b4d:	8b f3                	mov    %ebx,%esi
423b4f:	89 5d 88             	mov    %ebx,-0x78(%ebp)
423b52:	39 9f c8 00 00 00    	cmp    %ebx,0xc8(%edi)
423b58:	0f 86 b6 02 00 00    	jbe    0x423e14
423b5e:	8b cb                	mov    %ebx,%ecx
423b60:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
423b63:	8b 87 c4 00 00 00    	mov    0xc4(%edi),%eax
423b69:	03 c1                	add    %ecx,%eax
423b6b:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
423b71:	8d 4d ac             	lea    -0x54(%ebp),%ecx
423b74:	89 45 9c             	mov    %eax,-0x64(%ebp)
423b77:	51                   	push   %ecx
423b78:	53                   	push   %ebx
423b79:	ff 30                	push   (%eax)
423b7b:	e9 63 02 00 00       	jmp    0x423de3
423b80:	85 f6                	test   %esi,%esi
423b82:	0f 88 3b 03 00 00    	js     0x423ec3
423b88:	6a ff                	push   $0xffffffff
423b8a:	8d 45 ac             	lea    -0x54(%ebp),%eax
423b8d:	50                   	push   %eax
423b8e:	6a ff                	push   $0xffffffff
423b90:	ff b7 90 00 00 00    	push   0x90(%edi)
423b96:	6a 01                	push   $0x1
423b98:	53                   	push   %ebx
423b99:	ff 15 28 b1 44 00    	call   *0x44b128
423b9f:	83 f8 02             	cmp    $0x2,%eax
423ba2:	0f 84 24 02 00 00    	je     0x423dcc
423ba8:	8d 45 a8             	lea    -0x58(%ebp),%eax
423bab:	50                   	push   %eax
423bac:	68 a8 eb 44 00       	push   $0x44eba8
423bb1:	6a 02                	push   $0x2
423bb3:	53                   	push   %ebx
423bb4:	8d 45 ac             	lea    -0x54(%ebp),%eax
423bb7:	50                   	push   %eax
423bb8:	e8 3b ed 01 00       	call   0x4428f8
423bbd:	8b f0                	mov    %eax,%esi
423bbf:	81 fe 45 06 07 80    	cmp    $0x80070645,%esi
423bc5:	74 18                	je     0x423bdf
423bc7:	81 fe 48 06 07 80    	cmp    $0x80070648,%esi
423bcd:	74 10                	je     0x423bdf
423bcf:	85 f6                	test   %esi,%esi
423bd1:	0f 88 bc 02 00 00    	js     0x423e93
423bd7:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
423bdd:	eb 43                	jmp    0x423c22
423bdf:	8d 45 a8             	lea    -0x58(%ebp),%eax
423be2:	50                   	push   %eax
423be3:	68 a8 eb 44 00       	push   $0x44eba8
423be8:	6a 04                	push   $0x4
423bea:	58                   	pop    %eax
423beb:	50                   	push   %eax
423bec:	53                   	push   %ebx
423bed:	8d 45 ac             	lea    -0x54(%ebp),%eax
423bf0:	50                   	push   %eax
423bf1:	e8 02 ed 01 00       	call   0x4428f8
423bf6:	8b f0                	mov    %eax,%esi
423bf8:	81 fe 45 06 07 80    	cmp    $0x80070645,%esi
423bfe:	0f 84 c8 01 00 00    	je     0x423dcc
423c04:	81 fe 48 06 07 80    	cmp    $0x80070648,%esi
423c0a:	0f 84 bc 01 00 00    	je     0x423dcc
423c10:	85 f6                	test   %esi,%esi
423c12:	0f 88 9d 02 00 00    	js     0x423eb5
423c18:	c7 85 7c ff ff ff 01 	movl   $0x1,-0x84(%ebp)
423c1f:	00 00 00
423c22:	8d 45 90             	lea    -0x70(%ebp),%eax
423c25:	50                   	push   %eax
423c26:	53                   	push   %ebx
423c27:	ff 75 a8             	push   -0x58(%ebp)
423c2a:	e8 2b 0f 02 00       	call   0x444b5a
423c2f:	8b f0                	mov    %eax,%esi
423c31:	85 f6                	test   %esi,%esi
423c33:	0f 88 73 02 00 00    	js     0x423eac
423c39:	8b 75 9c             	mov    -0x64(%ebp),%esi
423c3c:	8b 4d 90             	mov    -0x70(%ebp),%ecx
423c3f:	8b 45 94             	mov    -0x6c(%ebp),%eax
423c42:	39 5e 18             	cmp    %ebx,0x18(%esi)
423c45:	74 2f                	je     0x423c76
423c47:	39 5e 20             	cmp    %ebx,0x20(%esi)
423c4a:	74 16                	je     0x423c62
423c4c:	3b 46 0c             	cmp    0xc(%esi),%eax
423c4f:	0f 82 7a 01 00 00    	jb     0x423dcf
423c55:	77 1f                	ja     0x423c76
423c57:	3b 4e 08             	cmp    0x8(%esi),%ecx
423c5a:	0f 82 6f 01 00 00    	jb     0x423dcf
423c60:	eb 14                	jmp    0x423c76
423c62:	3b 46 0c             	cmp    0xc(%esi),%eax
423c65:	0f 82 64 01 00 00    	jb     0x423dcf
423c6b:	77 09                	ja     0x423c76
423c6d:	3b 4e 08             	cmp    0x8(%esi),%ecx
423c70:	0f 86 59 01 00 00    	jbe    0x423dcf
423c76:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
423c79:	74 2f                	je     0x423caa
423c7b:	39 5e 24             	cmp    %ebx,0x24(%esi)
423c7e:	74 16                	je     0x423c96
423c80:	3b 46 14             	cmp    0x14(%esi),%eax
423c83:	0f 87 46 01 00 00    	ja     0x423dcf
423c89:	72 1f                	jb     0x423caa
423c8b:	3b 4e 10             	cmp    0x10(%esi),%ecx
423c8e:	0f 87 3b 01 00 00    	ja     0x423dcf
423c94:	eb 14                	jmp    0x423caa
423c96:	3b 46 14             	cmp    0x14(%esi),%eax
423c99:	0f 87 30 01 00 00    	ja     0x423dcf
423c9f:	72 09                	jb     0x423caa
423ca1:	3b 4e 10             	cmp    0x10(%esi),%ecx
423ca4:	0f 83 25 01 00 00    	jae    0x423dcf
423caa:	89 5d 80             	mov    %ebx,-0x80(%ebp)
423cad:	39 5e 34             	cmp    %ebx,0x34(%esi)
423cb0:	74 75                	je     0x423d27
423cb2:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
423cb8:	8d 45 8c             	lea    -0x74(%ebp),%eax
423cbb:	50                   	push   %eax
423cbc:	68 c4 eb 44 00       	push   $0x44ebc4
423cc1:	8d 04 55 02 00 00 00 	lea    0x2(,%edx,2),%eax
423cc8:	50                   	push   %eax
423cc9:	53                   	push   %ebx
423cca:	8d 45 ac             	lea    -0x54(%ebp),%eax
423ccd:	50                   	push   %eax
423cce:	e8 25 ec 01 00       	call   0x4428f8
423cd3:	85 c0                	test   %eax,%eax
423cd5:	78 69                	js     0x423d40
423cd7:	8d 45 80             	lea    -0x80(%ebp),%eax
423cda:	50                   	push   %eax
423cdb:	53                   	push   %ebx
423cdc:	ff 75 8c             	push   -0x74(%ebp)
423cdf:	e8 f8 ec fd ff       	call   0x4029dc
423ce4:	85 c0                	test   %eax,%eax
423ce6:	78 58                	js     0x423d40
423ce8:	8b cb                	mov    %ebx,%ecx
423cea:	8b d3                	mov    %ebx,%edx
423cec:	39 4e 34             	cmp    %ecx,0x34(%esi)
423cef:	76 1b                	jbe    0x423d0c
423cf1:	8b 46 30             	mov    0x30(%esi),%eax
423cf4:	8b 75 80             	mov    -0x80(%ebp),%esi
423cf7:	3b 30                	cmp    (%eax),%esi
423cf9:	8b 75 9c             	mov    -0x64(%ebp),%esi
423cfc:	74 0b                	je     0x423d09
423cfe:	41                   	inc    %ecx
423cff:	83 c0 04             	add    $0x4,%eax
423d02:	3b 4e 34             	cmp    0x34(%esi),%ecx
423d05:	72 ed                	jb     0x423cf4
423d07:	eb 03                	jmp    0x423d0c
423d09:	33 d2                	xor    %edx,%edx
423d0b:	42                   	inc    %edx
423d0c:	8b 46 2c             	mov    0x2c(%esi),%eax
423d0f:	85 c0                	test   %eax,%eax
423d11:	74 0c                	je     0x423d1f
423d13:	85 d2                	test   %edx,%edx
423d15:	0f 84 b4 00 00 00    	je     0x423dcf
423d1b:	85 c0                	test   %eax,%eax
423d1d:	75 08                	jne    0x423d27
423d1f:	85 d2                	test   %edx,%edx
423d21:	0f 85 a8 00 00 00    	jne    0x423dcf
423d27:	39 5e 28             	cmp    %ebx,0x28(%esi)
423d2a:	74 2e                	je     0x423d5a
423d2c:	83 7d a0 03          	cmpl   $0x3,-0x60(%ebp)
423d30:	74 24                	je     0x423d56
423d32:	83 7f 40 02          	cmpl   $0x2,0x40(%edi)
423d36:	75 1e                	jne    0x423d56
423d38:	33 c0                	xor    %eax,%eax
423d3a:	40                   	inc    %eax
423d3b:	89 47 40             	mov    %eax,0x40(%edi)
423d3e:	eb 1d                	jmp    0x423d5d
423d40:	53                   	push   %ebx
423d41:	ff 75 8c             	push   -0x74(%ebp)
423d44:	8d 4d ac             	lea    -0x54(%ebp),%ecx
423d47:	51                   	push   %ecx
423d48:	53                   	push   %ebx
423d49:	68 98 00 00 e0       	push   $0xe0000098
423d4e:	50                   	push   %eax
423d4f:	e8 7b c3 01 00       	call   0x4400cf
423d54:	eb 79                	jmp    0x423dcf
423d56:	8b f3                	mov    %ebx,%esi