59591b:	0f b7 c3             	movzwl %bx,%eax
59591e:	25 ff 3f ff ff       	and    $0xffff3fff,%eax
595923:	3d 03 18 00 00       	cmp    $0x1803,%eax
595928:	0f 8f d3 00 00 00    	jg     0x595a01
59592e:	0f 84 43 03 00 00    	je     0x595c77
595934:	3d 0a 10 00 00       	cmp    $0x100a,%eax
595939:	7f 65                	jg     0x5959a0
59593b:	0f 84 c6 02 00 00    	je     0x595c07
595941:	3d 0c 08 00 00       	cmp    $0x80c,%eax
595946:	7f 2f                	jg     0x595977
595948:	0f 84 50 02 00 00    	je     0x595b9e
59594e:	83 e8 36             	sub    $0x36,%eax
595951:	0f 84 0c 04 00 00    	je     0x595d63
595957:	2d cf 07 00 00       	sub    $0x7cf,%eax
59595c:	0f 84 99 01 00 00    	je     0x595afb
595962:	83 e8 05             	sub    $0x5,%eax
595965:	0f 84 ba 01 00 00    	je     0x595b25
59596b:	48                   	dec    %eax
59596c:	0f 84 02 02 00 00    	je     0x595b74
595972:	e9 2c 04 00 00       	jmp    0x595da3
595977:	2d 0d 08 00 00       	sub    $0x80d,%eax
59597c:	0f 84 31 02 00 00    	je     0x595bb3
595982:	83 e8 03             	sub    $0x3,%eax
595985:	0f 84 3d 02 00 00    	je     0x595bc8
59598b:	83 e8 06             	sub    $0x6,%eax
59598e:	0f 84 49 02 00 00    	je     0x595bdd
595994:	48                   	dec    %eax
595995:	0f 84 57 02 00 00    	je     0x595bf2
59599b:	e9 03 04 00 00       	jmp    0x595da3
5959a0:	3d 2a 10 00 00       	cmp    $0x102a,%eax
5959a5:	7f 2f                	jg     0x5959d6
5959a7:	0f 84 d7 03 00 00    	je     0x595d84
5959ad:	2d 10 10 00 00       	sub    $0x1010,%eax
5959b2:	0f 84 5f 02 00 00    	je     0x595c17
5959b8:	48                   	dec    %eax
5959b9:	0f 84 68 02 00 00    	je     0x595c27
5959bf:	83 e8 05             	sub    $0x5,%eax
5959c2:	0f 84 6f 02 00 00    	je     0x595c37
5959c8:	83 e8 06             	sub    $0x6,%eax
5959cb:	0f 84 76 02 00 00    	je     0x595c47
5959d1:	e9 cd 03 00 00       	jmp    0x595da3
5959d6:	2d 2d 10 00 00       	sub    $0x102d,%eax
5959db:	0f 84 8f 03 00 00    	je     0x595d70
5959e1:	83 e8 04             	sub    $0x4,%eax
5959e4:	0f 84 6d 02 00 00    	je     0x595c57
5959ea:	83 e8 02             	sub    $0x2,%eax
5959ed:	0f 84 a5 03 00 00    	je     0x595d98
5959f3:	83 e8 76             	sub    $0x76,%eax
5959f6:	0f 84 6b 02 00 00    	je     0x595c67
5959fc:	e9 a2 03 00 00       	jmp    0x595da3
595a01:	3d 18 18 00 00       	cmp    $0x1818,%eax
595a06:	7f 6b                	jg     0x595a73
595a08:	0f 84 f9 02 00 00    	je     0x595d07
595a0e:	05 fc e7 ff ff       	add    $0xffffe7fc,%eax
595a13:	83 f8 13             	cmp    $0x13,%eax
595a16:	0f 87 87 03 00 00    	ja     0x595da3
595a1c:	ff 24 85 23 5a 59 00 	jmp    *0x595a23(,%eax,4)
595a23:	87 5c 59 00          	xchg   %ebx,0x0(%ecx,%ebx,2)
595a27:	a3 5d 59 00 97       	mov    %eax,0x9700595d
595a2c:	5c                   	pop    %esp
595a2d:	59                   	pop    %ecx
595a2e:	00 a7 5c 59 00 a3    	add    %ah,-0x5cffa6a4(%edi)
595a34:	5d                   	pop    %ebp
595a35:	59                   	pop    %ecx
595a36:	00 a3 5d 59 00 a3    	add    %ah,-0x5cffa6a3(%ebx)
595a3c:	5d                   	pop    %ebp
595a3d:	59                   	pop    %ecx
595a3e:	00 b7 5c 59 00 a3    	add    %dh,-0x5cffa6a4(%edi)
595a44:	5d                   	pop    %ebp
595a45:	59                   	pop    %ecx
595a46:	00 a3 5d 59 00 c7    	add    %ah,-0x38ffa6a3(%ebx)
595a4c:	5c                   	pop    %esp
595a4d:	59                   	pop    %ecx
595a4e:	00 a3 5d 59 00 24    	add    %ah,0x2400595d(%ebx)
595a54:	5d                   	pop    %ebp
595a55:	59                   	pop    %ecx
595a56:	00 a3 5d 59 00 a3    	add    %ah,-0x5cffa6a3(%ebx)
595a5c:	5d                   	pop    %ebp
595a5d:	59                   	pop    %ecx
595a5e:	00 d7                	add    %dl,%bh
595a60:	5c                   	pop    %esp
595a61:	59                   	pop    %ecx
595a62:	00 e7                	add    %ah,%bh
595a64:	5c                   	pop    %esp
595a65:	59                   	pop    %ecx
595a66:	00 a3 5d 59 00 a3    	add    %ah,-0x5cffa6a3(%ebx)
595a6c:	5d                   	pop    %ebp
595a6d:	59                   	pop    %ecx
595a6e:	00 f7                	add    %dh,%bh
595a70:	5c                   	pop    %esp
595a71:	59                   	pop    %ecx
595a72:	00 3d 04 28 00 00    	add    %bh,0x2804
595a78:	7f 27                	jg     0x595aa1
595a7a:	0f 84 d6 02 00 00    	je     0x595d56
595a80:	2d 35 18 00 00       	sub    $0x1835,%eax
595a85:	0f 84 8c 02 00 00    	je     0x595d17
595a8b:	2d d2 07 00 00       	sub    $0x7d2,%eax
595a90:	74 45                	je     0x595ad7
595a92:	48                   	dec    %eax
595a93:	74 54                	je     0x595ae9
595a95:	2d f8 07 00 00       	sub    $0x7f8,%eax
595a9a:	74 27                	je     0x595ac3
595a9c:	e9 02 03 00 00       	jmp    0x595da3
595aa1:	2d 07 28 00 00       	sub    $0x2807,%eax
595aa6:	74 1b                	je     0x595ac3
595aa8:	2d f9 07 00 00       	sub    $0x7f9,%eax
595aad:	74 14                	je     0x595ac3
595aaf:	83 c0 fe             	add    $0xfffffffe,%eax
595ab2:	83 e8 03             	sub    $0x3,%eax
595ab5:	72 0c                	jb     0x595ac3
595ab7:	83 c0 fb             	add    $0xfffffffb,%eax
595aba:	83 e8 02             	sub    $0x2,%eax
595abd:	0f 83 e0 02 00 00    	jae    0x595da3
595ac3:	8b 45 08             	mov    0x8(%ebp),%eax
595ac6:	50                   	push   %eax
595ac7:	8b 55 f8             	mov    -0x8(%ebp),%edx
595aca:	8b c6                	mov    %esi,%eax
595acc:	e8 4f fd ff ff       	call   0x595820
595ad1:	59                   	pop    %ecx
595ad2:	e9 cc 02 00 00       	jmp    0x595da3
595ad7:	8b 45 08             	mov    0x8(%ebp),%eax
595ada:	50                   	push   %eax
595adb:	8b 45 f8             	mov    -0x8(%ebp),%eax
595ade:	e8 ad f9 ff ff       	call   0x595490
595ae3:	59                   	pop    %ecx
595ae4:	e9 ba 02 00 00       	jmp    0x595da3
595ae9:	8b 45 08             	mov    0x8(%ebp),%eax
595aec:	50                   	push   %eax
595aed:	8b 45 f8             	mov    -0x8(%ebp),%eax
595af0:	e8 9b f9 ff ff       	call   0x595490
595af5:	59                   	pop    %ecx
595af6:	e9 a8 02 00 00       	jmp    0x595da3
595afb:	8b 45 08             	mov    0x8(%ebp),%eax
595afe:	50                   	push   %eax
595aff:	8d 55 e0             	lea    -0x20(%ebp),%edx
595b02:	8b 45 f8             	mov    -0x8(%ebp),%eax
595b05:	e8 b2 fa ff ff       	call   0x5955bc
595b0a:	59                   	pop    %ecx
595b0b:	8b 55 e0             	mov    -0x20(%ebp),%edx
595b0e:	8b 45 08             	mov    0x8(%ebp),%eax
595b11:	8b 40 e8             	mov    -0x18(%eax),%eax
595b14:	8b 00                	mov    (%eax),%eax
595b16:	05 78 01 00 00       	add    $0x178,%eax
595b1b:	e8 9c ed e6 ff       	call   0x4048bc
595b20:	e9 7e 02 00 00       	jmp    0x595da3
595b25:	8b 45 08             	mov    0x8(%ebp),%eax
595b28:	50                   	push   %eax
595b29:	8d 55 dc             	lea    -0x24(%ebp),%edx
595b2c:	8b 45 f8             	mov    -0x8(%ebp),%eax
595b2f:	e8 88 fa ff ff       	call   0x5955bc
595b34:	59                   	pop    %ecx
595b35:	8b 55 dc             	mov    -0x24(%ebp),%edx
595b38:	8b 45 08             	mov    0x8(%ebp),%eax
595b3b:	8b 40 e8             	mov    -0x18(%eax),%eax
595b3e:	8b 00                	mov    (%eax),%eax
595b40:	05 7c 01 00 00       	add    $0x17c,%eax
595b45:	e8 72 ed e6 ff       	call   0x4048bc
595b4a:	8b 45 08             	mov    0x8(%ebp),%eax
595b4d:	50                   	push   %eax
595b4e:	8d 55 d8             	lea    -0x28(%ebp),%edx
595b51:	8b 45 f8             	mov    -0x8(%ebp),%eax
595b54:	e8 63 fa ff ff       	call   0x5955bc
595b59:	59                   	pop    %ecx
595b5a:	8b 55 d8             	mov    -0x28(%ebp),%edx
595b5d:	8b 45 08             	mov    0x8(%ebp),%eax
595b60:	8b 40 e8             	mov    -0x18(%eax),%eax
595b63:	8b 00                	mov    (%eax),%eax
595b65:	05 80 01 00 00       	add    $0x180,%eax
595b6a:	e8 4d ed e6 ff       	call   0x4048bc
595b6f:	e9 2f 02 00 00       	jmp    0x595da3
595b74:	8b 45 08             	mov    0x8(%ebp),%eax
595b77:	50                   	push   %eax
595b78:	8d 55 d4             	lea    -0x2c(%ebp),%edx
595b7b:	8b 45 f8             	mov    -0x8(%ebp),%eax
595b7e:	e8 39 fa ff ff       	call   0x5955bc
595b83:	59                   	pop    %ecx
595b84:	8b 55 d4             	mov    -0x2c(%ebp),%edx
595b87:	8b 45 08             	mov    0x8(%ebp),%eax
595b8a:	8b 40 e8             	mov    -0x18(%eax),%eax
595b8d:	8b 00                	mov    (%eax),%eax
595b8f:	05 9c 01 00 00       	add    $0x19c,%eax
595b94:	e8 23 ed e6 ff       	call   0x4048bc
595b99:	e9 05 02 00 00       	jmp    0x595da3
595b9e:	8b 45 08             	mov    0x8(%ebp),%eax
595ba1:	50                   	push   %eax
595ba2:	8d 55 f4             	lea    -0xc(%ebp),%edx
595ba5:	8b 45 f8             	mov    -0x8(%ebp),%eax
595ba8:	e8 0f fa ff ff       	call   0x5955bc
595bad:	59                   	pop    %ecx
595bae:	e9 f0 01 00 00       	jmp    0x595da3
595bb3:	8b 45 08             	mov    0x8(%ebp),%eax
595bb6:	50                   	push   %eax
595bb7:	8d 55 f4             	lea    -0xc(%ebp),%edx
595bba:	8b 45 f8             	mov    -0x8(%ebp),%eax
595bbd:	e8 fa f9 ff ff       	call   0x5955bc
595bc2:	59                   	pop    %ecx
595bc3:	e9 db 01 00 00       	jmp    0x595da3
595bc8:	8b 45 08             	mov    0x8(%ebp),%eax
595bcb:	50                   	push   %eax
595bcc:	8d 55 f4             	lea    -0xc(%ebp),%edx
595bcf:	8b 45 f8             	mov    -0x8(%ebp),%eax
595bd2:	e8 e5 f9 ff ff       	call   0x5955bc
595bd7:	59                   	pop    %ecx
595bd8:	e9 c6 01 00 00       	jmp    0x595da3
595bdd:	8b 45 08             	mov    0x8(%ebp),%eax
595be0:	50                   	push   %eax
595be1:	8d 55 f4             	lea    -0xc(%ebp),%edx
595be4:	8b 45 f8             	mov    -0x8(%ebp),%eax
595be7:	e8 d0 f9 ff ff       	call   0x5955bc
595bec:	59                   	pop    %ecx
595bed:	e9 b1 01 00 00       	jmp    0x595da3
595bf2:	8b 45 08             	mov    0x8(%ebp),%eax
595bf5:	50                   	push   %eax
595bf6:	8d 55 f4             	lea    -0xc(%ebp),%edx
595bf9:	8b 45 f8             	mov    -0x8(%ebp),%eax
595bfc:	e8 bb f9 ff ff       	call   0x5955bc
595c01:	59                   	pop    %ecx
595c02:	e9 9c 01 00 00       	jmp    0x595da3
595c07:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c0a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c0d:	e8 ee ec e6 ff       	call   0x404900
595c12:	e9 8c 01 00 00       	jmp    0x595da3
595c17:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c1a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c1d:	e8 de ec e6 ff       	call   0x404900
595c22:	e9 7c 01 00 00       	jmp    0x595da3
595c27:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c2a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c2d:	e8 ce ec e6 ff       	call   0x404900
595c32:	e9 6c 01 00 00       	jmp    0x595da3
595c37:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c3a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c3d:	e8 be ec e6 ff       	call   0x404900
595c42:	e9 5c 01 00 00       	jmp    0x595da3
595c47:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c4a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c4d:	e8 ae ec e6 ff       	call   0x404900
595c52:	e9 4c 01 00 00       	jmp    0x595da3
595c57:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c5a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c5d:	e8 9e ec e6 ff       	call   0x404900
595c62:	e9 3c 01 00 00       	jmp    0x595da3
595c67:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c6a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c6d:	e8 8e ec e6 ff       	call   0x404900
595c72:	e9 2c 01 00 00       	jmp    0x595da3
595c77:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c7a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c7d:	e8 7e ec e6 ff       	call   0x404900
595c82:	e9 1c 01 00 00       	jmp    0x595da3
595c87:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c8a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c8d:	e8 6e ec e6 ff       	call   0x404900
595c92:	e9 0c 01 00 00       	jmp    0x595da3
595c97:	8d 45 f4             	lea    -0xc(%ebp),%eax
595c9a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595c9d:	e8 5e ec e6 ff       	call   0x404900
595ca2:	e9 fc 00 00 00       	jmp    0x595da3
595ca7:	8d 45 f4             	lea    -0xc(%ebp),%eax
595caa:	8b 55 f4             	mov    -0xc(%ebp),%edx
595cad:	e8 4e ec e6 ff       	call   0x404900
595cb2:	e9 ec 00 00 00       	jmp    0x595da3
595cb7:	8d 45 f4             	lea    -0xc(%ebp),%eax
595cba:	8b 55 f4             	mov    -0xc(%ebp),%edx
595cbd:	e8 3e ec e6 ff       	call   0x404900
595cc2:	e9 dc 00 00 00       	jmp    0x595da3
595cc7:	8d 45 f4             	lea    -0xc(%ebp),%eax
595cca:	8b 55 f4             	mov    -0xc(%ebp),%edx
595ccd:	e8 2e ec e6 ff       	call   0x404900
595cd2:	e9 cc 00 00 00       	jmp    0x595da3
595cd7:	8d 45 f4             	lea    -0xc(%ebp),%eax
595cda:	8b 55 f4             	mov    -0xc(%ebp),%edx
595cdd:	e8 1e ec e6 ff       	call   0x404900
595ce2:	e9 bc 00 00 00       	jmp    0x595da3
595ce7:	8d 45 f4             	lea    -0xc(%ebp),%eax
595cea:	8b 55 f4             	mov    -0xc(%ebp),%edx
595ced:	e8 0e ec e6 ff       	call   0x404900
595cf2:	e9 ac 00 00 00       	jmp    0x595da3
595cf7:	8d 45 f4             	lea    -0xc(%ebp),%eax
595cfa:	8b 55 f4             	mov    -0xc(%ebp),%edx
595cfd:	e8 fe eb e6 ff       	call   0x404900
595d02:	e9 9c 00 00 00       	jmp    0x595da3
595d07:	8d 45 f4             	lea    -0xc(%ebp),%eax
595d0a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595d0d:	e8 ee eb e6 ff       	call   0x404900
595d12:	e9 8c 00 00 00       	jmp    0x595da3
595d17:	8d 45 f4             	lea    -0xc(%ebp),%eax
595d1a:	8b 55 f4             	mov    -0xc(%ebp),%edx
595d1d:	e8 de eb e6 ff       	call   0x404900
595d22:	eb 7f                	jmp    0x595da3
595d24:	8b 45 08             	mov    0x8(%ebp),%eax
595d27:	50                   	push   %eax
595d28:	e8 33 f7 ff ff       	call   0x595460
595d2d:	59                   	pop    %ecx
595d2e:	8b 55 08             	mov    0x8(%ebp),%edx
595d31:	8b 52 e8             	mov    -0x18(%edx),%edx
595d34:	8b 12                	mov    (%edx),%edx
595d36:	89 82 cc 02 00 00    	mov    %eax,0x2cc(%edx)
595d3c:	8b 45 08             	mov    0x8(%ebp),%eax
595d3f:	50                   	push   %eax
595d40:	e8 1b f7 ff ff       	call   0x595460
595d45:	59                   	pop    %ecx
595d46:	8b 55 08             	mov    0x8(%ebp),%edx
595d49:	8b 52 e8             	mov    -0x18(%edx),%edx
595d4c:	8b 12                	mov    (%edx),%edx
595d4e:	89 82 d0 02 00 00    	mov    %eax,0x2d0(%edx)
595d54:	eb 4d                	jmp    0x595da3
595d56:	8d 45 f4             	lea    -0xc(%ebp),%eax
595d59:	8b 55 f4             	mov    -0xc(%ebp),%edx
595d5c:	e8 9f eb e6 ff       	call   0x404900
595d61:	eb 40                	jmp    0x595da3
595d63:	8d 45 f4             	lea    -0xc(%ebp),%eax
595d66:	8b 55 f4             	mov    -0xc(%ebp),%edx
595d69:	e8 92 eb e6 ff       	call   0x404900
595d6e:	eb 33                	jmp    0x595da3
595d70:	8b 45 08             	mov    0x8(%ebp),%eax
595d73:	50                   	push   %eax
595d74:	8b 55 f8             	mov    -0x8(%ebp),%edx
595d77:	b8 01 00 00 00       	mov    $0x1,%eax
595d7c:	e8 bf f8 ff ff       	call   0x595640
595d81:	59                   	pop    %ecx
595d82:	eb 1f                	jmp    0x595da3
595d84:	8b 45 08             	mov    0x8(%ebp),%eax
595d87:	50                   	push   %eax
595d88:	8b 55 f8             	mov    -0x8(%ebp),%edx
595d8b:	b8 04 00 00 00       	mov    $0x4,%eax
595d90:	e8 ab f8 ff ff       	call   0x595640
595d95:	59                   	pop    %ecx
595d96:	eb 0b                	jmp    0x595da3
595d98:	8d 45 f4             	lea    -0xc(%ebp),%eax
595d9b:	8b 55 f4             	mov    -0xc(%ebp),%edx
595d9e:	e8 5d eb e6 ff       	call   0x404900
595da3:	66 81 e3 00 38       	and    $0x3800,%bx
595da8:	66 81 fb 00 08       	cmp    $0x800,%bx
595dad:	75 10                	jne    0x595dbf
595daf:	8b 45 08             	mov    0x8(%ebp),%eax
595db2:	50                   	push   %eax
595db3:	8d 55 f4             	lea    -0xc(%ebp),%edx
595db6:	8b 45 f8             	mov    -0x8(%ebp),%eax
595db9:	e8 fe f7 ff ff       	call   0x5955bc
595dbe:	59                   	pop    %ecx
595dbf:	8b c7                	mov    %edi,%eax
595dc1:	99                   	cltd
595dc2:	52                   	push   %edx
595dc3:	50                   	push   %eax
595dc4:	8b 45 08             	mov    0x8(%ebp),%eax
595dc7:	8b 40 fc             	mov    -0x4(%eax),%eax
595dca:	e8 09 89 e8 ff       	call   0x41e6d8
595dcf:	ff 4d e4             	decl   -0x1c(%ebp)
595dd2:	0f 85 ce fa ff ff    	jne    0x5958a6