415a79:	e8 4b f8 ff ff       	call   0x4152c9
415a7e:	8b f0                	mov    %eax,%esi
415a80:	85 f6                	test   %esi,%esi
415a82:	75 1e                	jne    0x415aa2
415a84:	68 91 10 00 00       	push   $0x1091
415a89:	68 0c 35 40 00       	push   $0x40350c
415a8e:	53                   	push   %ebx
415a8f:	68 96 00 00 00       	push   $0x96
415a94:	ff 15 14 c4 42 00    	call   *0x42c414
415a9a:	83 c4 10             	add    $0x10,%esp
415a9d:	e9 90 00 00 00       	jmp    0x415b32
415aa2:	c7 45 c8 18 00 00 00 	movl   $0x18,-0x38(%ebp)
415aa9:	89 5d cc             	mov    %ebx,-0x34(%ebp)
415aac:	c7 45 d4 40 00 00 00 	movl   $0x40,-0x2c(%ebp)
415ab3:	c7 45 d0 50 13 40 00 	movl   $0x401350,-0x30(%ebp)
415aba:	85 ff                	test   %edi,%edi
415abc:	75 07                	jne    0x415ac5
415abe:	c7 45 d0 58 13 40 00 	movl   $0x401358,-0x30(%ebp)
415ac5:	8d 45 c8             	lea    -0x38(%ebp),%eax
415ac8:	89 5d d8             	mov    %ebx,-0x28(%ebp)
415acb:	50                   	push   %eax
415acc:	6a 01                	push   $0x1
415ace:	8d 45 e4             	lea    -0x1c(%ebp),%eax
415ad1:	89 5d dc             	mov    %ebx,-0x24(%ebp)
415ad4:	50                   	push   %eax
415ad5:	ff 15 10 c4 42 00    	call   *0x42c410
415adb:	85 c0                	test   %eax,%eax
415add:	78 53                	js     0x415b32
415adf:	56                   	push   %esi
415ae0:	8d 45 c0             	lea    -0x40(%ebp),%eax
415ae3:	50                   	push   %eax
415ae4:	ff 15 0c c4 42 00    	call   *0x42c40c
415aea:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
415aef:	8b c8                	mov    %eax,%ecx
415af1:	23 c2                	and    %edx,%eax
415af3:	3b c2                	cmp    %edx,%eax
415af5:	75 10                	jne    0x415b07
415af7:	51                   	push   %ecx
415af8:	68 ab 10 00 00       	push   $0x10ab
415afd:	68 40 35 40 00       	push   $0x403540
415b02:	e9 58 ff ff ff       	jmp    0x415a5f
415b07:	8d 45 e0             	lea    -0x20(%ebp),%eax
415b0a:	50                   	push   %eax
415b0b:	6a 14                	push   $0x14
415b0d:	8d 45 e8             	lea    -0x18(%ebp),%eax
415b10:	50                   	push   %eax
415b11:	6a 02                	push   $0x2
415b13:	8d 45 c0             	lea    -0x40(%ebp),%eax
415b16:	50                   	push   %eax
415b17:	ff 75 e4             	push   -0x1c(%ebp)
415b1a:	ff 15 08 c4 42 00    	call   *0x42c408
415b20:	85 c0                	test   %eax,%eax
415b22:	78 0e                	js     0x415b32
415b24:	83 7d ec 04          	cmpl   $0x4,-0x14(%ebp)
415b28:	75 08                	jne    0x415b32
415b2a:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
415b2d:	74 03                	je     0x415b32
415b2f:	33 db                	xor    %ebx,%ebx
415b31:	43                   	inc    %ebx
415b32:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
415b36:	74 08                	je     0x415b40
415b38:	ff 75 e4             	push   -0x1c(%ebp)
415b3b:	e8 76 24 01 00       	call   0x427fb6
415b40:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415b43:	8b c3                	mov    %ebx,%eax
415b45:	5f                   	pop    %edi
415b46:	5e                   	pop    %esi
415b47:	33 cd                	xor    %ebp,%ecx
415b49:	5b                   	pop    %ebx
415b4a:	e8 91 1f 01 00       	call   0x427ae0
415b4f:	c9                   	leave
415b50:	c3                   	ret
415b51:	8b ff                	mov    %edi,%edi
415b53:	55                   	push   %ebp
415b54:	8b ec                	mov    %esp,%ebp
415b56:	83 ec 2c             	sub    $0x2c,%esp
415b59:	53                   	push   %ebx
415b5a:	56                   	push   %esi
415b5b:	57                   	push   %edi
415b5c:	8b f1                	mov    %ecx,%esi
415b5e:	8d 7d d8             	lea    -0x28(%ebp),%edi
415b61:	6a 06                	push   $0x6
415b63:	8b da                	mov    %edx,%ebx
415b65:	89 75 f0             	mov    %esi,-0x10(%ebp)
415b68:	33 d2                	xor    %edx,%edx
415b6a:	33 c0                	xor    %eax,%eax
415b6c:	89 55 fc             	mov    %edx,-0x4(%ebp)
415b6f:	89 55 f8             	mov    %edx,-0x8(%ebp)
415b72:	59                   	pop    %ecx
415b73:	f3 ab                	rep stos %eax,%es:(%edi)
415b75:	85 f6                	test   %esi,%esi
415b77:	0f 84 e0 02 00 00    	je     0x415e5d
415b7d:	85 db                	test   %ebx,%ebx
415b7f:	0f 84 d8 02 00 00    	je     0x415e5d
415b85:	68 50 02 00 00       	push   $0x250
415b8a:	52                   	push   %edx
415b8b:	53                   	push   %ebx
415b8c:	e8 1c 28 01 00       	call   0x4283ad
415b91:	83 c4 0c             	add    $0xc,%esp
415b94:	6a 04                	push   $0x4
415b96:	68 00 10 00 00       	push   $0x1000
415b9b:	68 5a 02 00 00       	push   $0x25a
415ba0:	6a 00                	push   $0x0
415ba2:	ff 15 d8 c0 42 00    	call   *0x42c0d8
415ba8:	8b f8                	mov    %eax,%edi
415baa:	85 ff                	test   %edi,%edi
415bac:	75 0a                	jne    0x415bb8
415bae:	be 0e 00 07 80       	mov    $0x8007000e,%esi
415bb3:	e9 80 02 00 00       	jmp    0x415e38
415bb8:	8b ce                	mov    %esi,%ecx
415bba:	e8 cd fd ff ff       	call   0x41598c
415bbf:	33 c9                	xor    %ecx,%ecx
415bc1:	89 45 f4             	mov    %eax,-0xc(%ebp)
415bc4:	c7 45 d8 18 00 00 00 	movl   $0x18,-0x28(%ebp)
415bcb:	89 4d dc             	mov    %ecx,-0x24(%ebp)
415bce:	c7 45 e4 40 00 00 00 	movl   $0x40,-0x1c(%ebp)
415bd5:	c7 45 e0 68 13 40 00 	movl   $0x401368,-0x20(%ebp)
415bdc:	85 c0                	test   %eax,%eax
415bde:	75 07                	jne    0x415be7
415be0:	c7 45 e0 70 13 40 00 	movl   $0x401370,-0x20(%ebp)
415be7:	8d 45 d8             	lea    -0x28(%ebp),%eax
415bea:	89 4d e8             	mov    %ecx,-0x18(%ebp)
415bed:	50                   	push   %eax
415bee:	6a 01                	push   $0x1
415bf0:	8d 45 fc             	lea    -0x4(%ebp),%eax
415bf3:	89 4d ec             	mov    %ecx,-0x14(%ebp)
415bf6:	50                   	push   %eax
415bf7:	ff 15 10 c4 42 00    	call   *0x42c410
415bfd:	8b f0                	mov    %eax,%esi
415bff:	85 f6                	test   %esi,%esi
415c01:	79 0b                	jns    0x415c0e
415c03:	81 ce 00 00 00 10    	or     $0x10000000,%esi
415c09:	e9 2a 02 00 00       	jmp    0x415e38
415c0e:	be 5a 02 00 00       	mov    $0x25a,%esi
415c13:	56                   	push   %esi
415c14:	6a 00                	push   $0x0
415c16:	57                   	push   %edi
415c17:	e8 91 27 01 00       	call   0x4283ad
415c1c:	83 c4 0c             	add    $0xc,%esp
415c1f:	b8 40 13 40 00       	mov    $0x401340,%eax
415c24:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
415c28:	75 05                	jne    0x415c2f
415c2a:	b8 48 13 40 00       	mov    $0x401348,%eax
415c2f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
415c32:	51                   	push   %ecx
415c33:	56                   	push   %esi
415c34:	57                   	push   %edi
415c35:	6a 02                	push   $0x2
415c37:	50                   	push   %eax
415c38:	ff 75 fc             	push   -0x4(%ebp)
415c3b:	ff 15 08 c4 42 00    	call   *0x42c408
415c41:	85 c0                	test   %eax,%eax
415c43:	79 0a                	jns    0x415c4f
415c45:	be 90 04 07 80       	mov    $0x80070490,%esi
415c4a:	e9 e9 01 00 00       	jmp    0x415e38
415c4f:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
415c53:	75 f0                	jne    0x415c45
415c55:	8d 47 0c             	lea    0xc(%edi),%eax
415c58:	ba 25 01 00 00       	mov    $0x125,%edx
415c5d:	8d 4b 04             	lea    0x4(%ebx),%ecx
415c60:	50                   	push   %eax
415c61:	e8 cf 2d ff ff       	call   0x408a35
415c66:	8b f0                	mov    %eax,%esi
415c68:	85 f6                	test   %esi,%esi
415c6a:	79 20                	jns    0x415c8c
415c6c:	56                   	push   %esi
415c6d:	68 41 11 00 00       	push   $0x1141
415c72:	68 80 35 40 00       	push   $0x403580
415c77:	6a 00                	push   $0x0
415c79:	68 96 00 00 00       	push   $0x96
415c7e:	ff 15 14 c4 42 00    	call   *0x42c414
415c84:	83 c4 14             	add    $0x14,%esp
415c87:	e9 ac 01 00 00       	jmp    0x415e38
415c8c:	8b 03                	mov    (%ebx),%eax
415c8e:	be 5a 02 00 00       	mov    $0x25a,%esi
415c93:	83 c8 01             	or     $0x1,%eax
415c96:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
415c9a:	89 03                	mov    %eax,(%ebx)
415c9c:	0f 84 a4 00 00 00    	je     0x415d46
415ca2:	56                   	push   %esi
415ca3:	83 c8 7c             	or     $0x7c,%eax
415ca6:	6a 00                	push   $0x0
415ca8:	57                   	push   %edi
415ca9:	89 03                	mov    %eax,(%ebx)
415cab:	e8 fd 26 01 00       	call   0x4283ad
415cb0:	83 c4 0c             	add    $0xc,%esp
415cb3:	8d 45 f8             	lea    -0x8(%ebp),%eax
415cb6:	50                   	push   %eax
415cb7:	56                   	push   %esi
415cb8:	57                   	push   %edi
415cb9:	6a 02                	push   $0x2
415cbb:	68 38 13 40 00       	push   $0x401338
415cc0:	ff 75 fc             	push   -0x4(%ebp)
415cc3:	ff 15 08 c4 42 00    	call   *0x42c408
415cc9:	85 c0                	test   %eax,%eax
415ccb:	78 1c                	js     0x415ce9
415ccd:	83 7f 04 04          	cmpl   $0x4,0x4(%edi)
415cd1:	75 16                	jne    0x415ce9
415cd3:	8b 4f 0c             	mov    0xc(%edi),%ecx
415cd6:	8b 03                	mov    (%ebx),%eax
415cd8:	f7 d9                	neg    %ecx
415cda:	1b c9                	sbb    %ecx,%ecx
415cdc:	83 e0 fb             	and    $0xfffffffb,%eax
415cdf:	83 e1 fc             	and    $0xfffffffc,%ecx
415ce2:	83 c1 04             	add    $0x4,%ecx
415ce5:	0b c8                	or     %eax,%ecx
415ce7:	89 0b                	mov    %ecx,(%ebx)
415ce9:	f6 03 04             	testb  $0x4,(%ebx)
415cec:	74 58                	je     0x415d46
415cee:	56                   	push   %esi
415cef:	6a 00                	push   $0x0
415cf1:	57                   	push   %edi
415cf2:	e8 b6 26 01 00       	call   0x4283ad
415cf7:	83 c4 0c             	add    $0xc,%esp
415cfa:	8d 45 f8             	lea    -0x8(%ebp),%eax
415cfd:	50                   	push   %eax
415cfe:	56                   	push   %esi
415cff:	57                   	push   %edi
415d00:	6a 02                	push   $0x2
415d02:	68 60 13 40 00       	push   $0x401360
415d07:	ff 75 fc             	push   -0x4(%ebp)
415d0a:	ff 15 08 c4 42 00    	call   *0x42c408
415d10:	85 c0                	test   %eax,%eax
415d12:	78 32                	js     0x415d46
415d14:	83 7f 04 04          	cmpl   $0x4,0x4(%edi)
415d18:	75 2c                	jne    0x415d46
415d1a:	8b 47 0c             	mov    0xc(%edi),%eax
415d1d:	8b 0b                	mov    (%ebx),%ecx
415d1f:	83 f8 07             	cmp    $0x7,%eax
415d22:	76 16                	jbe    0x415d3a
415d24:	3d 00 00 00 80       	cmp    $0x80000000,%eax
415d29:	75 0a                	jne    0x415d35
415d2b:	83 e1 f7             	and    $0xfffffff7,%ecx
415d2e:	83 c9 70             	or     $0x70,%ecx
415d31:	89 0b                	mov    %ecx,(%ebx)
415d33:	eb 11                	jmp    0x415d46
415d35:	83 c9 78             	or     $0x78,%ecx
415d38:	eb f7                	jmp    0x415d31
415d3a:	c1 e0 03             	shl    $0x3,%eax
415d3d:	33 c1                	xor    %ecx,%eax
415d3f:	83 e0 78             	and    $0x78,%eax
415d42:	33 c1                	xor    %ecx,%eax
415d44:	89 03                	mov    %eax,(%ebx)
415d46:	56                   	push   %esi
415d47:	6a 00                	push   $0x0
415d49:	57                   	push   %edi
415d4a:	e8 5e 26 01 00       	call   0x4283ad
415d4f:	83 c4 0c             	add    $0xc,%esp
415d52:	8d 45 f8             	lea    -0x8(%ebp),%eax
415d55:	50                   	push   %eax
415d56:	56                   	push   %esi
415d57:	57                   	push   %edi
415d58:	6a 02                	push   $0x2
415d5a:	68 30 13 40 00       	push   $0x401330
415d5f:	ff 75 fc             	push   -0x4(%ebp)
415d62:	ff 15 08 c4 42 00    	call   *0x42c408
415d68:	85 c0                	test   %eax,%eax
415d6a:	78 2a                	js     0x415d96
415d6c:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
415d70:	75 07                	jne    0x415d79
415d72:	66 83 7f 0c 31       	cmpw   $0x31,0xc(%edi)
415d77:	74 0c                	je     0x415d85
415d79:	83 7f 04 04          	cmpl   $0x4,0x4(%edi)
415d7d:	75 17                	jne    0x415d96
415d7f:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
415d83:	74 11                	je     0x415d96
415d85:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415d88:	e8 5a fc ff ff       	call   0x4159e7
415d8d:	85 c0                	test   %eax,%eax
415d8f:	75 05                	jne    0x415d96
415d91:	6a 02                	push   $0x2
415d93:	59                   	pop    %ecx
415d94:	eb 02                	jmp    0x415d98
415d96:	33 c9                	xor    %ecx,%ecx
415d98:	8b 03                	mov    (%ebx),%eax
415d9a:	be 96 00 00 00       	mov    $0x96,%esi
415d9f:	83 e0 fd             	and    $0xfffffffd,%eax
415da2:	0b c1                	or     %ecx,%eax
415da4:	89 03                	mov    %eax,(%ebx)
415da6:	83 e0 01             	and    $0x1,%eax
415da9:	50                   	push   %eax
415daa:	68 a6 11 00 00       	push   $0x11a6
415daf:	68 d4 35 40 00       	push   $0x4035d4
415db4:	6a 02                	push   $0x2
415db6:	56                   	push   %esi
415db7:	ff 15 14 c4 42 00    	call   *0x42c414
415dbd:	8b 03                	mov    (%ebx),%eax
415dbf:	83 c4 14             	add    $0x14,%esp
415dc2:	d1 e8                	shr    $1,%eax
415dc4:	83 e0 01             	and    $0x1,%eax
415dc7:	50                   	push   %eax
415dc8:	68 a7 11 00 00       	push   $0x11a7
415dcd:	68 10 36 40 00       	push   $0x403610
415dd2:	6a 02                	push   $0x2
415dd4:	56                   	push   %esi
415dd5:	ff 15 14 c4 42 00    	call   *0x42c414
415ddb:	8b 03                	mov    (%ebx),%eax
415ddd:	83 c4 14             	add    $0x14,%esp
415de0:	c1 e8 02             	shr    $0x2,%eax
415de3:	83 e0 01             	and    $0x1,%eax
415de6:	50                   	push   %eax
415de7:	68 a8 11 00 00       	push   $0x11a8
415dec:	68 4c 36 40 00       	push   $0x40364c
415df1:	6a 02                	push   $0x2
415df3:	56                   	push   %esi
415df4:	ff 15 14 c4 42 00    	call   *0x42c414
415dfa:	8b 03                	mov    (%ebx),%eax
415dfc:	83 c4 14             	add    $0x14,%esp
415dff:	c1 e8 03             	shr    $0x3,%eax
415e02:	83 e0 0f             	and    $0xf,%eax
415e05:	50                   	push   %eax
415e06:	68 a9 11 00 00       	push   $0x11a9
415e0b:	68 88 36 40 00       	push   $0x403688
415e10:	6a 02                	push   $0x2
415e12:	56                   	push   %esi
415e13:	ff 15 14 c4 42 00    	call   *0x42c414
415e19:	83 c4 14             	add    $0x14,%esp
415e1c:	8d 43 04             	lea    0x4(%ebx),%eax
415e1f:	50                   	push   %eax
415e20:	68 aa 11 00 00       	push   $0x11aa
415e25:	68 cc 36 40 00       	push   $0x4036cc
415e2a:	6a 02                	push   $0x2
415e2c:	56                   	push   %esi
415e2d:	ff 15 14 c4 42 00    	call   *0x42c414
415e33:	83 c4 14             	add    $0x14,%esp
415e36:	33 f6                	xor    %esi,%esi
415e38:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
415e3c:	74 09                	je     0x415e47
415e3e:	ff 75 fc             	push   -0x4(%ebp)
415e41:	ff 15 48 c4 42 00    	call   *0x42c448
415e47:	85 ff                	test   %edi,%edi
415e49:	74 0e                	je     0x415e59
415e4b:	68 00 80 00 00       	push   $0x8000
415e50:	6a 00                	push   $0x0
415e52:	57                   	push   %edi
415e53:	ff 15 d4 c0 42 00    	call   *0x42c0d4
415e59:	8b c6                	mov    %esi,%eax
415e5b:	eb 05                	jmp    0x415e62
415e5d:	b8 57 00 07 80       	mov    $0x80070057,%eax
415e62:	5f                   	pop    %edi
415e63:	5e                   	pop    %esi
415e64:	5b                   	pop    %ebx
415e65:	c9                   	leave
415e66:	c3                   	ret
415e67:	8b ff                	mov    %edi,%edi
415e69:	55                   	push   %ebp
415e6a:	8b ec                	mov    %esp,%ebp
415e6c:	81 ec 10 04 00 00    	sub    $0x410,%esp
415e72:	a1 74 b6 42 00       	mov    0x42b674,%eax
415e77:	33 c5                	xor    %ebp,%eax