484b06:	e8 15 4f f8 ff       	call   0x409a20
484b0b:	5f                   	pop    %edi
484b0c:	5e                   	pop    %esi
484b0d:	33 c0                	xor    %eax,%eax
484b0f:	5b                   	pop    %ebx
484b10:	8b e5                	mov    %ebp,%esp
484b12:	5d                   	pop    %ebp
484b13:	c2 08 00             	ret    $0x8
484b16:	55                   	push   %ebp
484b17:	8b ec                	mov    %esp,%ebp
484b19:	83 e4 f8             	and    $0xfffffff8,%esp
484b1c:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
484b22:	53                   	push   %ebx
484b23:	8b 5d 08             	mov    0x8(%ebp),%ebx
484b26:	33 c0                	xor    %eax,%eax
484b28:	56                   	push   %esi
484b29:	57                   	push   %edi
484b2a:	8b f9                	mov    %ecx,%edi
484b2c:	89 44 24 20          	mov    %eax,0x20(%esp)
484b30:	8b 73 08             	mov    0x8(%ebx),%esi
484b33:	89 74 24 14          	mov    %esi,0x14(%esp)
484b37:	89 44 24 2c          	mov    %eax,0x2c(%esp)
484b3b:	88 44 24 24          	mov    %al,0x24(%esp)
484b3f:	88 44 24 28          	mov    %al,0x28(%esp)
484b43:	88 44 24 1c          	mov    %al,0x1c(%esp)
484b47:	83 fe 04             	cmp    $0x4,%esi
484b4a:	72 2d                	jb     0x484b79
484b4c:	8b 43 04             	mov    0x4(%ebx),%eax
484b4f:	6a 29                	push   $0x29
484b51:	8b 40 0c             	mov    0xc(%eax),%eax
484b54:	8b c8                	mov    %eax,%ecx
484b56:	89 44 24 1c          	mov    %eax,0x1c(%esp)
484b5a:	e8 4f 52 f8 ff       	call   0x409dae
484b5f:	84 c0                	test   %al,%al
484b61:	75 16                	jne    0x484b79
484b63:	8b 4c 24 18          	mov    0x18(%esp),%ecx
484b67:	e8 2b 4e f8 ff       	call   0x409997
484b6c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
484b70:	8b 41 08             	mov    0x8(%ecx),%eax
484b73:	8b 00                	mov    (%eax),%eax
484b75:	89 44 24 20          	mov    %eax,0x20(%esp)
484b79:	83 fe 05             	cmp    $0x5,%esi
484b7c:	72 24                	jb     0x484ba2
484b7e:	8b 43 04             	mov    0x4(%ebx),%eax
484b81:	6a 29                	push   $0x29
484b83:	8b 40 10             	mov    0x10(%eax),%eax
484b86:	8b c8                	mov    %eax,%ecx
484b88:	89 44 24 1c          	mov    %eax,0x1c(%esp)
484b8c:	e8 1d 52 f8 ff       	call   0x409dae
484b91:	84 c0                	test   %al,%al
484b93:	75 0d                	jne    0x484ba2
484b95:	8b 4c 24 18          	mov    0x18(%esp),%ecx
484b99:	e8 fe 50 f8 ff       	call   0x409c9c
484b9e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
484ba2:	83 fe 06             	cmp    $0x6,%esi
484ba5:	72 50                	jb     0x484bf7
484ba7:	8b 4b 04             	mov    0x4(%ebx),%ecx
484baa:	6a 29                	push   $0x29
484bac:	8b 71 14             	mov    0x14(%ecx),%esi
484baf:	8b ce                	mov    %esi,%ecx
484bb1:	e8 f8 51 f8 ff       	call   0x409dae
484bb6:	84 c0                	test   %al,%al
484bb8:	75 3d                	jne    0x484bf7
484bba:	8b ce                	mov    %esi,%ecx
484bbc:	e8 db 50 f8 ff       	call   0x409c9c
484bc1:	8b 4b 04             	mov    0x4(%ebx),%ecx
484bc4:	25 01 ff ff ff       	and    $0xffffff01,%eax
484bc9:	89 44 24 24          	mov    %eax,0x24(%esp)
484bcd:	8b 49 14             	mov    0x14(%ecx),%ecx
484bd0:	e8 c7 50 f8 ff       	call   0x409c9c
484bd5:	8b 4b 04             	mov    0x4(%ebx),%ecx
484bd8:	d0 e8                	shr    $1,%al
484bda:	25 01 ff ff ff       	and    $0xffffff01,%eax
484bdf:	89 44 24 28          	mov    %eax,0x28(%esp)
484be3:	8b 49 14             	mov    0x14(%ecx),%ecx
484be6:	e8 b1 50 f8 ff       	call   0x409c9c
484beb:	c0 e8 02             	shr    $0x2,%al
484bee:	25 01 ff ff ff       	and    $0xffffff01,%eax
484bf3:	89 44 24 1c          	mov    %eax,0x1c(%esp)
484bf7:	80 7c 24 28 00       	cmpb   $0x0,0x28(%esp)
484bfc:	c7 44 24 50 30 00 00 	movl   $0x30,0x50(%esp)
484c03:	00
484c04:	c7 44 24 54 a0 01 00 	movl   $0x1a0,0x54(%esp)
484c0b:	00
484c0c:	74 08                	je     0x484c16
484c0e:	c7 44 24 54 a2 01 00 	movl   $0x1a2,0x54(%esp)
484c15:	00
484c16:	8b 43 04             	mov    0x4(%ebx),%eax
484c19:	83 64 24 58 00       	andl   $0x0,0x58(%esp)
484c1e:	83 64 24 70 00       	andl   $0x0,0x70(%esp)
484c23:	83 64 24 5c 00       	andl   $0x0,0x5c(%esp)
484c28:	8b 30                	mov    (%eax),%esi
484c2a:	8b ce                	mov    %esi,%ecx
484c2c:	e8 66 4d f8 ff       	call   0x409997
484c31:	8b 46 08             	mov    0x8(%esi),%eax
484c34:	8b 00                	mov    (%eax),%eax
484c36:	89 44 24 74          	mov    %eax,0x74(%esp)
484c3a:	33 c0                	xor    %eax,%eax
484c3c:	89 44 24 6c          	mov    %eax,0x6c(%esp)
484c40:	89 44 24 68          	mov    %eax,0x68(%esp)
484c44:	89 44 24 64          	mov    %eax,0x64(%esp)
484c48:	89 44 24 60          	mov    %eax,0x60(%esp)
484c4c:	8d 44 24 0c          	lea    0xc(%esp),%eax
484c50:	50                   	push   %eax
484c51:	ff 15 bc f5 48 00    	call   *0x48f5bc
484c57:	83 44 24 0c 10       	addl   $0x10,0xc(%esp)
484c5c:	8d 44 24 30          	lea    0x30(%esp),%eax
484c60:	83 44 24 10 10       	addl   $0x10,0x10(%esp)
484c65:	50                   	push   %eax
484c66:	ff 15 44 f6 48 00    	call   *0x48f644
484c6c:	50                   	push   %eax
484c6d:	ff 15 94 f6 48 00    	call   *0x48f694
484c73:	8b 74 24 14          	mov    0x14(%esp),%esi
484c77:	83 fe 02             	cmp    $0x2,%esi
484c7a:	72 24                	jb     0x484ca0
484c7c:	8b 43 04             	mov    0x4(%ebx),%eax
484c7f:	6a 29                	push   $0x29
484c81:	8b 40 04             	mov    0x4(%eax),%eax
484c84:	8b c8                	mov    %eax,%ecx
484c86:	89 44 24 18          	mov    %eax,0x18(%esp)
484c8a:	e8 1f 51 f8 ff       	call   0x409dae
484c8f:	84 c0                	test   %al,%al
484c91:	75 0d                	jne    0x484ca0
484c93:	8b 4c 24 14          	mov    0x14(%esp),%ecx
484c97:	e8 00 50 f8 ff       	call   0x409c9c
484c9c:	89 44 24 0c          	mov    %eax,0xc(%esp)
484ca0:	83 fe 03             	cmp    $0x3,%esi
484ca3:	72 1e                	jb     0x484cc3
484ca5:	8b 43 04             	mov    0x4(%ebx),%eax
484ca8:	6a 29                	push   $0x29
484caa:	8b 70 08             	mov    0x8(%eax),%esi
484cad:	8b ce                	mov    %esi,%ecx
484caf:	e8 fa 50 f8 ff       	call   0x409dae
484cb4:	84 c0                	test   %al,%al
484cb6:	75 0b                	jne    0x484cc3
484cb8:	8b ce                	mov    %esi,%ecx
484cba:	e8 dd 4f f8 ff       	call   0x409c9c
484cbf:	89 44 24 10          	mov    %eax,0x10(%esp)
484cc3:	8b 5c 24 24          	mov    0x24(%esp),%ebx
484cc7:	6a f0                	push   $0xfffffff0
484cc9:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484ccf:	ff 15 5c f6 48 00    	call   *0x48f65c
484cd5:	84 db                	test   %bl,%bl
484cd7:	74 18                	je     0x484cf1
484cd9:	a8 40                	test   $0x40,%al
484cdb:	74 18                	je     0x484cf5
484cdd:	33 f6                	xor    %esi,%esi
484cdf:	8b 87 e8 00 00 00    	mov    0xe8(%edi),%eax
484ce5:	85 c0                	test   %eax,%eax
484ce7:	75 6d                	jne    0x484d56
484ce9:	84 db                	test   %bl,%bl
484ceb:	74 1e                	je     0x484d0b
484ced:	6a 43                	push   $0x43
484cef:	eb 1c                	jmp    0x484d0d
484cf1:	a8 40                	test   $0x40,%al
484cf3:	74 e8                	je     0x484cdd
484cf5:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484cfb:	ff 15 3c f6 48 00    	call   *0x48f63c
484d01:	33 f6                	xor    %esi,%esi
484d03:	89 b7 e8 00 00 00    	mov    %esi,0xe8(%edi)
484d09:	eb d4                	jmp    0x484cdf
484d0b:	6a 03                	push   $0x3
484d0d:	58                   	pop    %eax
484d0e:	56                   	push   %esi
484d0f:	56                   	push   %esi
484d10:	56                   	push   %esi
484d11:	56                   	push   %esi
484d12:	b9 00 00 00 80       	mov    $0x80000000,%ecx
484d17:	51                   	push   %ecx
484d18:	51                   	push   %ecx
484d19:	51                   	push   %ecx
484d1a:	51                   	push   %ecx
484d1b:	50                   	push   %eax
484d1c:	56                   	push   %esi
484d1d:	68 ec b6 4b 00       	push   $0x4bb6ec
484d22:	6a 08                	push   $0x8
484d24:	ff 15 20 f7 48 00    	call   *0x48f720
484d2a:	8b 1d 88 f6 48 00    	mov    0x48f688,%ebx
484d30:	8d 4c 24 50          	lea    0x50(%esp),%ecx
484d34:	51                   	push   %ecx
484d35:	56                   	push   %esi
484d36:	68 32 04 00 00       	push   $0x432
484d3b:	50                   	push   %eax
484d3c:	89 87 e8 00 00 00    	mov    %eax,0xe8(%edi)
484d42:	ff d3                	call   *%ebx
484d44:	ff 74 24 38          	push   0x38(%esp)
484d48:	56                   	push   %esi
484d49:	68 18 04 00 00       	push   $0x418
484d4e:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484d54:	eb 12                	jmp    0x484d68
484d56:	8b 1d 88 f6 48 00    	mov    0x48f688,%ebx
484d5c:	8d 4c 24 50          	lea    0x50(%esp),%ecx
484d60:	51                   	push   %ecx
484d61:	56                   	push   %esi
484d62:	68 39 04 00 00       	push   $0x439
484d67:	50                   	push   %eax
484d68:	ff d3                	call   *%ebx
484d6a:	ff 74 24 20          	push   0x20(%esp)
484d6e:	ff 74 24 30          	push   0x30(%esp)
484d72:	68 21 04 00 00       	push   $0x421
484d77:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484d7d:	ff d3                	call   *%ebx
484d7f:	85 c0                	test   %eax,%eax
484d81:	74 11                	je     0x484d94
484d83:	56                   	push   %esi
484d84:	56                   	push   %esi
484d85:	68 1d 04 00 00       	push   $0x41d
484d8a:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484d90:	ff d3                	call   *%ebx
484d92:	eb 16                	jmp    0x484daa
484d94:	8b 75 0c             	mov    0xc(%ebp),%esi
484d97:	8b ce                	mov    %esi,%ecx
484d99:	e8 82 4c f8 ff       	call   0x409a20
484d9e:	83 26 00             	andl   $0x0,(%esi)
484da1:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
484da8:	33 f6                	xor    %esi,%esi
484daa:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484db0:	ff 15 50 f6 48 00    	call   *0x48f650
484db6:	85 c0                	test   %eax,%eax
484db8:	75 27                	jne    0x484de1
484dba:	68 f0 d8 f0 d8       	push   $0xd8f0d8f0
484dbf:	56                   	push   %esi
484dc0:	68 12 04 00 00       	push   $0x412
484dc5:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484dcb:	ff d3                	call   *%ebx
484dcd:	8d 44 24 50          	lea    0x50(%esp),%eax
484dd1:	50                   	push   %eax
484dd2:	6a 01                	push   $0x1
484dd4:	68 11 04 00 00       	push   $0x411
484dd9:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484ddf:	ff d3                	call   *%ebx
484de1:	80 7c 24 1c 00       	cmpb   $0x0,0x1c(%esp)
484de6:	0f 84 ac 00 00 00    	je     0x484e98
484dec:	8d 44 24 40          	lea    0x40(%esp),%eax
484df0:	50                   	push   %eax
484df1:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484df7:	ff 15 94 f6 48 00    	call   *0x48f694
484dfd:	8b 74 24 48          	mov    0x48(%esp),%esi
484e01:	2b 74 24 40          	sub    0x40(%esp),%esi
484e05:	8b 44 24 4c          	mov    0x4c(%esp),%eax
484e09:	46                   	inc    %esi
484e0a:	2b 44 24 44          	sub    0x44(%esp),%eax
484e0e:	6a 02                	push   $0x2
484e10:	ff 74 24 14          	push   0x14(%esp)
484e14:	40                   	inc    %eax
484e15:	ff 74 24 14          	push   0x14(%esp)
484e19:	89 44 24 20          	mov    %eax,0x20(%esp)
484e1d:	ff 15 08 f5 48 00    	call   *0x48f508
484e23:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
484e2a:	c7 84 24 80 00 00 00 	movl   $0x28,0x80(%esp)
484e31:	28 00 00 00
484e35:	51                   	push   %ecx
484e36:	50                   	push   %eax
484e37:	ff 15 0c f5 48 00    	call   *0x48f50c
484e3d:	85 c0                	test   %eax,%eax
484e3f:	74 13                	je     0x484e54
484e41:	8d 84 24 84 00 00 00 	lea    0x84(%esp),%eax
484e48:	50                   	push   %eax
484e49:	8d 44 24 34          	lea    0x34(%esp),%eax
484e4d:	50                   	push   %eax
484e4e:	ff 15 20 f6 48 00    	call   *0x48f620
484e54:	8b 54 24 0c          	mov    0xc(%esp),%edx
484e58:	3b 54 24 30          	cmp    0x30(%esp),%edx
484e5c:	7d 06                	jge    0x484e64
484e5e:	8b 54 24 30          	mov    0x30(%esp),%edx
484e62:	eb 0c                	jmp    0x484e70
484e64:	8b 44 24 38          	mov    0x38(%esp),%eax
484e68:	2b c6                	sub    %esi,%eax
484e6a:	3b d0                	cmp    %eax,%edx
484e6c:	7e 06                	jle    0x484e74
484e6e:	8b d0                	mov    %eax,%edx
484e70:	89 54 24 0c          	mov    %edx,0xc(%esp)
484e74:	8b 44 24 10          	mov    0x10(%esp),%eax
484e78:	3b 44 24 34          	cmp    0x34(%esp),%eax
484e7c:	7d 0a                	jge    0x484e88
484e7e:	8b 44 24 34          	mov    0x34(%esp),%eax
484e82:	89 44 24 10          	mov    %eax,0x10(%esp)
484e86:	eb 18                	jmp    0x484ea0
484e88:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
484e8c:	2b 4c 24 14          	sub    0x14(%esp),%ecx
484e90:	3b c1                	cmp    %ecx,%eax
484e92:	7e 0c                	jle    0x484ea0
484e94:	8b c1                	mov    %ecx,%eax
484e96:	eb ea                	jmp    0x484e82
484e98:	8b 44 24 10          	mov    0x10(%esp),%eax
484e9c:	8b 54 24 0c          	mov    0xc(%esp),%edx
484ea0:	0f b7 c8             	movzwl %ax,%ecx
484ea3:	c1 e1 10             	shl    $0x10,%ecx
484ea6:	0f b7 c2             	movzwl %dx,%eax
484ea9:	0b c8                	or     %eax,%ecx
484eab:	51                   	push   %ecx
484eac:	6a 00                	push   $0x0
484eae:	68 12 04 00 00       	push   $0x412
484eb3:	ff b7 e8 00 00 00    	push   0xe8(%edi)
484eb9:	ff d3                	call   *%ebx
484ebb:	5f                   	pop    %edi
484ebc:	5e                   	pop    %esi
484ebd:	33 c0                	xor    %eax,%eax
484ebf:	5b                   	pop    %ebx
484ec0:	8b e5                	mov    %ebp,%esp
484ec2:	5d                   	pop    %ebp
484ec3:	c2 08 00             	ret    $0x8
484ec6:	55                   	push   %ebp
484ec7:	8b ec                	mov    %esp,%ebp
484ec9:	83 e4 f8             	and    $0xfffffff8,%esp
484ecc:	51                   	push   %ecx
484ecd:	53                   	push   %ebx
484ece:	56                   	push   %esi
484ecf:	57                   	push   %edi
484ed0:	ff 75 08             	push   0x8(%ebp)
484ed3:	8b d9                	mov    %ecx,%ebx
484ed5:	e8 d3 6a f8 ff       	call   0x40b9ad
484eda:	33 ff                	xor    %edi,%edi
484edc:	8b cb                	mov    %ebx,%ecx
484ede:	47                   	inc    %edi
484edf:	57                   	push   %edi
484ee0:	e8 58 6a f8 ff       	call   0x40b93d
484ee5:	85 c0                	test   %eax,%eax
484ee7:	7f 25                	jg     0x484f0e
484ee9:	79 11                	jns    0x484efc
484eeb:	f7 d8                	neg    %eax
484eed:	6a 00                	push   $0x0
484eef:	50                   	push   %eax
484ef0:	8b 03                	mov    (%ebx),%eax
484ef2:	8b 48 04             	mov    0x4(%eax),%ecx
484ef5:	03 cb                	add    %ebx,%ecx
484ef7:	e8 a7 1b fd ff       	call   0x456aa3
484efc:	8b 75 0c             	mov    0xc(%ebp),%esi
484eff:	8b ce                	mov    %esi,%ecx
484f01:	e8 1a 4b f8 ff       	call   0x409a20
484f06:	83 26 00             	andl   $0x0,(%esi)
484f09:	89 7e 0c             	mov    %edi,0xc(%esi)
484f0c:	eb 77                	jmp    0x484f85
484f0e:	8b 83 f0 01 00 00    	mov    0x1f0(%ebx),%eax
484f14:	8b 30                	mov    (%eax),%esi
484f16:	ff 15 34 f7 48 00    	call   *0x48f734
484f1c:	3b f0                	cmp    %eax,%esi
484f1e:	75 0b                	jne    0x484f2b
484f20:	8b 8b f4 02 00 00    	mov    0x2f4(%ebx),%ecx
484f26:	e8 bb 05 fe ff       	call   0x4654e6
484f2b:	8b 83 f0 01 00 00    	mov    0x1f0(%ebx),%eax
484f31:	ff 30                	push   (%eax)
484f33:	e8 fd fa f7 ff       	call   0x404a35
484f38:	8b 75 0c             	mov    0xc(%ebp),%esi
484f3b:	8b ce                	mov    %esi,%ecx
484f3d:	89 44 24 0c          	mov    %eax,0xc(%esp)
484f41:	85 c0                	test   %eax,%eax
484f43:	75 0d                	jne    0x484f52
484f45:	e8 d6 4a f8 ff       	call   0x409a20
484f4a:	83 26 00             	andl   $0x0,(%esi)