59297a:	50                   	push   %eax
59297b:	e8 60 ee f1 ff       	call   0x4b17e0
592980:	50                   	push   %eax
592981:	56                   	push   %esi
592982:	e8 59 3c 00 00       	call   0x5965e0
592987:	6a 00                	push   $0x0
592989:	6a 00                	push   $0x0
59298b:	68 02 03 00 00       	push   $0x302
592990:	56                   	push   %esi
592991:	e8 3a b3 ff ff       	call   0x58dcd0
592996:	83 c4 20             	add    $0x20,%esp
592999:	89 46 18             	mov    %eax,0x18(%esi)
59299c:	85 c0                	test   %eax,%eax
59299e:	74 0a                	je     0x5929aa
5929a0:	50                   	push   %eax
5929a1:	56                   	push   %esi
5929a2:	e8 29 03 00 00       	call   0x592cd0
5929a7:	83 c4 08             	add    $0x8,%esp
5929aa:	6a 00                	push   $0x0
5929ac:	6a 00                	push   $0x0
5929ae:	6a 5a                	push   $0x5a
5929b0:	56                   	push   %esi
5929b1:	e8 1a b3 ff ff       	call   0x58dcd0
5929b6:	6a 00                	push   $0x0
5929b8:	6a 00                	push   $0x0
5929ba:	6a 58                	push   $0x58
5929bc:	56                   	push   %esi
5929bd:	89 46 14             	mov    %eax,0x14(%esi)
5929c0:	e8 0b b3 ff ff       	call   0x58dcd0
5929c5:	6a 00                	push   $0x0
5929c7:	6a 00                	push   $0x0
5929c9:	68 8c 00 00 00       	push   $0x8c
5929ce:	56                   	push   %esi
5929cf:	89 46 24             	mov    %eax,0x24(%esi)
5929d2:	e8 f9 b2 ff ff       	call   0x58dcd0
5929d7:	83 c4 30             	add    $0x30,%esp
5929da:	89 46 28             	mov    %eax,0x28(%esi)
5929dd:	85 c0                	test   %eax,%eax
5929df:	74 0d                	je     0x5929ee
5929e1:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5929e5:	75 07                	jne    0x5929ee
5929e7:	81 4e 10 80 00 00 00 	orl    $0x80,0x10(%esi)
5929ee:	8b 06                	mov    (%esi),%eax
5929f0:	55                   	push   %ebp
5929f1:	57                   	push   %edi
5929f2:	33 ff                	xor    %edi,%edi
5929f4:	8b 68 18             	mov    0x18(%eax),%ebp
5929f7:	55                   	push   %ebp
5929f8:	e8 13 bc f1 ff       	call   0x4ae610
5929fd:	83 c4 04             	add    $0x4,%esp
592a00:	85 c0                	test   %eax,%eax
592a02:	7e 53                	jle    0x592a57
592a04:	53                   	push   %ebx
592a05:	57                   	push   %edi
592a06:	55                   	push   %ebp
592a07:	e8 24 bd f1 ff       	call   0x4ae730
592a0c:	8b d8                	mov    %eax,%ebx
592a0e:	ff 33                	push   (%ebx)
592a10:	e8 cb 4f f1 ff       	call   0x4a79e0
592a15:	83 c4 0c             	add    $0xc,%esp
592a18:	3d 59 03 00 00       	cmp    $0x359,%eax
592a1d:	75 07                	jne    0x592a26
592a1f:	81 4e 10 00 10 00 00 	orl    $0x1000,0x10(%esi)
592a26:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
592a2a:	7e 13                	jle    0x592a3f
592a2c:	3d 02 03 00 00       	cmp    $0x302,%eax
592a31:	74 0c                	je     0x592a3f
592a33:	83 f8 5a             	cmp    $0x5a,%eax
592a36:	74 07                	je     0x592a3f
592a38:	3d 8c 00 00 00       	cmp    $0x8c,%eax
592a3d:	75 10                	jne    0x592a4f
592a3f:	55                   	push   %ebp
592a40:	47                   	inc    %edi
592a41:	e8 ca bb f1 ff       	call   0x4ae610
592a46:	83 c4 04             	add    $0x4,%esp
592a49:	3b f8                	cmp    %eax,%edi
592a4b:	7c b8                	jl     0x592a05
592a4d:	eb 07                	jmp    0x592a56
592a4f:	81 4e 10 00 02 00 00 	orl    $0x200,0x10(%esi)
592a56:	5b                   	pop    %ebx
592a57:	56                   	push   %esi
592a58:	e8 03 01 00 00       	call   0x592b60
592a5d:	83 c4 04             	add    $0x4,%esp
592a60:	5f                   	pop    %edi
592a61:	5d                   	pop    %ebp
592a62:	85 c0                	test   %eax,%eax
592a64:	74 1c                	je     0x592a82
592a66:	8b 46 44             	mov    0x44(%esi),%eax
592a69:	8b 40 04             	mov    0x4(%eax),%eax
592a6c:	85 c0                	test   %eax,%eax
592a6e:	0f 84 b4 00 00 00    	je     0x592b28
592a74:	56                   	push   %esi
592a75:	ff d0                	call   *%eax
592a77:	83 c4 04             	add    $0x4,%esp
592a7a:	85 c0                	test   %eax,%eax
592a7c:	0f 85 a6 00 00 00    	jne    0x592b28
592a82:	33 c0                	xor    %eax,%eax
592a84:	5e                   	pop    %esi
592a85:	c3                   	ret
592a86:	8b 46 44             	mov    0x44(%esi),%eax
592a89:	8b 40 08             	mov    0x8(%eax),%eax
592a8c:	85 c0                	test   %eax,%eax
592a8e:	74 0a                	je     0x592a9a
592a90:	56                   	push   %esi
592a91:	ff d0                	call   *%eax
592a93:	83 c4 04             	add    $0x4,%esp
592a96:	85 c0                	test   %eax,%eax
592a98:	74 e8                	je     0x592a82
592a9a:	8b 46 14             	mov    0x14(%esi),%eax
592a9d:	85 c0                	test   %eax,%eax
592a9f:	74 09                	je     0x592aaa
592aa1:	50                   	push   %eax
592aa2:	e8 19 c2 00 00       	call   0x59ecc0
592aa7:	83 c4 04             	add    $0x4,%esp
592aaa:	8b 46 18             	mov    0x18(%esi),%eax
592aad:	85 c0                	test   %eax,%eax
592aaf:	74 09                	je     0x592aba
592ab1:	50                   	push   %eax
592ab2:	e8 e9 74 00 00       	call   0x599fa0
592ab7:	83 c4 04             	add    $0x4,%esp
592aba:	ff 76 24             	push   0x24(%esi)
592abd:	e8 1e 11 f2 ff       	call   0x4b3be0
592ac2:	ff 76 28             	push   0x28(%esi)
592ac5:	e8 16 11 f2 ff       	call   0x4b3be0
592aca:	68 c0 dd 58 00       	push   $0x58ddc0
592acf:	ff 76 40             	push   0x40(%esi)
592ad2:	e8 69 bb f1 ff       	call   0x4ae640
592ad7:	83 c4 10             	add    $0x10,%esp
592ada:	b8 01 00 00 00       	mov    $0x1,%eax
592adf:	5e                   	pop    %esi
592ae0:	c3                   	ret
592ae1:	a1 d0 43 72 00       	mov    0x7243d0,%eax
592ae6:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
592aed:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
592af4:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
592afb:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
592b02:	c7 46 20 7f 80 00 00 	movl   $0x807f,0x20(%esi)
592b09:	89 46 44             	mov    %eax,0x44(%esi)
592b0c:	c7 46 48 00 00 00 00 	movl   $0x0,0x48(%esi)
592b13:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
592b1a:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
592b21:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
592b28:	b8 01 00 00 00       	mov    $0x1,%eax
592b2d:	5e                   	pop    %esi
592b2e:	c3                   	ret
592b2f:	cc                   	int3
592b30:	b8 cc 7f 6c 00       	mov    $0x6c7fcc,%eax
592b35:	c3                   	ret
592b36:	cc                   	int3
592b37:	cc                   	int3
592b38:	cc                   	int3
592b39:	cc                   	int3
592b3a:	cc                   	int3
592b3b:	cc                   	int3
592b3c:	cc                   	int3
592b3d:	cc                   	int3
592b3e:	cc                   	int3
592b3f:	cc                   	int3
592b40:	8b 44 24 08          	mov    0x8(%esp),%eax
592b44:	8b 00                	mov    (%eax),%eax
592b46:	ff 30                	push   (%eax)
592b48:	8b 44 24 08          	mov    0x8(%esp),%eax
592b4c:	8b 00                	mov    (%eax),%eax
592b4e:	ff 30                	push   (%eax)
592b50:	e8 0b ed f1 ff       	call   0x4b1860
592b55:	83 c4 08             	add    $0x8,%esp
592b58:	c3                   	ret
592b59:	cc                   	int3
592b5a:	cc                   	int3
592b5b:	cc                   	int3
592b5c:	cc                   	int3
592b5d:	cc                   	int3
592b5e:	cc                   	int3
592b5f:	cc                   	int3
592b60:	b8 08 00 00 00       	mov    $0x8,%eax
592b65:	e8 86 e9 04 00       	call   0x5e14f0
592b6a:	53                   	push   %ebx
592b6b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
592b6f:	55                   	push   %ebp
592b70:	56                   	push   %esi
592b71:	57                   	push   %edi
592b72:	8b 03                	mov    (%ebx),%eax
592b74:	33 ed                	xor    %ebp,%ebp
592b76:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
592b7d:	00
592b7e:	8b 70 14             	mov    0x14(%eax),%esi
592b81:	56                   	push   %esi
592b82:	89 74 24 18          	mov    %esi,0x18(%esp)
592b86:	e8 85 ba f1 ff       	call   0x4ae610
592b8b:	83 c4 04             	add    $0x4,%esp
592b8e:	85 c0                	test   %eax,%eax
592b90:	7e 32                	jle    0x592bc4
592b92:	55                   	push   %ebp
592b93:	56                   	push   %esi
592b94:	e8 97 bb f1 ff       	call   0x4ae730
592b99:	8b f0                	mov    %eax,%esi
592b9b:	8d 44 24 24          	lea    0x24(%esp),%eax
592b9f:	6a 00                	push   $0x0
592ba1:	50                   	push   %eax
592ba2:	68 03 03 00 00       	push   $0x303
592ba7:	56                   	push   %esi
592ba8:	e8 43 b1 ff ff       	call   0x58dcf0
592bad:	8b f8                	mov    %eax,%edi
592baf:	83 c4 18             	add    $0x18,%esp
592bb2:	85 ff                	test   %edi,%edi
592bb4:	75 1b                	jne    0x592bd1
592bb6:	83 7c 24 1c ff       	cmpl   $0xffffffff,0x1c(%esp)
592bbb:	74 42                	je     0x592bff
592bbd:	81 4b 10 80 00 00 00 	orl    $0x80,0x10(%ebx)
592bc4:	5f                   	pop    %edi
592bc5:	5e                   	pop    %esi
592bc6:	5d                   	pop    %ebp
592bc7:	b8 01 00 00 00       	mov    $0x1,%eax
592bcc:	5b                   	pop    %ebx
592bcd:	83 c4 08             	add    $0x8,%esp
592bd0:	c3                   	ret
592bd1:	83 7b 40 00          	cmpl   $0x0,0x40(%ebx)
592bd5:	89 7c 24 10          	mov    %edi,0x10(%esp)
592bd9:	75 10                	jne    0x592beb
592bdb:	e8 20 ba f1 ff       	call   0x4ae600
592be0:	89 43 40             	mov    %eax,0x40(%ebx)
592be3:	85 c0                	test   %eax,%eax
592be5:	0f 84 d7 00 00 00    	je     0x592cc2
592beb:	57                   	push   %edi
592bec:	ff 73 40             	push   0x40(%ebx)
592bef:	e8 9c ba f1 ff       	call   0x4ae690
592bf4:	83 c4 08             	add    $0x8,%esp
592bf7:	85 c0                	test   %eax,%eax
592bf9:	0f 84 c3 00 00 00    	je     0x592cc2
592bff:	8b 44 24 10          	mov    0x10(%esp),%eax
592c03:	89 46 0c             	mov    %eax,0xc(%esi)
592c06:	8d 44 24 1c          	lea    0x1c(%esp),%eax
592c0a:	6a 00                	push   $0x0
592c0c:	50                   	push   %eax
592c0d:	68 8d 00 00 00       	push   $0x8d
592c12:	56                   	push   %esi
592c13:	e8 d8 b0 ff ff       	call   0x58dcf0
592c18:	8b f8                	mov    %eax,%edi
592c1a:	83 c4 10             	add    $0x10,%esp
592c1d:	85 ff                	test   %edi,%edi
592c1f:	75 10                	jne    0x592c31
592c21:	83 7c 24 1c ff       	cmpl   $0xffffffff,0x1c(%esp)
592c26:	75 95                	jne    0x592bbd
592c28:	c7 46 10 ff ff ff ff 	movl   $0xffffffff,0x10(%esi)
592c2f:	eb 12                	jmp    0x592c43
592c31:	57                   	push   %edi
592c32:	e8 99 9e ff ff       	call   0x58cad0
592c37:	57                   	push   %edi
592c38:	89 46 10             	mov    %eax,0x10(%esi)
592c3b:	e8 10 0f f2 ff       	call   0x4b3b50
592c40:	83 c4 08             	add    $0x8,%esp
592c43:	8b 76 08             	mov    0x8(%esi),%esi
592c46:	56                   	push   %esi
592c47:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
592c4e:	00
592c4f:	e8 bc b9 f1 ff       	call   0x4ae610
592c54:	8b 4c 24 20          	mov    0x20(%esp),%ecx
592c58:	83 c4 04             	add    $0x4,%esp
592c5b:	3b c8                	cmp    %eax,%ecx
592c5d:	7d 40                	jge    0x592c9f
592c5f:	90                   	nop
592c60:	51                   	push   %ecx
592c61:	56                   	push   %esi
592c62:	e8 c9 ba f1 ff       	call   0x4ae730
592c67:	83 c4 08             	add    $0x8,%esp
592c6a:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
592c6e:	7e 11                	jle    0x592c81
592c70:	ff 30                	push   (%eax)
592c72:	e8 69 4d f1 ff       	call   0x4a79e0
592c77:	83 c4 04             	add    $0x4,%esp
592c7a:	3d 03 03 00 00       	cmp    $0x303,%eax
592c7f:	75 17                	jne    0x592c98
592c81:	ff 44 24 1c          	incl   0x1c(%esp)
592c85:	56                   	push   %esi
592c86:	e8 85 b9 f1 ff       	call   0x4ae610
592c8b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
592c8f:	83 c4 04             	add    $0x4,%esp
592c92:	3b c8                	cmp    %eax,%ecx
592c94:	7c ca                	jl     0x592c60
592c96:	eb 07                	jmp    0x592c9f
592c98:	81 4b 10 00 02 00 00 	orl    $0x200,0x10(%ebx)
592c9f:	8b 74 24 14          	mov    0x14(%esp),%esi
592ca3:	45                   	inc    %ebp
592ca4:	56                   	push   %esi
592ca5:	e8 66 b9 f1 ff       	call   0x4ae610
592caa:	83 c4 04             	add    $0x4,%esp
592cad:	3b e8                	cmp    %eax,%ebp
592caf:	0f 8c dd fe ff ff    	jl     0x592b92
592cb5:	5f                   	pop    %edi
592cb6:	5e                   	pop    %esi
592cb7:	5d                   	pop    %ebp
592cb8:	b8 01 00 00 00       	mov    $0x1,%eax
592cbd:	5b                   	pop    %ebx
592cbe:	83 c4 08             	add    $0x8,%esp
592cc1:	c3                   	ret
592cc2:	5f                   	pop    %edi
592cc3:	5e                   	pop    %esi
592cc4:	5d                   	pop    %ebp
592cc5:	33 c0                	xor    %eax,%eax
592cc7:	5b                   	pop    %ebx
592cc8:	83 c4 08             	add    $0x8,%esp
592ccb:	c3                   	ret
592ccc:	cc                   	int3
592ccd:	cc                   	int3
592cce:	cc                   	int3
592ccf:	cc                   	int3
592cd0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
592cd4:	33 c0                	xor    %eax,%eax
592cd6:	8b 54 24 08          	mov    0x8(%esp),%edx
592cda:	56                   	push   %esi
592cdb:	83 49 1c 01          	orl    $0x1,0x1c(%ecx)
592cdf:	39 42 04             	cmp    %eax,0x4(%edx)
592ce2:	7e 09                	jle    0x592ced
592ce4:	83 49 1c 04          	orl    $0x4,0x1c(%ecx)
592ce8:	b8 01 00 00 00       	mov    $0x1,%eax
592ced:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
592cf1:	5e                   	pop    %esi
592cf2:	7e 05                	jle    0x592cf9
592cf4:	40                   	inc    %eax
592cf5:	83 49 1c 08          	orl    $0x8,0x1c(%ecx)
592cf9:	83 7a 14 00          	cmpl   $0x0,0x14(%edx)
592cfd:	7e 05                	jle    0x592d04
592cff:	40                   	inc    %eax
592d00:	83 49 1c 10          	orl    $0x10,0x1c(%ecx)
592d04:	83 f8 01             	cmp    $0x1,%eax
592d07:	7e 04                	jle    0x592d0d
592d09:	83 49 1c 02          	orl    $0x2,0x1c(%ecx)
592d0d:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
592d11:	7e 04                	jle    0x592d17
592d13:	83 49 1c 20          	orl    $0x20,0x1c(%ecx)
592d17:	83 7a 0c 00          	cmpl   $0x0,0xc(%edx)
592d1b:	74 31                	je     0x592d4e
592d1d:	83 49 1c 40          	orl    $0x40,0x1c(%ecx)
592d21:	8b 42 0c             	mov    0xc(%edx),%eax
592d24:	83 38 00             	cmpl   $0x0,(%eax)
592d27:	7e 09                	jle    0x592d32
592d29:	8b 40 08             	mov    0x8(%eax),%eax
592d2c:	0f b6 00             	movzbl (%eax),%eax
592d2f:	89 41 20             	mov    %eax,0x20(%ecx)
592d32:	8b 42 0c             	mov    0xc(%edx),%eax
592d35:	83 38 01             	cmpl   $0x1,(%eax)
592d38:	7e 0d                	jle    0x592d47
592d3a:	8b 40 08             	mov    0x8(%eax),%eax
592d3d:	0f b6 40 01          	movzbl 0x1(%eax),%eax
592d41:	c1 e0 08             	shl    $0x8,%eax
592d44:	09 41 20             	or     %eax,0x20(%ecx)
592d47:	81 61 20 7f 80 00 00 	andl   $0x807f,0x20(%ecx)
592d4e:	8b 01                	mov    (%ecx),%eax
592d50:	ff 70 08             	push   0x8(%eax)
592d53:	ff 32                	push   (%edx)