865a74:	6a 28                	push   $0x28
865a76:	b8 7c d0 b9 00       	mov    $0xb9d07c,%eax
865a7b:	e8 0b 48 ba ff       	call   0x40a28b
865a80:	8b f9                	mov    %ecx,%edi
865a82:	89 7d d4             	mov    %edi,-0x2c(%ebp)
865a85:	8d 45 e4             	lea    -0x1c(%ebp),%eax
865a88:	50                   	push   %eax
865a89:	8d 45 e0             	lea    -0x20(%ebp),%eax
865a8c:	50                   	push   %eax
865a8d:	68 b0 00 00 00       	push   $0xb0
865a92:	ff 77 20             	push   0x20(%edi)
865a95:	ff 15 20 40 d8 00    	call   *0xd84020
865a9b:	6a 01                	push   $0x1
865a9d:	ff 75 e0             	push   -0x20(%ebp)
865aa0:	8d 45 f0             	lea    -0x10(%ebp),%eax
865aa3:	8b cf                	mov    %edi,%ecx
865aa5:	50                   	push   %eax
865aa6:	8d 45 e8             	lea    -0x18(%ebp),%eax
865aa9:	50                   	push   %eax
865aaa:	e8 b2 02 bb ff       	call   0x415d61
865aaf:	8b 75 e0             	mov    -0x20(%ebp),%esi
865ab2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
865ab5:	89 75 dc             	mov    %esi,-0x24(%ebp)
865ab8:	85 f6                	test   %esi,%esi
865aba:	79 0f                	jns    0x865acb
865abc:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
865ac2:	3b 50 f4             	cmp    -0xc(%eax),%edx
865ac5:	0f 8f ef 03 00 00    	jg     0x865eba
865acb:	8b 5d e8             	mov    -0x18(%ebp),%ebx
865ace:	3b f3                	cmp    %ebx,%esi
865ad0:	0f 8c e7 03 00 00    	jl     0x865ebd
865ad6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
865ad9:	3b f1                	cmp    %ecx,%esi
865adb:	0f 8f dc 03 00 00    	jg     0x865ebd
865ae1:	3b d3                	cmp    %ebx,%edx
865ae3:	0f 8c d4 03 00 00    	jl     0x865ebd
865ae9:	3b d1                	cmp    %ecx,%edx
865aeb:	0f 8f cc 03 00 00    	jg     0x865ebd
865af1:	3b f2                	cmp    %edx,%esi
865af3:	0f 85 1b 02 00 00    	jne    0x865d14
865af9:	8d 87 84 00 00 00    	lea    0x84(%edi),%eax
865aff:	89 45 ec             	mov    %eax,-0x14(%ebp)
865b02:	8b 00                	mov    (%eax),%eax
865b04:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
865b08:	0f 84 d5 01 00 00    	je     0x865ce3
865b0e:	3b d3                	cmp    %ebx,%edx
865b10:	75 40                	jne    0x865b52
865b12:	33 db                	xor    %ebx,%ebx
865b14:	83 fa 01             	cmp    $0x1,%edx
865b17:	7e 1a                	jle    0x865b33
865b19:	53                   	push   %ebx
865b1a:	8d 42 ff             	lea    -0x1(%edx),%eax
865b1d:	8b cf                	mov    %edi,%ecx
865b1f:	50                   	push   %eax
865b20:	8d 45 f0             	lea    -0x10(%ebp),%eax
865b23:	50                   	push   %eax
865b24:	8d 45 e8             	lea    -0x18(%ebp),%eax
865b27:	50                   	push   %eax
865b28:	e8 34 02 bb ff       	call   0x415d61
865b2d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
865b30:	8b 4d f0             	mov    -0x10(%ebp),%ecx
865b33:	83 7d e8 ff          	cmpl   $0xffffffff,-0x18(%ebp)
865b37:	74 0c                	je     0x865b45
865b39:	3b ca                	cmp    %edx,%ecx
865b3b:	7d 08                	jge    0x865b45
865b3d:	53                   	push   %ebx
865b3e:	51                   	push   %ecx
865b3f:	51                   	push   %ecx
865b40:	e9 86 03 00 00       	jmp    0x865ecb
865b45:	6a ff                	push   $0xffffffff
865b47:	ff 15 3c 3e d8 00    	call   *0xd83e3c
865b4d:	e9 80 03 00 00       	jmp    0x865ed2
865b52:	8b 4d ec             	mov    -0x14(%ebp),%ecx
865b55:	8d 5e ff             	lea    -0x1(%esi),%ebx
865b58:	33 ff                	xor    %edi,%edi
865b5a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
865b5d:	53                   	push   %ebx
865b5e:	47                   	inc    %edi
865b5f:	e8 14 d1 bb ff       	call   0x422c78
865b64:	8b 75 f0             	mov    -0x10(%ebp),%esi
865b67:	33 c9                	xor    %ecx,%ecx
865b69:	0f b7 c0             	movzwl %ax,%eax
865b6c:	41                   	inc    %ecx
865b6d:	89 45 d0             	mov    %eax,-0x30(%ebp)
865b70:	8d 43 01             	lea    0x1(%ebx),%eax
865b73:	89 4d d8             	mov    %ecx,-0x28(%ebp)
865b76:	33 db                	xor    %ebx,%ebx
865b78:	89 45 dc             	mov    %eax,-0x24(%ebp)
865b7b:	3b c6                	cmp    %esi,%eax
865b7d:	7d 25                	jge    0x865ba4
865b7f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
865b82:	50                   	push   %eax
865b83:	e8 f0 d0 bb ff       	call   0x422c78
865b88:	66 3b 45 d0          	cmp    -0x30(%ebp),%ax
865b8c:	8b 45 dc             	mov    -0x24(%ebp),%eax
865b8f:	75 0a                	jne    0x865b9b
865b91:	8b 4d d8             	mov    -0x28(%ebp),%ecx
865b94:	47                   	inc    %edi
865b95:	40                   	inc    %eax
865b96:	89 45 dc             	mov    %eax,-0x24(%ebp)
865b99:	eb 05                	jmp    0x865ba0
865b9b:	8b cb                	mov    %ebx,%ecx
865b9d:	89 4d d8             	mov    %ecx,-0x28(%ebp)
865ba0:	85 c9                	test   %ecx,%ecx
865ba2:	75 d7                	jne    0x865b7b
865ba4:	8b 45 e8             	mov    -0x18(%ebp),%eax
865ba7:	8b c8                	mov    %eax,%ecx
865ba9:	89 7d dc             	mov    %edi,-0x24(%ebp)
865bac:	89 4d ec             	mov    %ecx,-0x14(%ebp)
865baf:	8d 14 38             	lea    (%eax,%edi,1),%edx
865bb2:	8b 7d d4             	mov    -0x2c(%ebp),%edi
865bb5:	89 55 d8             	mov    %edx,-0x28(%ebp)
865bb8:	3b d6                	cmp    %esi,%edx
865bba:	7d 6e                	jge    0x865c2a
865bbc:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
865bc2:	51                   	push   %ecx
865bc3:	8b c8                	mov    %eax,%ecx
865bc5:	e8 ae d0 bb ff       	call   0x422c78
865bca:	66 3b 87 8c 00 00 00 	cmp    0x8c(%edi),%ax
865bd1:	74 44                	je     0x865c17
865bd3:	ff 75 ec             	push   -0x14(%ebp)
865bd6:	8b 37                	mov    (%edi),%esi
865bd8:	8d 8f 84 00 00 00    	lea    0x84(%edi),%ecx
865bde:	e8 95 d0 bb ff       	call   0x422c78
865be3:	0f b7 c0             	movzwl %ax,%eax
865be6:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
865bec:	50                   	push   %eax
865bed:	ff 75 ec             	push   -0x14(%ebp)
865bf0:	e8 83 d0 bb ff       	call   0x422c78
865bf5:	8b 8e 64 01 00 00    	mov    0x164(%esi),%ecx
865bfb:	0f b7 c0             	movzwl %ax,%eax
865bfe:	50                   	push   %eax
865bff:	e8 61 6a bc ff       	call   0x42c665
865c04:	8b cf                	mov    %edi,%ecx
865c06:	ff 96 64 01 00 00    	call   *0x164(%esi)
865c0c:	85 c0                	test   %eax,%eax
865c0e:	0f 84 31 ff ff ff    	je     0x865b45
865c14:	8b 75 f0             	mov    -0x10(%ebp),%esi
865c17:	8b 4d ec             	mov    -0x14(%ebp),%ecx
865c1a:	8b 45 dc             	mov    -0x24(%ebp),%eax
865c1d:	41                   	inc    %ecx
865c1e:	03 c1                	add    %ecx,%eax
865c20:	89 4d ec             	mov    %ecx,-0x14(%ebp)
865c23:	3b c6                	cmp    %esi,%eax
865c25:	7c 95                	jl     0x865bbc
865c27:	8b 45 e8             	mov    -0x18(%ebp),%eax
865c2a:	8b 75 dc             	mov    -0x24(%ebp),%esi
865c2d:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
865c33:	56                   	push   %esi
865c34:	50                   	push   %eax
865c35:	8d 45 ec             	lea    -0x14(%ebp),%eax
865c38:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
865c3b:	50                   	push   %eax
865c3c:	e8 8e 59 bd ff       	call   0x43b5cf
865c41:	89 5d fc             	mov    %ebx,-0x4(%ebp)
865c44:	85 f6                	test   %esi,%esi
865c46:	7e 3b                	jle    0x865c83
865c48:	8d 46 ff             	lea    -0x1(%esi),%eax
865c4b:	50                   	push   %eax
865c4c:	8d 45 d0             	lea    -0x30(%ebp),%eax
865c4f:	50                   	push   %eax
865c50:	8d 4d ec             	lea    -0x14(%ebp),%ecx
865c53:	e8 3d 12 bc ff       	call   0x426e95
865c58:	50                   	push   %eax
865c59:	8d 4d ec             	lea    -0x14(%ebp),%ecx
865c5c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
865c60:	e8 88 ca ba ff       	call   0x4126ed
865c65:	8b 4d d0             	mov    -0x30(%ebp),%ecx
865c68:	88 5d fc             	mov    %bl,-0x4(%ebp)
865c6b:	8d 49 f0             	lea    -0x10(%ecx),%ecx
865c6e:	e8 a1 ef b9 ff       	call   0x404c14
865c73:	0f b7 87 8c 00 00 00 	movzwl 0x8c(%edi),%eax
865c7a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
865c7d:	50                   	push   %eax
865c7e:	e8 02 d7 bb ff       	call   0x423385
865c83:	53                   	push   %ebx
865c84:	ff 75 d8             	push   -0x28(%ebp)
865c87:	8b cf                	mov    %edi,%ecx
865c89:	ff 75 e8             	push   -0x18(%ebp)
865c8c:	e8 69 f8 bb ff       	call   0x4254fa
865c91:	8b 75 ec             	mov    -0x14(%ebp),%esi
865c94:	56                   	push   %esi
865c95:	6a 01                	push   $0x1
865c97:	68 c2 00 00 00       	push   $0xc2
865c9c:	ff 77 20             	push   0x20(%edi)
865c9f:	ff 15 20 40 d8 00    	call   *0xd84020
865ca5:	8b 45 e8             	mov    -0x18(%ebp),%eax
865ca8:	8b cf                	mov    %edi,%ecx
865caa:	53                   	push   %ebx
865cab:	50                   	push   %eax
865cac:	50                   	push   %eax
865cad:	e8 48 f8 bb ff       	call   0x4254fa
865cb2:	39 5e f4             	cmp    %ebx,-0xc(%esi)
865cb5:	0f 8e cd 01 00 00    	jle    0x865e88
865cbb:	8b 7d d4             	mov    -0x2c(%ebp),%edi
865cbe:	53                   	push   %ebx
865cbf:	8d 4d ec             	lea    -0x14(%ebp),%ecx
865cc2:	e8 b1 cf bb ff       	call   0x422c78
865cc7:	0f b7 c0             	movzwl %ax,%eax
865cca:	8b cf                	mov    %edi,%ecx
865ccc:	50                   	push   %eax
865ccd:	8b 45 e8             	mov    -0x18(%ebp),%eax
865cd0:	03 c3                	add    %ebx,%eax
865cd2:	50                   	push   %eax
865cd3:	e8 69 ce bc ff       	call   0x432b41
865cd8:	43                   	inc    %ebx
865cd9:	3b 5e f4             	cmp    -0xc(%esi),%ebx
865cdc:	7c e0                	jl     0x865cbe
865cde:	e9 a5 01 00 00       	jmp    0x865e88
865ce3:	8d 45 d0             	lea    -0x30(%ebp),%eax
865ce6:	50                   	push   %eax
865ce7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
865cea:	50                   	push   %eax
865ceb:	68 b0 00 00 00       	push   $0xb0
865cf0:	ff 77 20             	push   0x20(%edi)
865cf3:	ff 15 20 40 d8 00    	call   *0xd84020
865cf9:	8b cf                	mov    %edi,%ecx
865cfb:	e8 60 c3 bc ff       	call   0x432060
865d00:	ff 75 d0             	push   -0x30(%ebp)
865d03:	ff 75 d4             	push   -0x2c(%ebp)
865d06:	6a 01                	push   $0x1
865d08:	8b cf                	mov    %edi,%ecx
865d0a:	e8 29 8c bc ff       	call   0x42e938
865d0f:	e9 be 01 00 00       	jmp    0x865ed2
865d14:	8b 87 88 00 00 00    	mov    0x88(%edi),%eax
865d1a:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
865d1e:	0f 84 6e 01 00 00    	je     0x865e92
865d24:	33 c0                	xor    %eax,%eax
865d26:	40                   	inc    %eax
865d27:	89 45 ec             	mov    %eax,-0x14(%ebp)
865d2a:	8d 87 84 00 00 00    	lea    0x84(%edi),%eax
865d30:	56                   	push   %esi
865d31:	8b c8                	mov    %eax,%ecx
865d33:	89 45 d0             	mov    %eax,-0x30(%ebp)
865d36:	e8 3d cf bb ff       	call   0x422c78
865d3b:	8b 7d ec             	mov    -0x14(%ebp),%edi
865d3e:	33 c9                	xor    %ecx,%ecx
865d40:	0f b7 c0             	movzwl %ax,%eax
865d43:	41                   	inc    %ecx
865d44:	89 45 cc             	mov    %eax,-0x34(%ebp)
865d47:	33 db                	xor    %ebx,%ebx
865d49:	8d 46 01             	lea    0x1(%esi),%eax
865d4c:	89 4d d8             	mov    %ecx,-0x28(%ebp)
865d4f:	8b 75 f0             	mov    -0x10(%ebp),%esi
865d52:	89 45 e8             	mov    %eax,-0x18(%ebp)
865d55:	3b c6                	cmp    %esi,%eax
865d57:	7d 25                	jge    0x865d7e
865d59:	8b 4d d0             	mov    -0x30(%ebp),%ecx
865d5c:	50                   	push   %eax
865d5d:	e8 16 cf bb ff       	call   0x422c78
865d62:	66 3b 45 cc          	cmp    -0x34(%ebp),%ax
865d66:	8b 45 e8             	mov    -0x18(%ebp),%eax
865d69:	75 0a                	jne    0x865d75
865d6b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
865d6e:	47                   	inc    %edi
865d6f:	40                   	inc    %eax
865d70:	89 45 e8             	mov    %eax,-0x18(%ebp)
865d73:	eb 05                	jmp    0x865d7a
865d75:	8b cb                	mov    %ebx,%ecx
865d77:	89 4d d8             	mov    %ecx,-0x28(%ebp)
865d7a:	85 c9                	test   %ecx,%ecx
865d7c:	75 d7                	jne    0x865d55
865d7e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
865d81:	2b 45 e0             	sub    -0x20(%ebp),%eax
865d84:	8b 75 dc             	mov    -0x24(%ebp),%esi
865d87:	3b c7                	cmp    %edi,%eax
865d89:	89 7d ec             	mov    %edi,-0x14(%ebp)
865d8c:	8b 7d d4             	mov    -0x2c(%ebp),%edi
865d8f:	7e 15                	jle    0x865da6
865d91:	6a ff                	push   $0xffffffff
865d93:	ff 15 3c 3e d8 00    	call   *0xd83e3c
865d99:	8b 45 ec             	mov    -0x14(%ebp),%eax
865d9c:	53                   	push   %ebx
865d9d:	03 c6                	add    %esi,%eax
865d9f:	50                   	push   %eax
865da0:	56                   	push   %esi
865da1:	e9 25 01 00 00       	jmp    0x865ecb
865da6:	8b 45 ec             	mov    -0x14(%ebp),%eax
865da9:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
865daf:	50                   	push   %eax
865db0:	56                   	push   %esi
865db1:	8d 45 e8             	lea    -0x18(%ebp),%eax
865db4:	89 4d d0             	mov    %ecx,-0x30(%ebp)
865db7:	50                   	push   %eax
865db8:	e8 12 58 bd ff       	call   0x43b5cf
865dbd:	8b 45 ec             	mov    -0x14(%ebp),%eax
865dc0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
865dc7:	85 c0                	test   %eax,%eax
865dc9:	7e 69                	jle    0x865e34
865dcb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
865dce:	8d 4d e8             	lea    -0x18(%ebp),%ecx
865dd1:	2b 75 e0             	sub    -0x20(%ebp),%esi
865dd4:	2b c6                	sub    %esi,%eax
865dd6:	50                   	push   %eax
865dd7:	8d 45 cc             	lea    -0x34(%ebp),%eax
865dda:	50                   	push   %eax
865ddb:	e8 b5 10 bc ff       	call   0x426e95
865de0:	50                   	push   %eax
865de1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
865de4:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
865de8:	e8 00 c9 ba ff       	call   0x4126ed
865ded:	8b 4d cc             	mov    -0x34(%ebp),%ecx
865df0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
865df4:	8d 49 f0             	lea    -0x10(%ecx),%ecx
865df7:	e8 18 ee b9 ff       	call   0x404c14
865dfc:	0f b7 87 8c 00 00 00 	movzwl 0x8c(%edi),%eax
865e03:	8d 4d cc             	lea    -0x34(%ebp),%ecx
865e06:	56                   	push   %esi
865e07:	50                   	push   %eax
865e08:	e8 12 2b bd ff       	call   0x43891f
865e0d:	8b 00                	mov    (%eax),%eax
865e0f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
865e12:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
865e16:	ff 70 f4             	push   -0xc(%eax)
865e19:	50                   	push   %eax
865e1a:	e8 4f f7 ba ff       	call   0x41556e
865e1f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
865e22:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
865e26:	8d 49 f0             	lea    -0x10(%ecx),%ecx
865e29:	e8 e6 ed b9 ff       	call   0x404c14
865e2e:	8b 75 dc             	mov    -0x24(%ebp),%esi
865e31:	8b 45 ec             	mov    -0x14(%ebp),%eax
865e34:	53                   	push   %ebx
865e35:	03 c6                	add    %esi,%eax
865e37:	8b cf                	mov    %edi,%ecx
865e39:	50                   	push   %eax
865e3a:	56                   	push   %esi
865e3b:	e8 ba f6 bb ff       	call   0x4254fa
865e40:	8b 75 e8             	mov    -0x18(%ebp),%esi
865e43:	56                   	push   %esi
865e44:	6a 01                	push   $0x1
865e46:	68 c2 00 00 00       	push   $0xc2
865e4b:	ff 77 20             	push   0x20(%edi)
865e4e:	ff 15 20 40 d8 00    	call   *0xd84020
865e54:	8b 45 dc             	mov    -0x24(%ebp),%eax
865e57:	8b cf                	mov    %edi,%ecx
865e59:	53                   	push   %ebx
865e5a:	50                   	push   %eax
865e5b:	50                   	push   %eax
865e5c:	e8 99 f6 bb ff       	call   0x4254fa
865e61:	39 5e f4             	cmp    %ebx,-0xc(%esi)
865e64:	7e 22                	jle    0x865e88
865e66:	8b 7d dc             	mov    -0x24(%ebp),%edi
865e69:	53                   	push   %ebx
865e6a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
865e6d:	e8 06 ce bb ff       	call   0x422c78
865e72:	8b 4d d0             	mov    -0x30(%ebp),%ecx
865e75:	0f b7 c0             	movzwl %ax,%eax
865e78:	50                   	push   %eax
865e79:	8d 04 3b             	lea    (%ebx,%edi,1),%eax