456a2e:	8d 4d c0             	lea    -0x40(%ebp),%ecx
456a31:	51                   	push   %ecx
456a32:	ff 70 20             	push   0x20(%eax)
456a35:	ff 15 e8 7d 4a 00    	call   *0x4a7de8
456a3b:	8b 45 dc             	mov    -0x24(%ebp),%eax
456a3e:	2b 45 d4             	sub    -0x2c(%ebp),%eax
456a41:	01 45 e4             	add    %eax,-0x1c(%ebp)
456a44:	8b 45 c8             	mov    -0x38(%ebp),%eax
456a47:	2b 45 c0             	sub    -0x40(%ebp),%eax
456a4a:	01 45 e0             	add    %eax,-0x20(%ebp)
456a4d:	51                   	push   %ecx
456a4e:	53                   	push   %ebx
456a4f:	8d 45 e0             	lea    -0x20(%ebp),%eax
456a52:	50                   	push   %eax
456a53:	51                   	push   %ecx
456a54:	8b cf                	mov    %edi,%ecx
456a56:	e8 0e b3 fd ff       	call   0x431d69
456a5b:	85 c0                	test   %eax,%eax
456a5d:	74 a4                	je     0x456a03
456a5f:	8b 43 48             	mov    0x48(%ebx),%eax
456a62:	85 c0                	test   %eax,%eax
456a64:	74 42                	je     0x456aa8
456a66:	ff 70 20             	push   0x20(%eax)
456a69:	ff 15 b0 7d 4a 00    	call   *0x4a7db0
456a6f:	85 c0                	test   %eax,%eax
456a71:	74 17                	je     0x456a8a
456a73:	8b 7b 48             	mov    0x48(%ebx),%edi
456a76:	8b 07                	mov    (%edi),%eax
456a78:	8b 70 60             	mov    0x60(%eax),%esi
456a7b:	8b ce                	mov    %esi,%ecx
456a7d:	ff 15 2c 81 4a 00    	call   *0x4a812c
456a83:	8b cf                	mov    %edi,%ecx
456a85:	ff d6                	call   *%esi
456a87:	8b 7d bc             	mov    -0x44(%ebp),%edi
456a8a:	8b 43 48             	mov    0x48(%ebx),%eax
456a8d:	89 45 bc             	mov    %eax,-0x44(%ebp)
456a90:	85 c0                	test   %eax,%eax
456a92:	74 14                	je     0x456aa8
456a94:	8b 00                	mov    (%eax),%eax
456a96:	6a 01                	push   $0x1
456a98:	8b 70 04             	mov    0x4(%eax),%esi
456a9b:	8b ce                	mov    %esi,%ecx
456a9d:	ff 15 2c 81 4a 00    	call   *0x4a812c
456aa3:	8b 4d bc             	mov    -0x44(%ebp),%ecx
456aa6:	ff d6                	call   *%esi
456aa8:	8b 43 4c             	mov    0x4c(%ebx),%eax
456aab:	89 7b 48             	mov    %edi,0x48(%ebx)
456aae:	85 c0                	test   %eax,%eax
456ab0:	74 19                	je     0x456acb
456ab2:	89 47 78             	mov    %eax,0x78(%edi)
456ab5:	8b 73 4c             	mov    0x4c(%ebx),%esi
456ab8:	e8 78 98 fc ff       	call   0x420335
456abd:	8b c8                	mov    %eax,%ecx
456abf:	ff 15 cc 75 4a 00    	call   *0x4a75cc
456ac5:	8b 40 48             	mov    0x48(%eax),%eax
456ac8:	89 46 40             	mov    %eax,0x40(%esi)
456acb:	8b 4b 58             	mov    0x58(%ebx),%ecx
456ace:	85 c9                	test   %ecx,%ecx
456ad0:	74 13                	je     0x456ae5
456ad2:	8b 53 5c             	mov    0x5c(%ebx),%edx
456ad5:	85 d2                	test   %edx,%edx
456ad7:	74 0c                	je     0x456ae5
456ad9:	8b 43 48             	mov    0x48(%ebx),%eax
456adc:	89 48 7c             	mov    %ecx,0x7c(%eax)
456adf:	89 90 80 00 00 00    	mov    %edx,0x80(%eax)
456ae5:	d9 e8                	fld1
456ae7:	6a 01                	push   $0x1
456ae9:	51                   	push   %ecx
456aea:	51                   	push   %ecx
456aeb:	8b 4b 48             	mov    0x48(%ebx),%ecx
456aee:	dd 1c 24             	fstpl  (%esp)
456af1:	e8 27 cb fd ff       	call   0x43361d
456af6:	8b 4b 48             	mov    0x48(%ebx),%ecx
456af9:	6a 00                	push   $0x0
456afb:	6a 00                	push   $0x0
456afd:	e8 39 cc fd ff       	call   0x43373b
456b02:	ff 15 58 75 4a 00    	call   *0x4a7558
456b08:	8b 53 48             	mov    0x48(%ebx),%edx
456b0b:	8b 48 04             	mov    0x4(%eax),%ecx
456b0e:	ff 72 20             	push   0x20(%edx)
456b11:	e8 5f a9 ff ff       	call   0x451475
456b16:	33 c0                	xor    %eax,%eax
456b18:	40                   	inc    %eax
456b19:	e8 97 99 03 00       	call   0x4904b5
456b1e:	c2 04 00             	ret    $0x4
456b21:	8b ff                	mov    %edi,%edi
456b23:	56                   	push   %esi
456b24:	57                   	push   %edi
456b25:	ff 15 3c 77 4a 00    	call   *0x4a773c
456b2b:	8b 0d 2c 47 4a 00    	mov    0x4a472c,%ecx
456b31:	33 ff                	xor    %edi,%edi
456b33:	8b f0                	mov    %eax,%esi
456b35:	39 79 20             	cmp    %edi,0x20(%ecx)
456b38:	75 49                	jne    0x456b83
456b3a:	56                   	push   %esi
456b3b:	e8 ca 5e fc ff       	call   0x41ca0a
456b40:	85 c0                	test   %eax,%eax
456b42:	74 65                	je     0x456ba9
456b44:	8b 0d 68 58 4a 00    	mov    0x4a5868,%ecx
456b4a:	85 c9                	test   %ecx,%ecx
456b4c:	74 12                	je     0x456b60
456b4e:	a1 2c 47 4a 00       	mov    0x4a472c,%eax
456b53:	57                   	push   %edi
456b54:	51                   	push   %ecx
456b55:	6a 30                	push   $0x30
456b57:	ff 70 20             	push   0x20(%eax)
456b5a:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
456b60:	8b 0d 2c 47 4a 00    	mov    0x4a472c,%ecx
456b66:	85 f6                	test   %esi,%esi
456b68:	74 03                	je     0x456b6d
456b6a:	8b 7e 20             	mov    0x20(%esi),%edi
456b6d:	89 79 24             	mov    %edi,0x24(%ecx)
456b70:	a1 08 58 4a 00       	mov    0x4a5808,%eax
456b75:	f7 d8                	neg    %eax
456b77:	1b c0                	sbb    %eax,%eax
456b79:	83 e0 04             	and    $0x4,%eax
456b7c:	50                   	push   %eax
456b7d:	ff 15 58 74 4a 00    	call   *0x4a7458
456b83:	68 00 50 00 00       	push   $0x5000
456b88:	8b ce                	mov    %esi,%ecx
456b8a:	ff 15 30 7b 4a 00    	call   *0x4a7b30
456b90:	68 00 a0 00 00       	push   $0xa000
456b95:	8b ce                	mov    %esi,%ecx
456b97:	ff 15 30 7b 4a 00    	call   *0x4a7b30
456b9d:	83 8e bc 00 00 00 0c 	orl    $0xc,0xbc(%esi)
456ba4:	33 c0                	xor    %eax,%eax
456ba6:	5f                   	pop    %edi
456ba7:	5e                   	pop    %esi
456ba8:	c3                   	ret
456ba9:	83 c8 ff             	or     $0xffffffff,%eax
456bac:	eb f8                	jmp    0x456ba6
456bae:	6a 0c                	push   $0xc
456bb0:	b8 02 41 49 00       	mov    $0x494102,%eax
456bb5:	e8 82 99 03 00       	call   0x49053c
456bba:	8b d9                	mov    %ecx,%ebx
456bbc:	89 5d e8             	mov    %ebx,-0x18(%ebp)
456bbf:	8b 35 0c 58 4a 00    	mov    0x4a580c,%esi
456bc5:	33 ff                	xor    %edi,%edi
456bc7:	21 3d 0c 58 4a 00    	and    %edi,0x4a580c
456bcd:	8b 43 50             	mov    0x50(%ebx),%eax
456bd0:	89 75 ec             	mov    %esi,-0x14(%ebp)
456bd3:	85 c0                	test   %eax,%eax
456bd5:	74 56                	je     0x456c2d
456bd7:	21 7d fc             	and    %edi,-0x4(%ebp)
456bda:	ff 70 20             	push   0x20(%eax)
456bdd:	ff 15 b0 7d 4a 00    	call   *0x4a7db0
456be3:	85 c0                	test   %eax,%eax
456be5:	74 1f                	je     0x456c06
456be7:	8b 7b 50             	mov    0x50(%ebx),%edi
456bea:	8b 07                	mov    (%edi),%eax
456bec:	8b 70 60             	mov    0x60(%eax),%esi
456bef:	8b ce                	mov    %esi,%ecx
456bf1:	ff 15 2c 81 4a 00    	call   *0x4a812c
456bf7:	8b cf                	mov    %edi,%ecx
456bf9:	ff d6                	call   *%esi
456bfb:	eb 09                	jmp    0x456c06
456bfd:	b8 03 6c 45 00       	mov    $0x456c03,%eax
456c02:	c3                   	ret
456c03:	8b 5d e8             	mov    -0x18(%ebp),%ebx
456c06:	8b 43 50             	mov    0x50(%ebx),%eax
456c09:	33 ff                	xor    %edi,%edi
456c0b:	47                   	inc    %edi
456c0c:	89 45 e8             	mov    %eax,-0x18(%ebp)
456c0f:	85 c0                	test   %eax,%eax
456c11:	74 13                	je     0x456c26
456c13:	8b 00                	mov    (%eax),%eax
456c15:	57                   	push   %edi
456c16:	8b 70 04             	mov    0x4(%eax),%esi
456c19:	8b ce                	mov    %esi,%ecx
456c1b:	ff 15 2c 81 4a 00    	call   *0x4a812c
456c21:	8b 4d e8             	mov    -0x18(%ebp),%ecx
456c24:	ff d6                	call   *%esi
456c26:	83 63 50 00          	andl   $0x0,0x50(%ebx)
456c2a:	8b 75 ec             	mov    -0x14(%ebp),%esi
456c2d:	89 35 0c 58 4a 00    	mov    %esi,0x4a580c
456c33:	83 63 4c 00          	andl   $0x0,0x4c(%ebx)
456c37:	8b 43 48             	mov    0x48(%ebx),%eax
456c3a:	85 c0                	test   %eax,%eax
456c3c:	74 04                	je     0x456c42
456c3e:	83 60 78 00          	andl   $0x0,0x78(%eax)
456c42:	8b c7                	mov    %edi,%eax
456c44:	e8 58 98 03 00       	call   0x4904a1
456c49:	c3                   	ret
456c4a:	6a 04                	push   $0x4
456c4c:	b8 b3 16 49 00       	mov    $0x4916b3,%eax
456c51:	e8 7d 98 03 00       	call   0x4904d3
456c56:	8b f9                	mov    %ecx,%edi
456c58:	83 7f 48 00          	cmpl   $0x0,0x48(%edi)
456c5c:	75 07                	jne    0x456c65
456c5e:	33 c0                	xor    %eax,%eax
456c60:	e9 d4 00 00 00       	jmp    0x456d39
456c65:	e8 44 ff ff ff       	call   0x456bae
456c6a:	68 d4 00 00 00       	push   $0xd4
456c6f:	ff 15 14 74 4a 00    	call   *0x4a7414
456c75:	59                   	pop    %ecx
456c76:	89 45 f0             	mov    %eax,-0x10(%ebp)
456c79:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
456c7d:	85 c0                	test   %eax,%eax
456c7f:	74 0e                	je     0x456c8f
456c81:	ff 77 48             	push   0x48(%edi)
456c84:	8b c8                	mov    %eax,%ecx
456c86:	e8 fb 10 01 00       	call   0x467d86
456c8b:	8b d8                	mov    %eax,%ebx
456c8d:	eb 02                	jmp    0x456c91
456c8f:	33 db                	xor    %ebx,%ebx
456c91:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
456c95:	89 5f 50             	mov    %ebx,0x50(%edi)
456c98:	85 db                	test   %ebx,%ebx
456c9a:	74 5f                	je     0x456cfb
456c9c:	8b 03                	mov    (%ebx),%eax
456c9e:	57                   	push   %edi
456c9f:	8b b0 00 01 00 00    	mov    0x100(%eax),%esi
456ca5:	8b ce                	mov    %esi,%ecx
456ca7:	ff 15 2c 81 4a 00    	call   *0x4a812c
456cad:	8b cb                	mov    %ebx,%ecx
456caf:	ff d6                	call   *%esi
456cb1:	85 c0                	test   %eax,%eax
456cb3:	74 0e                	je     0x456cc3
456cb5:	8b 47 50             	mov    0x50(%edi),%eax
456cb8:	8b 88 c0 00 00 00    	mov    0xc0(%eax),%ecx
456cbe:	89 4f 4c             	mov    %ecx,0x4c(%edi)
456cc1:	eb 03                	jmp    0x456cc6
456cc3:	8b 4f 4c             	mov    0x4c(%edi),%ecx
456cc6:	85 c9                	test   %ecx,%ecx
456cc8:	74 13                	je     0x456cdd
456cca:	8b 47 48             	mov    0x48(%edi),%eax
456ccd:	6a 04                	push   $0x4
456ccf:	89 48 78             	mov    %ecx,0x78(%eax)
456cd2:	8b 4f 50             	mov    0x50(%edi),%ecx
456cd5:	ff 15 58 74 4a 00    	call   *0x4a7458
456cdb:	eb 1e                	jmp    0x456cfb
456cdd:	8b 5f 50             	mov    0x50(%edi),%ebx
456ce0:	85 db                	test   %ebx,%ebx
456ce2:	74 13                	je     0x456cf7
456ce4:	8b 03                	mov    (%ebx),%eax
456ce6:	6a 01                	push   $0x1
456ce8:	8b 70 04             	mov    0x4(%eax),%esi
456ceb:	8b ce                	mov    %esi,%ecx
456ced:	ff 15 2c 81 4a 00    	call   *0x4a812c
456cf3:	8b cb                	mov    %ebx,%ecx
456cf5:	ff d6                	call   *%esi
456cf7:	83 67 50 00          	andl   $0x0,0x50(%edi)
456cfb:	8b 4f 4c             	mov    0x4c(%edi),%ecx
456cfe:	85 c9                	test   %ecx,%ecx
456d00:	75 17                	jne    0x456d19
456d02:	21 0d 0c 58 4a 00    	and    %ecx,0x4a580c
456d08:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
456d0d:	6a 01                	push   $0x1
456d0f:	e8 65 6f ff ff       	call   0x44dc79
456d14:	e9 45 ff ff ff       	jmp    0x456c5e
456d19:	6a 04                	push   $0x4
456d1b:	ff 15 58 74 4a 00    	call   *0x4a7458
456d21:	8b 4f 4c             	mov    0x4c(%edi),%ecx
456d24:	ff 71 20             	push   0x20(%ecx)
456d27:	ff 15 a0 7d 4a 00    	call   *0x4a7da0
456d2d:	ff 77 20             	push   0x20(%edi)
456d30:	ff 15 a0 7d 4a 00    	call   *0x4a7da0
456d36:	33 c0                	xor    %eax,%eax
456d38:	40                   	inc    %eax
456d39:	e8 63 97 03 00       	call   0x4904a1
456d3e:	c3                   	ret
456d3f:	8b ff                	mov    %edi,%edi
456d41:	56                   	push   %esi
456d42:	8b f1                	mov    %ecx,%esi
456d44:	e8 93 00 00 00       	call   0x456ddc
456d49:	85 c0                	test   %eax,%eax
456d4b:	74 16                	je     0x456d63
456d4d:	8b 4e 50             	mov    0x50(%esi),%ecx
456d50:	85 c9                	test   %ecx,%ecx
456d52:	74 08                	je     0x456d5c
456d54:	6a 00                	push   $0x0
456d56:	ff 15 58 74 4a 00    	call   *0x4a7458
456d5c:	83 25 0c 58 4a 00 00 	andl   $0x0,0x4a580c
456d63:	5e                   	pop    %esi
456d64:	c3                   	ret
456d65:	83 3d 0c 58 4a 00 00 	cmpl   $0x0,0x4a580c
456d6c:	53                   	push   %ebx
456d6d:	56                   	push   %esi
456d6e:	57                   	push   %edi
456d6f:	8b f1                	mov    %ecx,%esi
456d71:	74 65                	je     0x456dd8
456d73:	e8 64 00 00 00       	call   0x456ddc
456d78:	85 c0                	test   %eax,%eax
456d7a:	75 5c                	jne    0x456dd8
456d7c:	33 db                	xor    %ebx,%ebx
456d7e:	39 5e 4c             	cmp    %ebx,0x4c(%esi)
456d81:	74 11                	je     0x456d94
456d83:	8b 4e 50             	mov    0x50(%esi),%ecx
456d86:	85 c9                	test   %ecx,%ecx
456d88:	74 11                	je     0x456d9b
456d8a:	6a 04                	push   $0x4
456d8c:	ff 15 58 74 4a 00    	call   *0x4a7458
456d92:	eb 07                	jmp    0x456d9b
456d94:	8b ce                	mov    %esi,%ecx
456d96:	e8 af fe ff ff       	call   0x456c4a
456d9b:	ff 76 20             	push   0x20(%esi)
456d9e:	ff 15 54 7d 4a 00    	call   *0x4a7d54
456da4:	50                   	push   %eax
456da5:	ff 15 b0 76 4a 00    	call   *0x4a76b0
456dab:	8b 0d 74 65 4a 00    	mov    0x4a6574,%ecx
456db1:	8b f8                	mov    %eax,%edi
456db3:	53                   	push   %ebx
456db4:	57                   	push   %edi
456db5:	e8 c9 b6 fd ff       	call   0x432483
456dba:	8b 46 4c             	mov    0x4c(%esi),%eax
456dbd:	85 c0                	test   %eax,%eax
456dbf:	74 0b                	je     0x456dcc
456dc1:	53                   	push   %ebx
456dc2:	53                   	push   %ebx
456dc3:	ff 70 20             	push   0x20(%eax)
456dc6:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
456dcc:	ff 77 04             	push   0x4(%edi)
456dcf:	ff 76 20             	push   0x20(%esi)
456dd2:	ff 15 94 7d 4a 00    	call   *0x4a7d94
456dd8:	5f                   	pop    %edi
456dd9:	5e                   	pop    %esi
456dda:	5b                   	pop    %ebx
456ddb:	c3                   	ret
456ddc:	8b 49 50             	mov    0x50(%ecx),%ecx
456ddf:	33 c0                	xor    %eax,%eax
456de1:	85 c9                	test   %ecx,%ecx
456de3:	74 09                	je     0x456dee
456de5:	ff 71 20             	push   0x20(%ecx)
456de8:	ff 15 cc 7d 4a 00    	call   *0x4a7dcc
456dee:	c3                   	ret
456def:	cc                   	int3
456df0:	8b ff                	mov    %edi,%edi
456df2:	56                   	push   %esi
456df3:	8b f1                	mov    %ecx,%esi
456df5:	e8 e2 ff ff ff       	call   0x456ddc
456dfa:	f7 d8                	neg    %eax
456dfc:	1b c0                	sbb    %eax,%eax
456dfe:	40                   	inc    %eax
456dff:	8b c8                	mov    %eax,%ecx
456e01:	a3 0c 58 4a 00       	mov    %eax,0x4a580c
456e06:	e8 03 0c 02 00       	call   0x477a0e
456e0b:	83 3d 0c 58 4a 00 00 	cmpl   $0x0,0x4a580c
456e12:	74 08                	je     0x456e1c
456e14:	8b ce                	mov    %esi,%ecx
456e16:	5e                   	pop    %esi
456e17:	e9 49 ff ff ff       	jmp    0x456d65
456e1c:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
456e20:	74 08                	je     0x456e2a
456e22:	8b ce                	mov    %esi,%ecx
456e24:	5e                   	pop    %esi
456e25:	e9 15 ff ff ff       	jmp    0x456d3f
456e2a:	5e                   	pop    %esi
456e2b:	c3                   	ret
456e2c:	cc                   	int3
456e2d:	cc                   	int3