414b0e:	8b 46 1c             	mov    0x1c(%esi),%eax
414b11:	03 f9                	add    %ecx,%edi
414b13:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
414b17:	01 08                	add    %ecx,(%eax)
414b19:	eb 28                	jmp    0x414b43
414b1b:	8b 16                	mov    (%esi),%edx
414b1d:	8b ce                	mov    %esi,%ecx
414b1f:	ff 52 14             	call   *0x14(%edx)
414b22:	33 c9                	xor    %ecx,%ecx
414b24:	66 3d ff ff          	cmp    $0xffff,%ax
414b28:	0f 94 c1             	sete   %cl
414b2b:	84 c9                	test   %cl,%cl
414b2d:	75 1c                	jne    0x414b4b
414b2f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414b33:	66 89 07             	mov    %ax,(%edi)
414b36:	83 c7 02             	add    $0x2,%edi
414b39:	41                   	inc    %ecx
414b3a:	4b                   	dec    %ebx
414b3b:	89 4c 24 10          	mov    %ecx,0x10(%esp)
414b3f:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
414b43:	85 db                	test   %ebx,%ebx
414b45:	0f 8f 74 ff ff ff    	jg     0x414abf
414b4b:	8b 44 24 10          	mov    0x10(%esp),%eax
414b4f:	5f                   	pop    %edi
414b50:	5e                   	pop    %esi
414b51:	5d                   	pop    %ebp
414b52:	5b                   	pop    %ebx
414b53:	59                   	pop    %ecx
414b54:	c2 08 00             	ret    $0x8
414b57:	90                   	nop
414b58:	90                   	nop
414b59:	90                   	nop
414b5a:	90                   	nop
414b5b:	90                   	nop
414b5c:	90                   	nop
414b5d:	90                   	nop
414b5e:	90                   	nop
414b5f:	90                   	nop
414b60:	51                   	push   %ecx
414b61:	53                   	push   %ebx
414b62:	8b 5c 24 10          	mov    0x10(%esp),%ebx
414b66:	55                   	push   %ebp
414b67:	56                   	push   %esi
414b68:	85 db                	test   %ebx,%ebx
414b6a:	57                   	push   %edi
414b6b:	8b f1                	mov    %ecx,%esi
414b6d:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
414b74:	00
414b75:	0f 8e 91 00 00 00    	jle    0x414c0c
414b7b:	8b 7c 24 18          	mov    0x18(%esp),%edi
414b7f:	8b 46 20             	mov    0x20(%esi),%eax
414b82:	8b 08                	mov    (%eax),%ecx
414b84:	85 c9                	test   %ecx,%ecx
414b86:	74 53                	je     0x414bdb
414b88:	8b 56 30             	mov    0x30(%esi),%edx
414b8b:	8b 02                	mov    (%edx),%eax
414b8d:	d1 e0                	shl    $1,%eax
414b8f:	d1 f8                	sar    $1,%eax
414b91:	85 c0                	test   %eax,%eax
414b93:	7e 46                	jle    0x414bdb
414b95:	3b d8                	cmp    %eax,%ebx
414b97:	7d 02                	jge    0x414b9b
414b99:	8b c3                	mov    %ebx,%eax
414b9b:	85 c0                	test   %eax,%eax
414b9d:	8b d7                	mov    %edi,%edx
414b9f:	76 15                	jbe    0x414bb6
414ba1:	8b d8                	mov    %eax,%ebx
414ba3:	66 8b 2a             	mov    (%edx),%bp
414ba6:	83 c2 02             	add    $0x2,%edx
414ba9:	66 89 29             	mov    %bp,(%ecx)
414bac:	83 c1 02             	add    $0x2,%ecx
414baf:	4b                   	dec    %ebx
414bb0:	75 f1                	jne    0x414ba3
414bb2:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
414bb6:	8b 6c 24 10          	mov    0x10(%esp),%ebp
414bba:	8b 56 30             	mov    0x30(%esi),%edx
414bbd:	03 e8                	add    %eax,%ebp
414bbf:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
414bc2:	89 6c 24 10          	mov    %ebp,0x10(%esp)
414bc6:	8b 2a                	mov    (%edx),%ebp
414bc8:	2b e8                	sub    %eax,%ebp
414bca:	2b d8                	sub    %eax,%ebx
414bcc:	89 2a                	mov    %ebp,(%edx)
414bce:	8b 46 20             	mov    0x20(%esi),%eax
414bd1:	03 f9                	add    %ecx,%edi
414bd3:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
414bd7:	01 08                	add    %ecx,(%eax)
414bd9:	eb 29                	jmp    0x414c04
414bdb:	66 8b 0f             	mov    (%edi),%cx
414bde:	8b 06                	mov    (%esi),%eax
414be0:	51                   	push   %ecx
414be1:	8b ce                	mov    %esi,%ecx
414be3:	ff 50 04             	call   *0x4(%eax)
414be6:	33 d2                	xor    %edx,%edx
414be8:	66 3d ff ff          	cmp    $0xffff,%ax
414bec:	0f 94 c2             	sete   %dl
414bef:	84 d2                	test   %dl,%dl
414bf1:	75 19                	jne    0x414c0c
414bf3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414bf7:	83 c7 02             	add    $0x2,%edi
414bfa:	41                   	inc    %ecx
414bfb:	4b                   	dec    %ebx
414bfc:	89 4c 24 10          	mov    %ecx,0x10(%esp)
414c00:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
414c04:	85 db                	test   %ebx,%ebx
414c06:	0f 8f 73 ff ff ff    	jg     0x414b7f
414c0c:	8b 44 24 10          	mov    0x10(%esp),%eax
414c10:	5f                   	pop    %edi
414c11:	5e                   	pop    %esi
414c12:	5d                   	pop    %ebp
414c13:	5b                   	pop    %ebx
414c14:	59                   	pop    %ecx
414c15:	c2 08 00             	ret    $0x8
414c18:	90                   	nop
414c19:	90                   	nop
414c1a:	90                   	nop
414c1b:	90                   	nop
414c1c:	90                   	nop
414c1d:	90                   	nop
414c1e:	90                   	nop
414c1f:	90                   	nop
414c20:	83 ec 0c             	sub    $0xc,%esp
414c23:	33 c0                	xor    %eax,%eax
414c25:	53                   	push   %ebx
414c26:	55                   	push   %ebp
414c27:	8b 6c 24 18          	mov    0x18(%esp),%ebp
414c2b:	56                   	push   %esi
414c2c:	66 81 fd ff ff       	cmp    $0xffff,%bp
414c31:	57                   	push   %edi
414c32:	0f 94 c0             	sete   %al
414c35:	84 c0                	test   %al,%al
414c37:	8b f1                	mov    %ecx,%esi
414c39:	74 16                	je     0x414c51
414c3b:	66 8b c5             	mov    %bp,%ax
414c3e:	66 40                	inc    %ax
414c40:	66 f7 d8             	neg    %ax
414c43:	1b c0                	sbb    %eax,%eax
414c45:	23 c5                	and    %ebp,%eax
414c47:	5f                   	pop    %edi
414c48:	5e                   	pop    %esi
414c49:	5d                   	pop    %ebp
414c4a:	5b                   	pop    %ebx
414c4b:	83 c4 0c             	add    $0xc,%esp
414c4e:	c2 04 00             	ret    $0x4
414c51:	8b 4e 20             	mov    0x20(%esi),%ecx
414c54:	8b 11                	mov    (%ecx),%edx
414c56:	85 d2                	test   %edx,%edx
414c58:	74 29                	je     0x414c83
414c5a:	8b 46 30             	mov    0x30(%esi),%eax
414c5d:	8b 08                	mov    (%eax),%ecx
414c5f:	8d 3c 4a             	lea    (%edx,%ecx,2),%edi
414c62:	3b d7                	cmp    %edi,%edx
414c64:	73 1d                	jae    0x414c83
414c66:	49                   	dec    %ecx
414c67:	89 08                	mov    %ecx,(%eax)
414c69:	8b 76 20             	mov    0x20(%esi),%esi
414c6c:	8b 06                	mov    (%esi),%eax
414c6e:	8d 50 02             	lea    0x2(%eax),%edx
414c71:	89 16                	mov    %edx,(%esi)
414c73:	66 89 28             	mov    %bp,(%eax)
414c76:	66 8b c5             	mov    %bp,%ax
414c79:	5f                   	pop    %edi
414c7a:	5e                   	pop    %esi
414c7b:	5d                   	pop    %ebp
414c7c:	5b                   	pop    %ebx
414c7d:	83 c4 0c             	add    $0xc,%esp
414c80:	c2 04 00             	ret    $0x4
414c83:	8b 46 50             	mov    0x50(%esi),%eax
414c86:	85 c0                	test   %eax,%eax
414c88:	75 0e                	jne    0x414c98
414c8a:	66 0d ff ff          	or     $0xffff,%ax
414c8e:	5f                   	pop    %edi
414c8f:	5e                   	pop    %esi
414c90:	5d                   	pop    %ebp
414c91:	5b                   	pop    %ebx
414c92:	83 c4 0c             	add    $0xc,%esp
414c95:	c2 04 00             	ret    $0x4
414c98:	8b 4e 38             	mov    0x38(%esi),%ecx
414c9b:	85 c9                	test   %ecx,%ecx
414c9d:	75 2c                	jne    0x414ccb
414c9f:	50                   	push   %eax
414ca0:	55                   	push   %ebp
414ca1:	e8 2a 35 00 00       	call   0x4181d0
414ca6:	83 c4 08             	add    $0x8,%esp
414ca9:	33 c9                	xor    %ecx,%ecx
414cab:	66 3d ff ff          	cmp    $0xffff,%ax
414caf:	8b c5                	mov    %ebp,%eax
414cb1:	0f 95 c1             	setne  %cl
414cb4:	84 c9                	test   %cl,%cl
414cb6:	0f 85 8f 01 00 00    	jne    0x414e4b
414cbc:	b8 ff ff 00 00       	mov    $0xffff,%eax
414cc1:	5f                   	pop    %edi
414cc2:	5e                   	pop    %esi
414cc3:	5d                   	pop    %ebp
414cc4:	5b                   	pop    %ebx
414cc5:	83 c4 0c             	add    $0xc,%esp
414cc8:	c2 04 00             	ret    $0x4
414ccb:	8b 7e 44             	mov    0x44(%esi),%edi
414cce:	8b 1d 90 ca 42 00    	mov    0x42ca90,%ebx
414cd4:	8b cf                	mov    %edi,%ecx
414cd6:	89 6c 24 10          	mov    %ebp,0x10(%esp)
414cda:	e8 31 e8 ff ff       	call   0x413510
414cdf:	8b 47 08             	mov    0x8(%edi),%eax
414ce2:	3b c3                	cmp    %ebx,%eax
414ce4:	73 02                	jae    0x414ce8
414ce6:	8b d8                	mov    %eax,%ebx
414ce8:	85 db                	test   %ebx,%ebx
414cea:	76 35                	jbe    0x414d21
414cec:	8b 4f 04             	mov    0x4(%edi),%ecx
414cef:	2b c3                	sub    %ebx,%eax
414cf1:	50                   	push   %eax
414cf2:	8d 14 0b             	lea    (%ebx,%ecx,1),%edx
414cf5:	52                   	push   %edx
414cf6:	51                   	push   %ecx
414cf7:	e8 a4 82 ff ff       	call   0x40cfa0
414cfc:	8b 6f 08             	mov    0x8(%edi),%ebp
414cff:	83 c4 0c             	add    $0xc,%esp
414d02:	2b eb                	sub    %ebx,%ebp
414d04:	8b cf                	mov    %edi,%ecx
414d06:	6a 00                	push   $0x0
414d08:	55                   	push   %ebp
414d09:	e8 b8 5c ff ff       	call   0x40a9c6
414d0e:	84 c0                	test   %al,%al
414d10:	74 0b                	je     0x414d1d
414d12:	8b 47 04             	mov    0x4(%edi),%eax
414d15:	89 6f 08             	mov    %ebp,0x8(%edi)
414d18:	c6 44 05 00 00       	movb   $0x0,0x0(%ebp,%eax,1)
414d1d:	8b 6c 24 20          	mov    0x20(%esp),%ebp
414d21:	8b 7e 44             	mov    0x44(%esi),%edi
414d24:	8b 0d 90 ca 42 00    	mov    0x42ca90,%ecx
414d2a:	2b 4f 08             	sub    0x8(%edi),%ecx
414d2d:	83 f9 08             	cmp    $0x8,%ecx
414d30:	77 05                	ja     0x414d37
414d32:	e8 29 14 00 00       	call   0x416160
414d37:	8b 5f 08             	mov    0x8(%edi),%ebx
414d3a:	6a 00                	push   $0x0
414d3c:	83 c3 08             	add    $0x8,%ebx
414d3f:	8b cf                	mov    %edi,%ecx
414d41:	53                   	push   %ebx
414d42:	e8 7f 5c ff ff       	call   0x40a9c6
414d47:	84 c0                	test   %al,%al
414d49:	74 18                	je     0x414d63
414d4b:	8b 47 04             	mov    0x4(%edi),%eax
414d4e:	8b 4f 08             	mov    0x8(%edi),%ecx
414d51:	33 d2                	xor    %edx,%edx
414d53:	03 c1                	add    %ecx,%eax
414d55:	89 10                	mov    %edx,(%eax)
414d57:	89 50 04             	mov    %edx,0x4(%eax)
414d5a:	8b 4f 04             	mov    0x4(%edi),%ecx
414d5d:	89 5f 08             	mov    %ebx,0x8(%edi)
414d60:	88 14 0b             	mov    %dl,(%ebx,%ecx,1)
414d63:	8b 7e 44             	mov    0x44(%esi),%edi
414d66:	8b cf                	mov    %edi,%ecx
414d68:	e8 03 e7 ff ff       	call   0x413470
414d6d:	8b 47 04             	mov    0x4(%edi),%eax
414d70:	85 c0                	test   %eax,%eax
414d72:	75 04                	jne    0x414d78
414d74:	33 db                	xor    %ebx,%ebx
414d76:	eb 05                	jmp    0x414d7d
414d78:	8b 5f 08             	mov    0x8(%edi),%ebx
414d7b:	03 d8                	add    %eax,%ebx
414d7d:	8b 7e 44             	mov    0x44(%esi),%edi
414d80:	8b cf                	mov    %edi,%ecx
414d82:	e8 e9 e6 ff ff       	call   0x413470
414d87:	8d 44 24 18          	lea    0x18(%esp),%eax
414d8b:	8b 4e 38             	mov    0x38(%esi),%ecx
414d8e:	50                   	push   %eax
414d8f:	8b 47 04             	mov    0x4(%edi),%eax
414d92:	53                   	push   %ebx
414d93:	50                   	push   %eax
414d94:	8d 44 24 20          	lea    0x20(%esp),%eax
414d98:	8b 11                	mov    (%ecx),%edx
414d9a:	50                   	push   %eax
414d9b:	8d 44 24 22          	lea    0x22(%esp),%eax
414d9f:	50                   	push   %eax
414da0:	8d 44 24 24          	lea    0x24(%esp),%eax
414da4:	50                   	push   %eax
414da5:	8d 46 40             	lea    0x40(%esi),%eax
414da8:	50                   	push   %eax
414da9:	ff 52 14             	call   *0x14(%edx)
414dac:	83 e8 00             	sub    $0x0,%eax
414daf:	74 5f                	je     0x414e10
414db1:	48                   	dec    %eax
414db2:	74 42                	je     0x414df6
414db4:	83 e8 02             	sub    $0x2,%eax
414db7:	74 0e                	je     0x414dc7
414db9:	66 0d ff ff          	or     $0xffff,%ax
414dbd:	5f                   	pop    %edi
414dbe:	5e                   	pop    %esi
414dbf:	5d                   	pop    %ebp
414dc0:	5b                   	pop    %ebx
414dc1:	83 c4 0c             	add    $0xc,%esp
414dc4:	c2 04 00             	ret    $0x4
414dc7:	8b 76 50             	mov    0x50(%esi),%esi
414dca:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414dce:	56                   	push   %esi
414dcf:	51                   	push   %ecx
414dd0:	e8 fb 33 00 00       	call   0x4181d0
414dd5:	83 c4 08             	add    $0x8,%esp
414dd8:	33 d2                	xor    %edx,%edx
414dda:	66 3d ff ff          	cmp    $0xffff,%ax
414dde:	8b c5                	mov    %ebp,%eax
414de0:	0f 95 c2             	setne  %dl
414de3:	84 d2                	test   %dl,%dl
414de5:	75 64                	jne    0x414e4b
414de7:	b8 ff ff 00 00       	mov    $0xffff,%eax
414dec:	5f                   	pop    %edi
414ded:	5e                   	pop    %esi
414dee:	5d                   	pop    %ebp
414def:	5b                   	pop    %ebx
414df0:	83 c4 0c             	add    $0xc,%esp
414df3:	c2 04 00             	ret    $0x4
414df6:	8b 4c 24 14          	mov    0x14(%esp),%ecx
414dfa:	8d 44 24 10          	lea    0x10(%esp),%eax
414dfe:	3b c8                	cmp    %eax,%ecx
414e00:	75 0e                	jne    0x414e10
414e02:	66 0d ff ff          	or     $0xffff,%ax
414e06:	5f                   	pop    %edi
414e07:	5e                   	pop    %esi
414e08:	5d                   	pop    %ebp
414e09:	5b                   	pop    %ebx
414e0a:	83 c4 0c             	add    $0xc,%esp
414e0d:	c2 04 00             	ret    $0x4
414e10:	8b 5e 44             	mov    0x44(%esi),%ebx
414e13:	8b cb                	mov    %ebx,%ecx
414e15:	e8 56 e6 ff ff       	call   0x413470
414e1a:	8b 43 04             	mov    0x4(%ebx),%eax
414e1d:	8b 5e 44             	mov    0x44(%esi),%ebx
414e20:	8b 7c 24 18          	mov    0x18(%esp),%edi
414e24:	8b cb                	mov    %ebx,%ecx
414e26:	2b f8                	sub    %eax,%edi
414e28:	e8 43 e6 ff ff       	call   0x413470
414e2d:	8b 4e 50             	mov    0x50(%esi),%ecx
414e30:	8b 53 04             	mov    0x4(%ebx),%edx
414e33:	51                   	push   %ecx
414e34:	6a 01                	push   $0x1
414e36:	57                   	push   %edi
414e37:	52                   	push   %edx
414e38:	e8 83 2e 00 00       	call   0x417cc0
414e3d:	83 c4 10             	add    $0x10,%esp
414e40:	3b c7                	cmp    %edi,%eax
414e42:	8b c5                	mov    %ebp,%eax
414e44:	74 05                	je     0x414e4b
414e46:	b8 ff ff 00 00       	mov    $0xffff,%eax
414e4b:	5f                   	pop    %edi
414e4c:	5e                   	pop    %esi
414e4d:	5d                   	pop    %ebp
414e4e:	5b                   	pop    %ebx
414e4f:	83 c4 0c             	add    $0xc,%esp
414e52:	c2 04 00             	ret    $0x4