5f7bb7:	e9 a3 00 00 00       	jmp    0x5f7c5f
5f7bbc:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5f7bc0:	75 0f                	jne    0x5f7bd1
5f7bc2:	b2 01                	mov    $0x1,%dl
5f7bc4:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5f7bc9:	e8 02 56 e3 ff       	call   0x42d1d0
5f7bce:	89 46 24             	mov    %eax,0x24(%esi)
5f7bd1:	8b 46 24             	mov    0x24(%esi),%eax
5f7bd4:	e8 ab 5c e3 ff       	call   0x42d884
5f7bd9:	3c 01                	cmp    $0x1,%al
5f7bdb:	75 51                	jne    0x5f7c2e
5f7bdd:	b2 01                	mov    $0x1,%dl
5f7bdf:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5f7be4:	e8 e7 55 e3 ff       	call   0x42d1d0
5f7be9:	8b d8                	mov    %eax,%ebx
5f7beb:	8b d3                	mov    %ebx,%edx
5f7bed:	8b 46 24             	mov    0x24(%esi),%eax
5f7bf0:	e8 eb 42 fb ff       	call   0x5abee0
5f7bf5:	8b d7                	mov    %edi,%edx
5f7bf7:	8b 46 24             	mov    0x24(%esi),%eax
5f7bfa:	8b 08                	mov    (%eax),%ecx
5f7bfc:	ff 51 40             	call   *0x40(%ecx)
5f7bff:	b2 01                	mov    $0x1,%dl
5f7c01:	8b 46 24             	mov    0x24(%esi),%eax
5f7c04:	8b 08                	mov    (%eax),%ecx
5f7c06:	ff 51 6c             	call   *0x6c(%ecx)
5f7c09:	53                   	push   %ebx
5f7c0a:	8b 46 24             	mov    0x24(%esi),%eax
5f7c0d:	e8 86 5b e3 ff       	call   0x42d798
5f7c12:	33 c9                	xor    %ecx,%ecx
5f7c14:	33 d2                	xor    %edx,%edx
5f7c16:	e8 b9 09 e3 ff       	call   0x4285d4
5f7c1b:	33 d2                	xor    %edx,%edx
5f7c1d:	8b 46 24             	mov    0x24(%esi),%eax
5f7c20:	8b 08                	mov    (%eax),%ecx
5f7c22:	ff 51 6c             	call   *0x6c(%ecx)
5f7c25:	8b c3                	mov    %ebx,%eax
5f7c27:	e8 4c be e0 ff       	call   0x403a78
5f7c2c:	eb 0a                	jmp    0x5f7c38
5f7c2e:	8b d7                	mov    %edi,%edx
5f7c30:	8b 46 24             	mov    0x24(%esi),%eax
5f7c33:	8b 08                	mov    (%eax),%ecx
5f7c35:	ff 51 40             	call   *0x40(%ecx)
5f7c38:	8b 46 24             	mov    0x24(%esi),%eax
5f7c3b:	8b 10                	mov    (%eax),%edx
5f7c3d:	ff 52 2c             	call   *0x2c(%edx)
5f7c40:	8b d8                	mov    %eax,%ebx
5f7c42:	89 5e 30             	mov    %ebx,0x30(%esi)
5f7c45:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
5f7c4b:	8b 56 38             	mov    0x38(%esi),%edx
5f7c4e:	8b c3                	mov    %ebx,%eax
5f7c50:	e8 8b 8e ff ff       	call   0x5f0ae0
5f7c55:	89 46 3c             	mov    %eax,0x3c(%esi)
5f7c58:	8b c6                	mov    %esi,%eax
5f7c5a:	e8 21 fe ff ff       	call   0x5f7a80
5f7c5f:	5a                   	pop    %edx
5f7c60:	5d                   	pop    %ebp
5f7c61:	5f                   	pop    %edi
5f7c62:	5e                   	pop    %esi
5f7c63:	5b                   	pop    %ebx
5f7c64:	c3                   	ret
5f7c65:	8d 40 00             	lea    0x0(%eax),%eax
5f7c68:	53                   	push   %ebx
5f7c69:	56                   	push   %esi
5f7c6a:	57                   	push   %edi
5f7c6b:	55                   	push   %ebp
5f7c6c:	51                   	push   %ecx
5f7c6d:	8b fa                	mov    %edx,%edi
5f7c6f:	8b f0                	mov    %eax,%esi
5f7c71:	3b 7e 34             	cmp    0x34(%esi),%edi
5f7c74:	0f 84 76 01 00 00    	je     0x5f7df0
5f7c7a:	8b c6                	mov    %esi,%eax
5f7c7c:	e8 87 fc ff ff       	call   0x5f7908
5f7c81:	84 c0                	test   %al,%al
5f7c83:	74 0e                	je     0x5f7c93
5f7c85:	8b c6                	mov    %esi,%eax
5f7c87:	e8 4c fc ff ff       	call   0x5f78d8
5f7c8c:	8b d7                	mov    %edi,%edx
5f7c8e:	e8 d5 ff ff ff       	call   0x5f7c68
5f7c93:	8a 46 42             	mov    0x42(%esi),%al
5f7c96:	2c 02                	sub    $0x2,%al
5f7c98:	72 0b                	jb     0x5f7ca5
5f7c9a:	0f 84 c2 00 00 00    	je     0x5f7d62
5f7ca0:	e9 4b 01 00 00       	jmp    0x5f7df0
5f7ca5:	80 7e 40 00          	cmpb   $0x0,0x40(%esi)
5f7ca9:	0f 84 ab 00 00 00    	je     0x5f7d5a
5f7caf:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
5f7cb3:	0f 8e a1 00 00 00    	jle    0x5f7d5a
5f7cb9:	b2 01                	mov    $0x1,%dl
5f7cbb:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5f7cc0:	e8 df f8 ff ff       	call   0x5f75a4
5f7cc5:	8b d8                	mov    %eax,%ebx
5f7cc7:	8b d3                	mov    %ebx,%edx
5f7cc9:	8b c6                	mov    %esi,%eax
5f7ccb:	e8 80 fc ff ff       	call   0x5f7950
5f7cd0:	8a 43 40             	mov    0x40(%ebx),%al
5f7cd3:	50                   	push   %eax
5f7cd4:	8b 53 30             	mov    0x30(%ebx),%edx
5f7cd7:	8b cf                	mov    %edi,%ecx
5f7cd9:	8b c6                	mov    %esi,%eax
5f7cdb:	8b 38                	mov    (%eax),%edi
5f7cdd:	ff 57 24             	call   *0x24(%edi)
5f7ce0:	80 7b 40 00          	cmpb   $0x0,0x40(%ebx)
5f7ce4:	74 44                	je     0x5f7d2a
5f7ce6:	8b 53 34             	mov    0x34(%ebx),%edx
5f7ce9:	8b 46 34             	mov    0x34(%esi),%eax
5f7cec:	e8 2b 17 fb ff       	call   0x5a941c
5f7cf1:	8b f8                	mov    %eax,%edi
5f7cf3:	8b 53 3c             	mov    0x3c(%ebx),%edx
5f7cf6:	8b 46 3c             	mov    0x3c(%esi),%eax
5f7cf9:	e8 1e 17 fb ff       	call   0x5a941c
5f7cfe:	89 04 24             	mov    %eax,(%esp)
5f7d01:	8b ef                	mov    %edi,%ebp
5f7d03:	4d                   	dec    %ebp
5f7d04:	85 ed                	test   %ebp,%ebp
5f7d06:	7c 22                	jl     0x5f7d2a
5f7d08:	45                   	inc    %ebp
5f7d09:	33 ff                	xor    %edi,%edi
5f7d0b:	8b d7                	mov    %edi,%edx
5f7d0d:	8b c3                	mov    %ebx,%eax
5f7d0f:	8b 08                	mov    (%eax),%ecx
5f7d11:	ff 11                	call   *(%ecx)
5f7d13:	50                   	push   %eax
5f7d14:	8b d7                	mov    %edi,%edx
5f7d16:	8b c6                	mov    %esi,%eax
5f7d18:	8b 08                	mov    (%eax),%ecx
5f7d1a:	ff 11                	call   *(%ecx)
5f7d1c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5f7d20:	5a                   	pop    %edx
5f7d21:	e8 9a 01 e1 ff       	call   0x407ec0
5f7d26:	47                   	inc    %edi
5f7d27:	4d                   	dec    %ebp
5f7d28:	75 e1                	jne    0x5f7d0b
5f7d2a:	8b c3                	mov    %ebx,%eax
5f7d2c:	e8 d7 fb ff ff       	call   0x5f7908
5f7d31:	84 c0                	test   %al,%al
5f7d33:	74 15                	je     0x5f7d4a
5f7d35:	8b c3                	mov    %ebx,%eax
5f7d37:	e8 9c fb ff ff       	call   0x5f78d8
5f7d3c:	50                   	push   %eax
5f7d3d:	8b c6                	mov    %esi,%eax
5f7d3f:	e8 94 fb ff ff       	call   0x5f78d8
5f7d44:	5a                   	pop    %edx
5f7d45:	8b 08                	mov    (%eax),%ecx
5f7d47:	ff 51 28             	call   *0x28(%ecx)
5f7d4a:	8b c3                	mov    %ebx,%eax
5f7d4c:	e8 27 bd e0 ff       	call   0x403a78
5f7d51:	c6 46 43 00          	movb   $0x0,0x43(%esi)
5f7d55:	e9 96 00 00 00       	jmp    0x5f7df0
5f7d5a:	89 7e 34             	mov    %edi,0x34(%esi)
5f7d5d:	e9 8e 00 00 00       	jmp    0x5f7df0
5f7d62:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5f7d66:	75 0f                	jne    0x5f7d77
5f7d68:	b2 01                	mov    $0x1,%dl
5f7d6a:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5f7d6f:	e8 5c 54 e3 ff       	call   0x42d1d0
5f7d74:	89 46 24             	mov    %eax,0x24(%esi)
5f7d77:	8b 46 24             	mov    0x24(%esi),%eax
5f7d7a:	e8 05 5b e3 ff       	call   0x42d884
5f7d7f:	3c 01                	cmp    $0x1,%al
5f7d81:	75 51                	jne    0x5f7dd4
5f7d83:	b2 01                	mov    $0x1,%dl
5f7d85:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5f7d8a:	e8 41 54 e3 ff       	call   0x42d1d0
5f7d8f:	8b d8                	mov    %eax,%ebx
5f7d91:	8b d3                	mov    %ebx,%edx
5f7d93:	8b 46 24             	mov    0x24(%esi),%eax
5f7d96:	e8 45 41 fb ff       	call   0x5abee0
5f7d9b:	8b d7                	mov    %edi,%edx
5f7d9d:	8b 46 24             	mov    0x24(%esi),%eax
5f7da0:	8b 08                	mov    (%eax),%ecx
5f7da2:	ff 51 34             	call   *0x34(%ecx)
5f7da5:	b2 01                	mov    $0x1,%dl
5f7da7:	8b 46 24             	mov    0x24(%esi),%eax
5f7daa:	8b 08                	mov    (%eax),%ecx
5f7dac:	ff 51 6c             	call   *0x6c(%ecx)
5f7daf:	53                   	push   %ebx
5f7db0:	8b 46 24             	mov    0x24(%esi),%eax
5f7db3:	e8 e0 59 e3 ff       	call   0x42d798
5f7db8:	33 c9                	xor    %ecx,%ecx
5f7dba:	33 d2                	xor    %edx,%edx
5f7dbc:	e8 13 08 e3 ff       	call   0x4285d4
5f7dc1:	33 d2                	xor    %edx,%edx
5f7dc3:	8b 46 24             	mov    0x24(%esi),%eax
5f7dc6:	8b 08                	mov    (%eax),%ecx
5f7dc8:	ff 51 6c             	call   *0x6c(%ecx)
5f7dcb:	8b c3                	mov    %ebx,%eax
5f7dcd:	e8 a6 bc e0 ff       	call   0x403a78
5f7dd2:	eb 0a                	jmp    0x5f7dde
5f7dd4:	8b d7                	mov    %edi,%edx
5f7dd6:	8b 46 24             	mov    0x24(%esi),%eax
5f7dd9:	8b 08                	mov    (%eax),%ecx
5f7ddb:	ff 51 34             	call   *0x34(%ecx)
5f7dde:	8b 46 24             	mov    0x24(%esi),%eax
5f7de1:	8b 10                	mov    (%eax),%edx
5f7de3:	ff 52 20             	call   *0x20(%edx)
5f7de6:	89 46 34             	mov    %eax,0x34(%esi)
5f7de9:	8b c6                	mov    %esi,%eax
5f7deb:	e8 90 fc ff ff       	call   0x5f7a80
5f7df0:	5a                   	pop    %edx
5f7df1:	5d                   	pop    %ebp
5f7df2:	5f                   	pop    %edi
5f7df3:	5e                   	pop    %esi
5f7df4:	5b                   	pop    %ebx
5f7df5:	c3                   	ret
5f7df6:	8b c0                	mov    %eax,%eax
5f7df8:	55                   	push   %ebp
5f7df9:	8b ec                	mov    %esp,%ebp
5f7dfb:	53                   	push   %ebx
5f7dfc:	56                   	push   %esi
5f7dfd:	57                   	push   %edi
5f7dfe:	8b f1                	mov    %ecx,%esi
5f7e00:	8b fa                	mov    %edx,%edi
5f7e02:	8b d8                	mov    %eax,%ebx
5f7e04:	8b c3                	mov    %ebx,%eax
5f7e06:	8b 10                	mov    (%eax),%edx
5f7e08:	ff 52 0c             	call   *0xc(%edx)
5f7e0b:	3b f8                	cmp    %eax,%edi
5f7e0d:	0f 8d 83 00 00 00    	jge    0x5f7e96
5f7e13:	8b c3                	mov    %ebx,%eax
5f7e15:	8b 10                	mov    (%eax),%edx
5f7e17:	ff 52 0c             	call   *0xc(%edx)
5f7e1a:	48                   	dec    %eax
5f7e1b:	50                   	push   %eax
5f7e1c:	8b c3                	mov    %ebx,%eax
5f7e1e:	8b 10                	mov    (%eax),%edx
5f7e20:	ff 52 08             	call   *0x8(%edx)
5f7e23:	48                   	dec    %eax
5f7e24:	50                   	push   %eax
5f7e25:	db 45 10             	fildl  0x10(%ebp)
5f7e28:	83 c4 f8             	add    $0xfffffff8,%esp
5f7e2b:	dd 1c 24             	fstpl  (%esp)
5f7e2e:	9b                   	fwait
5f7e2f:	33 c9                	xor    %ecx,%ecx
5f7e31:	8b d7                	mov    %edi,%edx
5f7e33:	8b c3                	mov    %ebx,%eax
5f7e35:	e8 7e 44 00 00       	call   0x5fc2b8
5f7e3a:	8a 45 0c             	mov    0xc(%ebp),%al
5f7e3d:	fe c8                	dec    %al
5f7e3f:	74 06                	je     0x5f7e47
5f7e41:	fe c8                	dec    %al
5f7e43:	74 2e                	je     0x5f7e73
5f7e45:	eb 4f                	jmp    0x5f7e96
5f7e47:	8b c7                	mov    %edi,%eax
5f7e49:	48                   	dec    %eax
5f7e4a:	50                   	push   %eax
5f7e4b:	8b c6                	mov    %esi,%eax
5f7e4d:	48                   	dec    %eax
5f7e4e:	50                   	push   %eax
5f7e4f:	8b c3                	mov    %ebx,%eax
5f7e51:	8b 10                	mov    (%eax),%edx
5f7e53:	ff 52 0c             	call   *0xc(%edx)
5f7e56:	2b c7                	sub    %edi,%eax
5f7e58:	d1 f8                	sar    $1,%eax
5f7e5a:	79 03                	jns    0x5f7e5f
5f7e5c:	83 d0 00             	adc    $0x0,%eax
5f7e5f:	50                   	push   %eax
5f7e60:	6a 00                	push   $0x0
5f7e62:	8b 45 10             	mov    0x10(%ebp),%eax
5f7e65:	50                   	push   %eax
5f7e66:	33 c9                	xor    %ecx,%ecx
5f7e68:	33 d2                	xor    %edx,%edx
5f7e6a:	8b c3                	mov    %ebx,%eax
5f7e6c:	e8 93 02 00 00       	call   0x5f8104
5f7e71:	eb 23                	jmp    0x5f7e96
5f7e73:	8b c7                	mov    %edi,%eax
5f7e75:	48                   	dec    %eax
5f7e76:	50                   	push   %eax
5f7e77:	8b c6                	mov    %esi,%eax
5f7e79:	48                   	dec    %eax
5f7e7a:	50                   	push   %eax
5f7e7b:	8b c3                	mov    %ebx,%eax
5f7e7d:	8b 10                	mov    (%eax),%edx
5f7e7f:	ff 52 0c             	call   *0xc(%edx)
5f7e82:	2b c7                	sub    %edi,%eax
5f7e84:	50                   	push   %eax
5f7e85:	6a 00                	push   $0x0
5f7e87:	8b 45 10             	mov    0x10(%ebp),%eax
5f7e8a:	50                   	push   %eax
5f7e8b:	33 c9                	xor    %ecx,%ecx
5f7e8d:	33 d2                	xor    %edx,%edx
5f7e8f:	8b c3                	mov    %ebx,%eax
5f7e91:	e8 6e 02 00 00       	call   0x5f8104
5f7e96:	8b c3                	mov    %ebx,%eax
5f7e98:	8b 10                	mov    (%eax),%edx
5f7e9a:	ff 52 08             	call   *0x8(%edx)
5f7e9d:	3b f0                	cmp    %eax,%esi
5f7e9f:	0f 8d 8d 00 00 00    	jge    0x5f7f32
5f7ea5:	8b c3                	mov    %ebx,%eax
5f7ea7:	8b 10                	mov    (%eax),%edx
5f7ea9:	ff 52 0c             	call   *0xc(%edx)
5f7eac:	48                   	dec    %eax
5f7ead:	50                   	push   %eax
5f7eae:	8b c3                	mov    %ebx,%eax
5f7eb0:	8b 10                	mov    (%eax),%edx
5f7eb2:	ff 52 08             	call   *0x8(%edx)
5f7eb5:	48                   	dec    %eax
5f7eb6:	50                   	push   %eax
5f7eb7:	db 45 10             	fildl  0x10(%ebp)
5f7eba:	83 c4 f8             	add    $0xfffffff8,%esp
5f7ebd:	dd 1c 24             	fstpl  (%esp)
5f7ec0:	9b                   	fwait
5f7ec1:	8b ce                	mov    %esi,%ecx
5f7ec3:	33 d2                	xor    %edx,%edx
5f7ec5:	8b c3                	mov    %ebx,%eax
5f7ec7:	e8 ec 43 00 00       	call   0x5fc2b8
5f7ecc:	8a 45 08             	mov    0x8(%ebp),%al
5f7ecf:	fe c8                	dec    %al
5f7ed1:	74 06                	je     0x5f7ed9
5f7ed3:	fe c8                	dec    %al
5f7ed5:	74 33                	je     0x5f7f0a
5f7ed7:	eb 59                	jmp    0x5f7f32
5f7ed9:	8b c3                	mov    %ebx,%eax
5f7edb:	8b 10                	mov    (%eax),%edx
5f7edd:	ff 52 0c             	call   *0xc(%edx)
5f7ee0:	48                   	dec    %eax
5f7ee1:	50                   	push   %eax
5f7ee2:	8b c6                	mov    %esi,%eax
5f7ee4:	48                   	dec    %eax
5f7ee5:	50                   	push   %eax
5f7ee6:	6a 00                	push   $0x0
5f7ee8:	8b c3                	mov    %ebx,%eax
5f7eea:	8b 10                	mov    (%eax),%edx
5f7eec:	ff 52 08             	call   *0x8(%edx)
5f7eef:	2b c6                	sub    %esi,%eax
5f7ef1:	d1 f8                	sar    $1,%eax
5f7ef3:	79 03                	jns    0x5f7ef8
5f7ef5:	83 d0 00             	adc    $0x0,%eax
5f7ef8:	50                   	push   %eax
5f7ef9:	8b 45 10             	mov    0x10(%ebp),%eax
5f7efc:	50                   	push   %eax
5f7efd:	33 c9                	xor    %ecx,%ecx
5f7eff:	33 d2                	xor    %edx,%edx
5f7f01:	8b c3                	mov    %ebx,%eax
5f7f03:	e8 fc 01 00 00       	call   0x5f8104
5f7f08:	eb 28                	jmp    0x5f7f32
5f7f0a:	8b c3                	mov    %ebx,%eax
5f7f0c:	8b 10                	mov    (%eax),%edx
5f7f0e:	ff 52 0c             	call   *0xc(%edx)
5f7f11:	48                   	dec    %eax
5f7f12:	50                   	push   %eax
5f7f13:	8b c6                	mov    %esi,%eax
5f7f15:	48                   	dec    %eax
5f7f16:	50                   	push   %eax
5f7f17:	6a 00                	push   $0x0
5f7f19:	8b c3                	mov    %ebx,%eax
5f7f1b:	8b 10                	mov    (%eax),%edx
5f7f1d:	ff 52 08             	call   *0x8(%edx)
5f7f20:	2b c6                	sub    %esi,%eax
5f7f22:	50                   	push   %eax