597bfc:	33 c0                	xor    %eax,%eax
597bfe:	5f                   	pop    %edi
597bff:	5e                   	pop    %esi
597c00:	33 cc                	xor    %esp,%ecx
597c02:	e8 1f 9e 03 00       	call   0x5d1a26
597c07:	83 c4 18             	add    $0x18,%esp
597c0a:	c3                   	ret
597c0b:	e8 05 a4 03 00       	call   0x5d2015
597c10:	cc                   	int3
597c11:	cc                   	int3
597c12:	cc                   	int3
597c13:	cc                   	int3
597c14:	cc                   	int3
597c15:	cc                   	int3
597c16:	cc                   	int3
597c17:	cc                   	int3
597c18:	cc                   	int3
597c19:	cc                   	int3
597c1a:	cc                   	int3
597c1b:	cc                   	int3
597c1c:	cc                   	int3
597c1d:	cc                   	int3
597c1e:	cc                   	int3
597c1f:	cc                   	int3
597c20:	b8 34 00 00 00       	mov    $0x34,%eax
597c25:	e8 86 9b 03 00       	call   0x5d17b0
597c2a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
597c2f:	33 c4                	xor    %esp,%eax
597c31:	89 44 24 30          	mov    %eax,0x30(%esp)
597c35:	8b 44 24 38          	mov    0x38(%esp),%eax
597c39:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
597c40:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
597c47:	00
597c48:	53                   	push   %ebx
597c49:	8b 5c 24 44          	mov    0x44(%esp),%ebx
597c4d:	56                   	push   %esi
597c4e:	57                   	push   %edi
597c4f:	85 c0                	test   %eax,%eax
597c51:	0f 84 91 00 00 00    	je     0x597ce8
597c57:	83 3b 2e             	cmpl   $0x2e,(%ebx)
597c5a:	0f 84 88 00 00 00    	je     0x597ce8
597c60:	8b 74 24 48          	mov    0x48(%esp),%esi
597c64:	83 fe 27             	cmp    $0x27,%esi
597c67:	7f 7f                	jg     0x597ce8
597c69:	56                   	push   %esi
597c6a:	50                   	push   %eax
597c6b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
597c6f:	50                   	push   %eax
597c70:	e8 5b b1 03 00       	call   0x5d2dd0
597c75:	83 c4 0c             	add    $0xc,%esp
597c78:	83 fe 28             	cmp    $0x28,%esi
597c7b:	0f 83 48 01 00 00    	jae    0x597dc9
597c81:	8d 44 24 14          	lea    0x14(%esp),%eax
597c85:	c6 44 34 14 00       	movb   $0x0,0x14(%esp,%esi,1)
597c8a:	6a 2b                	push   $0x2b
597c8c:	50                   	push   %eax
597c8d:	e8 de b6 03 00       	call   0x5d3370
597c92:	8b f0                	mov    %eax,%esi
597c94:	83 c4 08             	add    $0x8,%esp
597c97:	85 f6                	test   %esi,%esi
597c99:	75 70                	jne    0x597d0b
597c9b:	bf b8 76 66 00       	mov    $0x6676b8,%edi
597ca0:	8b 07                	mov    (%edi),%eax
597ca2:	85 c0                	test   %eax,%eax
597ca4:	74 33                	je     0x597cd9
597ca6:	8d 4c 24 14          	lea    0x14(%esp),%ecx
597caa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
597cb0:	8a 11                	mov    (%ecx),%dl
597cb2:	3a 10                	cmp    (%eax),%dl
597cb4:	75 1a                	jne    0x597cd0
597cb6:	84 d2                	test   %dl,%dl
597cb8:	74 12                	je     0x597ccc
597cba:	8a 51 01             	mov    0x1(%ecx),%dl
597cbd:	3a 50 01             	cmp    0x1(%eax),%dl
597cc0:	75 0e                	jne    0x597cd0
597cc2:	83 c1 02             	add    $0x2,%ecx
597cc5:	83 c0 02             	add    $0x2,%eax
597cc8:	84 d2                	test   %dl,%dl
597cca:	75 e4                	jne    0x597cb0
597ccc:	33 c0                	xor    %eax,%eax
597cce:	eb 05                	jmp    0x597cd5
597cd0:	1b c0                	sbb    %eax,%eax
597cd2:	83 c8 01             	or     $0x1,%eax
597cd5:	85 c0                	test   %eax,%eax
597cd7:	74 23                	je     0x597cfc
597cd9:	46                   	inc    %esi
597cda:	83 c7 20             	add    $0x20,%edi
597cdd:	83 fe 17             	cmp    $0x17,%esi
597ce0:	72 be                	jb     0x597ca0
597ce2:	0f 85 83 00 00 00    	jne    0x597d6b
597ce8:	5f                   	pop    %edi
597ce9:	5e                   	pop    %esi
597cea:	33 c0                	xor    %eax,%eax
597cec:	5b                   	pop    %ebx
597ced:	8b 4c 24 30          	mov    0x30(%esp),%ecx
597cf1:	33 cc                	xor    %esp,%ecx
597cf3:	e8 2e 9d 03 00       	call   0x5d1a26
597cf8:	83 c4 34             	add    $0x34,%esp
597cfb:	c3                   	ret
597cfc:	8b 0b                	mov    (%ebx),%ecx
597cfe:	66 8b 47 04          	mov    0x4(%edi),%ax
597d02:	66 89 44 4b 04       	mov    %ax,0x4(%ebx,%ecx,2)
597d07:	ff 03                	incl   (%ebx)
597d09:	eb 60                	jmp    0x597d6b
597d0b:	c6 06 00             	movb   $0x0,(%esi)
597d0e:	46                   	inc    %esi
597d0f:	80 3e 00             	cmpb   $0x0,(%esi)
597d12:	74 d4                	je     0x597ce8
597d14:	8d 44 24 14          	lea    0x14(%esp),%eax
597d18:	50                   	push   %eax
597d19:	8d 44 24 14          	lea    0x14(%esp),%eax
597d1d:	50                   	push   %eax
597d1e:	8d 44 24 14          	lea    0x14(%esp),%eax
597d22:	50                   	push   %eax
597d23:	e8 a8 fc ff ff       	call   0x5979d0
597d28:	56                   	push   %esi
597d29:	8d 44 24 20          	lea    0x20(%esp),%eax
597d2d:	50                   	push   %eax
597d2e:	8d 44 24 20          	lea    0x20(%esp),%eax
597d32:	50                   	push   %eax
597d33:	e8 98 fc ff ff       	call   0x5979d0
597d38:	8b 74 24 24          	mov    0x24(%esp),%esi
597d3c:	83 c4 18             	add    $0x18,%esp
597d3f:	85 f6                	test   %esi,%esi
597d41:	74 a5                	je     0x597ce8
597d43:	8b 54 24 10          	mov    0x10(%esp),%edx
597d47:	85 d2                	test   %edx,%edx
597d49:	74 9d                	je     0x597ce8
597d4b:	33 c9                	xor    %ecx,%ecx
597d4d:	b8 b8 76 66 00       	mov    $0x6676b8,%eax
597d52:	39 50 08             	cmp    %edx,0x8(%eax)
597d55:	75 05                	jne    0x597d5c
597d57:	39 70 10             	cmp    %esi,0x10(%eax)
597d5a:	74 48                	je     0x597da4
597d5c:	41                   	inc    %ecx
597d5d:	83 c0 20             	add    $0x20,%eax
597d60:	83 f9 17             	cmp    $0x17,%ecx
597d63:	72 ed                	jb     0x597d52
597d65:	0f 84 7d ff ff ff    	je     0x597ce8
597d6b:	8b 13                	mov    (%ebx),%edx
597d6d:	33 c9                	xor    %ecx,%ecx
597d6f:	83 ea 01             	sub    $0x1,%edx
597d72:	74 19                	je     0x597d8d
597d74:	0f b7 74 53 04       	movzwl 0x4(%ebx,%edx,2),%esi
597d79:	8d 43 04             	lea    0x4(%ebx),%eax
597d7c:	0f 1f 40 00          	nopl   0x0(%eax)
597d80:	66 39 30             	cmp    %si,(%eax)
597d83:	74 2e                	je     0x597db3
597d85:	41                   	inc    %ecx
597d86:	83 c0 02             	add    $0x2,%eax
597d89:	3b ca                	cmp    %edx,%ecx
597d8b:	72 f3                	jb     0x597d80
597d8d:	5f                   	pop    %edi
597d8e:	5e                   	pop    %esi
597d8f:	b8 01 00 00 00       	mov    $0x1,%eax
597d94:	5b                   	pop    %ebx
597d95:	8b 4c 24 30          	mov    0x30(%esp),%ecx
597d99:	33 cc                	xor    %esp,%ecx
597d9b:	e8 86 9c 03 00       	call   0x5d1a26
597da0:	83 c4 34             	add    $0x34,%esp
597da3:	c3                   	ret
597da4:	8b 0b                	mov    (%ebx),%ecx
597da6:	66 8b 40 04          	mov    0x4(%eax),%ax
597daa:	66 89 44 4b 04       	mov    %ax,0x4(%ebx,%ecx,2)
597daf:	ff 03                	incl   (%ebx)
597db1:	eb b8                	jmp    0x597d6b
597db3:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
597db7:	33 c0                	xor    %eax,%eax
597db9:	5f                   	pop    %edi
597dba:	5e                   	pop    %esi
597dbb:	89 13                	mov    %edx,(%ebx)
597dbd:	5b                   	pop    %ebx
597dbe:	33 cc                	xor    %esp,%ecx
597dc0:	e8 61 9c 03 00       	call   0x5d1a26
597dc5:	83 c4 34             	add    $0x34,%esp
597dc8:	c3                   	ret
597dc9:	e8 47 a2 03 00       	call   0x5d2015
597dce:	cc                   	int3
597dcf:	cc                   	int3
597dd0:	56                   	push   %esi
597dd1:	57                   	push   %edi
597dd2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
597dd6:	33 f6                	xor    %esi,%esi
597dd8:	85 ff                	test   %edi,%edi
597dda:	74 5c                	je     0x597e38
597ddc:	39 77 08             	cmp    %esi,0x8(%edi)
597ddf:	75 04                	jne    0x597de5
597de1:	33 c0                	xor    %eax,%eax
597de3:	eb 0f                	jmp    0x597df4
597de5:	ff 77 0c             	push   0xc(%edi)
597de8:	e8 73 08 ff ff       	call   0x588660
597ded:	83 c4 04             	add    $0x4,%esp
597df0:	85 c0                	test   %eax,%eax
597df2:	74 44                	je     0x597e38
597df4:	85 c0                	test   %eax,%eax
597df6:	74 13                	je     0x597e0b
597df8:	50                   	push   %eax
597df9:	e8 c2 8a f5 ff       	call   0x4f08c0
597dfe:	83 c4 04             	add    $0x4,%esp
597e01:	8b f0                	mov    %eax,%esi
597e03:	c1 e6 02             	shl    $0x2,%esi
597e06:	8b c6                	mov    %esi,%eax
597e08:	5f                   	pop    %edi
597e09:	5e                   	pop    %esi
597e0a:	c3                   	ret
597e0b:	0f b7 47 04          	movzwl 0x4(%edi),%eax
597e0f:	b9 07 08 00 00       	mov    $0x807,%ecx
597e14:	66 3b c1             	cmp    %cx,%ax
597e17:	75 0a                	jne    0x597e23
597e19:	be 80 00 00 00       	mov    $0x80,%esi
597e1e:	5f                   	pop    %edi
597e1f:	8b c6                	mov    %esi,%eax
597e21:	5e                   	pop    %esi
597e22:	c3                   	ret
597e23:	ba 08 08 00 00       	mov    $0x808,%edx
597e28:	b9 e0 00 00 00       	mov    $0xe0,%ecx
597e2d:	66 3b c2             	cmp    %dx,%ax
597e30:	5f                   	pop    %edi
597e31:	0f 44 f1             	cmove  %ecx,%esi
597e34:	8b c6                	mov    %esi,%eax
597e36:	5e                   	pop    %esi
597e37:	c3                   	ret
597e38:	5f                   	pop    %edi
597e39:	33 c0                	xor    %eax,%eax
597e3b:	5e                   	pop    %esi
597e3c:	c3                   	ret
597e3d:	cc                   	int3
597e3e:	cc                   	int3
597e3f:	cc                   	int3
597e40:	53                   	push   %ebx
597e41:	56                   	push   %esi
597e42:	57                   	push   %edi
597e43:	ff 74 24 14          	push   0x14(%esp)
597e47:	e8 44 9a f5 ff       	call   0x4f1890
597e4c:	8b 7c 24 14          	mov    0x14(%esp),%edi
597e50:	8b d8                	mov    %eax,%ebx
597e52:	57                   	push   %edi
597e53:	33 f6                	xor    %esi,%esi
597e55:	e8 66 d2 f4 ff       	call   0x4e50c0
597e5a:	83 c4 08             	add    $0x8,%esp
597e5d:	85 c0                	test   %eax,%eax
597e5f:	7e 23                	jle    0x597e84
597e61:	56                   	push   %esi
597e62:	57                   	push   %edi
597e63:	e8 18 d4 f4 ff       	call   0x4e5280
597e68:	50                   	push   %eax
597e69:	53                   	push   %ebx
597e6a:	e8 e1 fc fb ff       	call   0x557b50
597e6f:	83 c4 10             	add    $0x10,%esp
597e72:	85 c0                	test   %eax,%eax
597e74:	74 14                	je     0x597e8a
597e76:	57                   	push   %edi
597e77:	46                   	inc    %esi
597e78:	e8 43 d2 f4 ff       	call   0x4e50c0
597e7d:	83 c4 04             	add    $0x4,%esp
597e80:	3b f0                	cmp    %eax,%esi
597e82:	7c dd                	jl     0x597e61
597e84:	5f                   	pop    %edi
597e85:	5e                   	pop    %esi
597e86:	33 c0                	xor    %eax,%eax
597e88:	5b                   	pop    %ebx
597e89:	c3                   	ret
597e8a:	5f                   	pop    %edi
597e8b:	5e                   	pop    %esi
597e8c:	b8 01 00 00 00       	mov    $0x1,%eax
597e91:	5b                   	pop    %ebx
597e92:	c3                   	ret
597e93:	cc                   	int3
597e94:	cc                   	int3
597e95:	cc                   	int3
597e96:	cc                   	int3
597e97:	cc                   	int3
597e98:	cc                   	int3
597e99:	cc                   	int3
597e9a:	cc                   	int3
597e9b:	cc                   	int3
597e9c:	cc                   	int3
597e9d:	cc                   	int3
597e9e:	cc                   	int3
597e9f:	cc                   	int3
597ea0:	8b 54 24 08          	mov    0x8(%esp),%edx
597ea4:	53                   	push   %ebx
597ea5:	56                   	push   %esi
597ea6:	57                   	push   %edi
597ea7:	8b 7c 24 10          	mov    0x10(%esp),%edi
597eab:	8b 5a 10             	mov    0x10(%edx),%ebx
597eae:	8b 77 7c             	mov    0x7c(%edi),%esi
597eb1:	85 9e a0 02 00 00    	test   %ebx,0x2a0(%esi)
597eb7:	75 4c                	jne    0x597f05
597eb9:	8b 86 a4 02 00 00    	mov    0x2a4(%esi),%eax
597ebf:	85 42 14             	test   %eax,0x14(%edx)
597ec2:	75 41                	jne    0x597f05
597ec4:	8b 8e ac 02 00 00    	mov    0x2ac(%esi),%ecx
597eca:	85 c9                	test   %ecx,%ecx
597ecc:	74 37                	je     0x597f05
597ece:	8b 47 04             	mov    0x4(%edi),%eax
597ed1:	8b 40 64             	mov    0x64(%eax),%eax
597ed4:	f6 40 30 08          	testb  $0x8,0x30(%eax)
597ed8:	75 34                	jne    0x597f0e
597eda:	8b 42 20             	mov    0x20(%edx),%eax
597edd:	3d 01 03 00 00       	cmp    $0x301,%eax
597ee2:	75 12                	jne    0x597ef6
597ee4:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
597ee9:	74 0b                	je     0x597ef6
597eeb:	f6 c3 84             	test   $0x84,%bl
597eee:	bb 00 03 00 00       	mov    $0x300,%ebx
597ef3:	0f 45 c3             	cmovne %ebx,%eax
597ef6:	3b c1                	cmp    %ecx,%eax
597ef8:	7f 0b                	jg     0x597f05
597efa:	8b 42 24             	mov    0x24(%edx),%eax
597efd:	3b 86 a8 02 00 00    	cmp    0x2a8(%esi),%eax
597f03:	7d 44                	jge    0x597f49
597f05:	5f                   	pop    %edi
597f06:	5e                   	pop    %esi
597f07:	b8 01 00 00 00       	mov    $0x1,%eax
597f0c:	5b                   	pop    %ebx
597f0d:	c3                   	ret
597f0e:	8b 42 28             	mov    0x28(%edx),%eax
597f11:	bb 00 ff 00 00       	mov    $0xff00,%ebx
597f16:	3d 00 01 00 00       	cmp    $0x100,%eax
597f1b:	0f 44 c3             	cmove  %ebx,%eax
597f1e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
597f24:	0f 44 cb             	cmove  %ebx,%ecx
597f27:	3b c1                	cmp    %ecx,%eax
597f29:	7c da                	jl     0x597f05
597f2b:	8b 4a 2c             	mov    0x2c(%edx),%ecx
597f2e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
597f34:	8b 86 a8 02 00 00    	mov    0x2a8(%esi),%eax
597f3a:	0f 44 cb             	cmove  %ebx,%ecx
597f3d:	3d 00 01 00 00       	cmp    $0x100,%eax
597f42:	0f 44 c3             	cmove  %ebx,%eax
597f45:	3b c8                	cmp    %eax,%ecx
597f47:	7f bc                	jg     0x597f05
597f49:	52                   	push   %edx
597f4a:	6a 00                	push   $0x0
597f4c:	ff 72 38             	push   0x38(%edx)
597f4f:	ff 74 24 24          	push   0x24(%esp)
597f53:	57                   	push   %edi
597f54:	e8 27 36 ff ff       	call   0x58b580
597f59:	83 c4 14             	add    $0x14,%esp
597f5c:	f7 d8                	neg    %eax
597f5e:	1b c0                	sbb    %eax,%eax
597f60:	40                   	inc    %eax
597f61:	5f                   	pop    %edi
597f62:	5e                   	pop    %esi
597f63:	5b                   	pop    %ebx
597f64:	c3                   	ret
597f65:	cc                   	int3
597f66:	cc                   	int3
597f67:	cc                   	int3