4058d6:	6a 00                	push   $0x0
4058d8:	68 00 30 00 00       	push   $0x3000
4058dd:	68 00 00 01 00       	push   $0x10000
4058e2:	51                   	push   %ecx
4058e3:	50                   	push   %eax
4058e4:	52                   	push   %edx
4058e5:	57                   	push   %edi
4058e6:	e8 65 fc ff ff       	call   0x405550
4058eb:	83 c4 28             	add    $0x28,%esp
4058ee:	5e                   	pop    %esi
4058ef:	c3                   	ret
4058f0:	6a 00                	push   $0x0
4058f2:	6a 00                	push   $0x0
4058f4:	52                   	push   %edx
4058f5:	57                   	push   %edi
4058f6:	6a 00                	push   $0x0
4058f8:	6a 00                	push   $0x0
4058fa:	56                   	push   %esi
4058fb:	ff 15 a8 34 47 00    	call   *0x4734a8
405901:	5e                   	pop    %esi
405902:	c3                   	ret
405903:	cc                   	int3
405904:	cc                   	int3
405905:	cc                   	int3
405906:	cc                   	int3
405907:	cc                   	int3
405908:	cc                   	int3
405909:	cc                   	int3
40590a:	cc                   	int3
40590b:	cc                   	int3
40590c:	cc                   	int3
40590d:	cc                   	int3
40590e:	cc                   	int3
40590f:	cc                   	int3
405910:	81 ec 38 08 00 00    	sub    $0x838,%esp
405916:	53                   	push   %ebx
405917:	55                   	push   %ebp
405918:	56                   	push   %esi
405919:	8d 44 24 10          	lea    0x10(%esp),%eax
40591d:	57                   	push   %edi
40591e:	50                   	push   %eax
40591f:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
405926:	00
405927:	e8 e4 d1 ff ff       	call   0x402b10
40592c:	8b bc 24 50 08 00 00 	mov    0x850(%esp),%edi
405933:	8b 1d 30 34 47 00    	mov    0x473430,%ebx
405939:	83 c4 04             	add    $0x4,%esp
40593c:	57                   	push   %edi
40593d:	6a 00                	push   $0x0
40593f:	68 3a 04 12 00       	push   $0x12043a
405944:	ff d3                	call   *%ebx
405946:	8b 2d 24 34 47 00    	mov    0x473424,%ebp
40594c:	8b f0                	mov    %eax,%esi
40594e:	ff d5                	call   *%ebp
405950:	85 f6                	test   %esi,%esi
405952:	75 56                	jne    0x4059aa
405954:	39 b4 24 50 08 00 00 	cmp    %esi,0x850(%esp)
40595b:	74 35                	je     0x405992
40595d:	e8 ae da ff ff       	call   0x403410
405962:	57                   	push   %edi
405963:	56                   	push   %esi
405964:	68 3a 04 12 00       	push   $0x12043a
405969:	ff d3                	call   *%ebx
40596b:	8b f0                	mov    %eax,%esi
40596d:	ff d5                	call   *%ebp
40596f:	8b d8                	mov    %eax,%ebx
405971:	e8 4a db ff ff       	call   0x4034c0
405976:	85 f6                	test   %esi,%esi
405978:	75 30                	jne    0x4059aa
40597a:	85 db                	test   %ebx,%ebx
40597c:	0f 84 13 01 00 00    	je     0x405a95
405982:	5f                   	pop    %edi
405983:	5e                   	pop    %esi
405984:	5d                   	pop    %ebp
405985:	b8 f8 ff ff ff       	mov    $0xfffffff8,%eax
40598a:	5b                   	pop    %ebx
40598b:	81 c4 38 08 00 00    	add    $0x838,%esp
405991:	c3                   	ret
405992:	85 c0                	test   %eax,%eax
405994:	0f 84 fd 00 00 00    	je     0x405a97
40599a:	5f                   	pop    %edi
40599b:	5e                   	pop    %esi
40599c:	5d                   	pop    %ebp
40599d:	b8 f8 ff ff ff       	mov    $0xfffffff8,%eax
4059a2:	5b                   	pop    %ebx
4059a3:	81 c4 38 08 00 00    	add    $0x838,%esp
4059a9:	c3                   	ret
4059aa:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4059ae:	51                   	push   %ecx
4059af:	6a 00                	push   $0x0
4059b1:	8d 54 24 24          	lea    0x24(%esp),%edx
4059b5:	52                   	push   %edx
4059b6:	57                   	push   %edi
4059b7:	e8 b4 bc ff ff       	call   0x401670
4059bc:	83 c4 10             	add    $0x10,%esp
4059bf:	85 c0                	test   %eax,%eax
4059c1:	0f 85 c7 00 00 00    	jne    0x405a8e
4059c7:	39 44 24 18          	cmp    %eax,0x18(%esp)
4059cb:	0f 85 bd 00 00 00    	jne    0x405a8e
4059d1:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4059d5:	85 c0                	test   %eax,%eax
4059d7:	0f 84 aa 00 00 00    	je     0x405a87
4059dd:	8b 94 24 58 08 00 00 	mov    0x858(%esp),%edx
4059e4:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4059e8:	51                   	push   %ecx
4059e9:	6a 01                	push   $0x1
4059eb:	6a 00                	push   $0x0
4059ed:	6a 00                	push   $0x0
4059ef:	68 00 30 00 00       	push   $0x3000
4059f4:	68 00 00 01 00       	push   $0x10000
4059f9:	6a 18                	push   $0x18
4059fb:	52                   	push   %edx
4059fc:	6a 00                	push   $0x0
4059fe:	50                   	push   %eax
4059ff:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
405a06:	00
405a07:	e8 44 fb ff ff       	call   0x405550
405a0c:	8b d8                	mov    %eax,%ebx
405a0e:	83 c4 28             	add    $0x28,%esp
405a11:	85 db                	test   %ebx,%ebx
405a13:	75 06                	jne    0x405a1b
405a15:	ff d5                	call   *%ebp
405a17:	8b f8                	mov    %eax,%edi
405a19:	eb 1f                	jmp    0x405a3a
405a1b:	8b 84 24 54 08 00 00 	mov    0x854(%esp),%eax
405a22:	50                   	push   %eax
405a23:	53                   	push   %ebx
405a24:	ff 15 80 34 47 00    	call   *0x473480
405a2a:	83 f8 ff             	cmp    $0xffffffff,%eax
405a2d:	75 23                	jne    0x405a52
405a2f:	ff d5                	call   *%ebp
405a31:	8b f8                	mov    %eax,%edi
405a33:	53                   	push   %ebx
405a34:	ff 15 2c 34 47 00    	call   *0x47342c
405a3a:	85 f6                	test   %esi,%esi
405a3c:	74 07                	je     0x405a45
405a3e:	56                   	push   %esi
405a3f:	ff 15 2c 34 47 00    	call   *0x47342c
405a45:	8b c7                	mov    %edi,%eax
405a47:	5f                   	pop    %edi
405a48:	5e                   	pop    %esi
405a49:	5d                   	pop    %ebp
405a4a:	5b                   	pop    %ebx
405a4b:	81 c4 38 08 00 00    	add    $0x838,%esp
405a51:	c3                   	ret
405a52:	3d 02 01 00 00       	cmp    $0x102,%eax
405a57:	75 07                	jne    0x405a60
405a59:	bf b4 05 00 00       	mov    $0x5b4,%edi
405a5e:	eb d3                	jmp    0x405a33
405a60:	8b 8c 24 58 08 00 00 	mov    0x858(%esp),%ecx
405a67:	33 ff                	xor    %edi,%edi
405a69:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
405a6d:	74 c4                	je     0x405a33
405a6f:	8b 44 24 10          	mov    0x10(%esp),%eax
405a73:	85 c0                	test   %eax,%eax
405a75:	74 bc                	je     0x405a33
405a77:	68 00 80 00 00       	push   $0x8000
405a7c:	57                   	push   %edi
405a7d:	50                   	push   %eax
405a7e:	56                   	push   %esi
405a7f:	ff 15 98 34 47 00    	call   *0x473498
405a85:	eb ac                	jmp    0x405a33
405a87:	bf 01 00 00 00       	mov    $0x1,%edi
405a8c:	eb ac                	jmp    0x405a3a
405a8e:	bf 7e 00 00 00       	mov    $0x7e,%edi
405a93:	eb a5                	jmp    0x405a3a
405a95:	8b c3                	mov    %ebx,%eax
405a97:	5f                   	pop    %edi
405a98:	5e                   	pop    %esi
405a99:	5d                   	pop    %ebp
405a9a:	5b                   	pop    %ebx
405a9b:	81 c4 38 08 00 00    	add    $0x838,%esp
405aa1:	c3                   	ret
405aa2:	cc                   	int3
405aa3:	cc                   	int3
405aa4:	cc                   	int3
405aa5:	cc                   	int3
405aa6:	cc                   	int3
405aa7:	cc                   	int3
405aa8:	cc                   	int3
405aa9:	cc                   	int3
405aaa:	cc                   	int3
405aab:	cc                   	int3
405aac:	cc                   	int3
405aad:	cc                   	int3
405aae:	cc                   	int3
405aaf:	cc                   	int3
405ab0:	83 ec 18             	sub    $0x18,%esp
405ab3:	8b 4c 24 28          	mov    0x28(%esp),%ecx
405ab7:	8b 54 24 2c          	mov    0x2c(%esp),%edx
405abb:	33 c0                	xor    %eax,%eax
405abd:	89 44 24 04          	mov    %eax,0x4(%esp)
405ac1:	89 44 24 0c          	mov    %eax,0xc(%esp)
405ac5:	89 44 24 10          	mov    %eax,0x10(%esp)
405ac9:	89 44 24 14          	mov    %eax,0x14(%esp)
405acd:	89 44 24 08          	mov    %eax,0x8(%esp)
405ad1:	8b 44 24 24          	mov    0x24(%esp),%eax
405ad5:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
405ad9:	89 44 24 04          	mov    %eax,0x4(%esp)
405add:	8b 44 24 30          	mov    0x30(%esp),%eax
405ae1:	8d 0c 24             	lea    (%esp),%ecx
405ae4:	51                   	push   %ecx
405ae5:	8b 4c 24 20          	mov    0x20(%esp),%ecx
405ae9:	89 54 24 14          	mov    %edx,0x14(%esp)
405aed:	8b 54 24 38          	mov    0x38(%esp),%edx
405af1:	89 44 24 18          	mov    %eax,0x18(%esp)
405af5:	8b 44 24 24          	mov    0x24(%esp),%eax
405af9:	52                   	push   %edx
405afa:	50                   	push   %eax
405afb:	51                   	push   %ecx
405afc:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
405b03:	00
405b04:	e8 07 fe ff ff       	call   0x405910
405b09:	83 c4 28             	add    $0x28,%esp
405b0c:	c3                   	ret
405b0d:	cc                   	int3
405b0e:	cc                   	int3
405b0f:	cc                   	int3
405b10:	83 ec 08             	sub    $0x8,%esp
405b13:	8d 44 24 04          	lea    0x4(%esp),%eax
405b17:	50                   	push   %eax
405b18:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
405b1f:	00
405b20:	e8 eb cf ff ff       	call   0x402b10
405b25:	8b 44 24 20          	mov    0x20(%esp),%eax
405b29:	83 c4 04             	add    $0x4,%esp
405b2c:	85 c0                	test   %eax,%eax
405b2e:	74 06                	je     0x405b36
405b30:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
405b36:	55                   	push   %ebp
405b37:	8b 6c 24 14          	mov    0x14(%esp),%ebp
405b3b:	6a 00                	push   $0x0
405b3d:	68 80 00 00 00       	push   $0x80
405b42:	6a 03                	push   $0x3
405b44:	6a 00                	push   $0x0
405b46:	6a 00                	push   $0x0
405b48:	6a 00                	push   $0x0
405b4a:	55                   	push   %ebp
405b4b:	ff 15 ac 34 47 00    	call   *0x4734ac
405b51:	83 f8 ff             	cmp    $0xffffffff,%eax
405b54:	75 0a                	jne    0x405b60
405b56:	b8 02 00 00 00       	mov    $0x2,%eax
405b5b:	5d                   	pop    %ebp
405b5c:	83 c4 08             	add    $0x8,%esp
405b5f:	c3                   	ret
405b60:	53                   	push   %ebx
405b61:	56                   	push   %esi
405b62:	57                   	push   %edi
405b63:	50                   	push   %eax
405b64:	ff 15 2c 34 47 00    	call   *0x47342c
405b6a:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
405b6e:	8b 1d 30 34 47 00    	mov    0x473430,%ebx
405b74:	57                   	push   %edi
405b75:	6a 00                	push   $0x0
405b77:	68 3a 04 12 00       	push   $0x12043a
405b7c:	ff d3                	call   *%ebx
405b7e:	8b f0                	mov    %eax,%esi
405b80:	85 f6                	test   %esi,%esi
405b82:	75 2d                	jne    0x405bb1
405b84:	39 44 24 24          	cmp    %eax,0x24(%esp)
405b88:	74 19                	je     0x405ba3
405b8a:	e8 81 d8 ff ff       	call   0x403410
405b8f:	57                   	push   %edi
405b90:	56                   	push   %esi
405b91:	68 3a 04 12 00       	push   $0x12043a
405b96:	ff d3                	call   *%ebx
405b98:	8b f0                	mov    %eax,%esi
405b9a:	e8 21 d9 ff ff       	call   0x4034c0
405b9f:	85 f6                	test   %esi,%esi
405ba1:	75 0e                	jne    0x405bb1
405ba3:	ff 15 24 34 47 00    	call   *0x473424
405ba9:	5f                   	pop    %edi
405baa:	5e                   	pop    %esi
405bab:	5b                   	pop    %ebx
405bac:	5d                   	pop    %ebp
405bad:	83 c4 08             	add    $0x8,%esp
405bb0:	c3                   	ret
405bb1:	68 24 c9 45 00       	push   $0x45c924
405bb6:	68 10 c9 45 00       	push   $0x45c910
405bbb:	ff 15 38 34 47 00    	call   *0x473438
405bc1:	50                   	push   %eax
405bc2:	ff 15 34 34 47 00    	call   *0x473434
405bc8:	85 c0                	test   %eax,%eax
405bca:	75 0d                	jne    0x405bd9
405bcc:	ff 15 24 34 47 00    	call   *0x473424
405bd2:	8b d8                	mov    %eax,%ebx
405bd4:	e9 b2 00 00 00       	jmp    0x405c8b
405bd9:	8b cd                	mov    %ebp,%ecx
405bdb:	8d 79 02             	lea    0x2(%ecx),%edi
405bde:	8b ff                	mov    %edi,%edi
405be0:	66 8b 11             	mov    (%ecx),%dx
405be3:	83 c1 02             	add    $0x2,%ecx
405be6:	66 85 d2             	test   %dx,%dx
405be9:	75 f5                	jne    0x405be0
405beb:	8d 54 24 10          	lea    0x10(%esp),%edx
405bef:	52                   	push   %edx
405bf0:	6a 01                	push   $0x1
405bf2:	33 db                	xor    %ebx,%ebx
405bf4:	53                   	push   %ebx
405bf5:	53                   	push   %ebx
405bf6:	2b cf                	sub    %edi,%ecx
405bf8:	68 00 30 00 00       	push   $0x3000
405bfd:	d1 f9                	sar    $1,%ecx
405bff:	68 00 00 01 00       	push   $0x10000
405c04:	8d 4c 09 02          	lea    0x2(%ecx,%ecx,1),%ecx
405c08:	51                   	push   %ecx
405c09:	55                   	push   %ebp
405c0a:	53                   	push   %ebx
405c0b:	50                   	push   %eax
405c0c:	89 5c 24 38          	mov    %ebx,0x38(%esp)
405c10:	e8 3b f9 ff ff       	call   0x405550
405c15:	8b f8                	mov    %eax,%edi
405c17:	83 c4 28             	add    $0x28,%esp
405c1a:	3b fb                	cmp    %ebx,%edi
405c1c:	75 0a                	jne    0x405c28
405c1e:	ff 15 24 34 47 00    	call   *0x473424
405c24:	8b d8                	mov    %eax,%ebx
405c26:	eb 63                	jmp    0x405c8b
405c28:	8b 54 24 28          	mov    0x28(%esp),%edx
405c2c:	52                   	push   %edx
405c2d:	57                   	push   %edi
405c2e:	ff 15 80 34 47 00    	call   *0x473480
405c34:	83 f8 ff             	cmp    $0xffffffff,%eax
405c37:	75 0a                	jne    0x405c43
405c39:	ff 15 24 34 47 00    	call   *0x473424
405c3f:	8b d8                	mov    %eax,%ebx
405c41:	eb 35                	jmp    0x405c78
405c43:	3d 02 01 00 00       	cmp    $0x102,%eax
405c48:	75 07                	jne    0x405c51
405c4a:	bb b4 05 00 00       	mov    $0x5b4,%ebx
405c4f:	eb 27                	jmp    0x405c78
405c51:	8b 44 24 10          	mov    0x10(%esp),%eax
405c55:	3b c3                	cmp    %ebx,%eax
405c57:	74 1f                	je     0x405c78
405c59:	8b 4c 24 14          	mov    0x14(%esp),%ecx
405c5d:	81 f9 82 00 00 00    	cmp    $0x82,%ecx
405c63:	74 13                	je     0x405c78
405c65:	83 f9 64             	cmp    $0x64,%ecx
405c68:	74 0e                	je     0x405c78
405c6a:	68 00 80 00 00       	push   $0x8000
405c6f:	53                   	push   %ebx
405c70:	50                   	push   %eax
405c71:	56                   	push   %esi
405c72:	ff 15 98 34 47 00    	call   *0x473498
405c78:	8b 44 24 2c          	mov    0x2c(%esp),%eax
405c7c:	85 c0                	test   %eax,%eax
405c7e:	74 04                	je     0x405c84
405c80:	89 38                	mov    %edi,(%eax)
405c82:	eb 07                	jmp    0x405c8b
405c84:	57                   	push   %edi