402ca7:	c2 04 00             	ret    $0x4
402caa:	8d 7b 74             	lea    0x74(%ebx),%edi
402cad:	57                   	push   %edi
402cae:	ff 15 70 f0 43 00    	call   *0x43f070
402cb4:	ff 4b 70             	decl   0x70(%ebx)
402cb7:	57                   	push   %edi
402cb8:	ff 15 74 f0 43 00    	call   *0x43f074
402cbe:	8b 1e                	mov    (%esi),%ebx
402cc0:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
402cc4:	83 7b 70 00          	cmpl   $0x0,0x70(%ebx)
402cc8:	75 14                	jne    0x402cde
402cca:	8b 03                	mov    (%ebx),%eax
402ccc:	8b 78 0c             	mov    0xc(%eax),%edi
402ccf:	8b cf                	mov    %edi,%ecx
402cd1:	ff 15 3c f2 43 00    	call   *0x43f23c
402cd7:	8b cb                	mov    %ebx,%ecx
402cd9:	ff d7                	call   *%edi
402cdb:	88 45 ff             	mov    %al,-0x1(%ebp)
402cde:	8b 5d f0             	mov    -0x10(%ebp),%ebx
402ce1:	8d 56 04             	lea    0x4(%esi),%edx
402ce4:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
402ce7:	2b ca                	sub    %edx,%ecx
402ce9:	51                   	push   %ecx
402cea:	52                   	push   %edx
402ceb:	56                   	push   %esi
402cec:	e8 5f a7 01 00       	call   0x41d450
402cf1:	83 43 2c fc          	addl   $0xfffffffc,0x2c(%ebx)
402cf5:	83 c4 0c             	add    $0xc,%esp
402cf8:	8b 43 2c             	mov    0x2c(%ebx),%eax
402cfb:	2b 43 28             	sub    0x28(%ebx),%eax
402cfe:	a9 fc ff ff ff       	test   $0xfffffffc,%eax
402d03:	75 99                	jne    0x402c9e
402d05:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402d08:	53                   	push   %ebx
402d09:	e8 32 06 00 00       	call   0x403340
402d0e:	8b f0                	mov    %eax,%esi
402d10:	8d 4e 10             	lea    0x10(%esi),%ecx
402d13:	e8 18 0e 00 00       	call   0x403b30
402d18:	6a 34                	push   $0x34
402d1a:	56                   	push   %esi
402d1b:	e8 ee 8b 01 00       	call   0x41b90e
402d20:	8a 45 ff             	mov    -0x1(%ebp),%al
402d23:	83 c4 08             	add    $0x8,%esp
402d26:	5f                   	pop    %edi
402d27:	5e                   	pop    %esi
402d28:	5b                   	pop    %ebx
402d29:	8b e5                	mov    %ebp,%esp
402d2b:	5d                   	pop    %ebp
402d2c:	c2 04 00             	ret    $0x4
402d2f:	5f                   	pop    %edi
402d30:	5e                   	pop    %esi
402d31:	b0 01                	mov    $0x1,%al
402d33:	5b                   	pop    %ebx
402d34:	8b e5                	mov    %ebp,%esp
402d36:	5d                   	pop    %ebp
402d37:	c2 04 00             	ret    $0x4
402d3a:	cc                   	int3
402d3b:	cc                   	int3
402d3c:	cc                   	int3
402d3d:	cc                   	int3
402d3e:	cc                   	int3
402d3f:	cc                   	int3
402d40:	55                   	push   %ebp
402d41:	8b ec                	mov    %esp,%ebp
402d43:	83 ec 4c             	sub    $0x4c,%esp
402d46:	8b 45 10             	mov    0x10(%ebp),%eax
402d49:	8b 55 08             	mov    0x8(%ebp),%edx
402d4c:	89 45 d8             	mov    %eax,-0x28(%ebp)
402d4f:	8b 45 14             	mov    0x14(%ebp),%eax
402d52:	89 45 dc             	mov    %eax,-0x24(%ebp)
402d55:	8b 45 18             	mov    0x18(%ebp),%eax
402d58:	89 45 e0             	mov    %eax,-0x20(%ebp)
402d5b:	8b 45 1c             	mov    0x1c(%ebp),%eax
402d5e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
402d61:	8b 45 20             	mov    0x20(%ebp),%eax
402d64:	89 45 e8             	mov    %eax,-0x18(%ebp)
402d67:	8b 45 24             	mov    0x24(%ebp),%eax
402d6a:	89 45 ec             	mov    %eax,-0x14(%ebp)
402d6d:	8b 45 28             	mov    0x28(%ebp),%eax
402d70:	89 45 f0             	mov    %eax,-0x10(%ebp)
402d73:	8b 45 2c             	mov    0x2c(%ebp),%eax
402d76:	89 45 f4             	mov    %eax,-0xc(%ebp)
402d79:	53                   	push   %ebx
402d7a:	8b d9                	mov    %ecx,%ebx
402d7c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402d7f:	56                   	push   %esi
402d80:	57                   	push   %edi
402d81:	85 d2                	test   %edx,%edx
402d83:	0f 84 06 01 00 00    	je     0x402e8f
402d89:	8b ca                	mov    %edx,%ecx
402d8b:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
402d92:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
402d99:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
402da0:	8d 71 02             	lea    0x2(%ecx),%esi
402da3:	66 8b 01             	mov    (%ecx),%ax
402da6:	83 c1 02             	add    $0x2,%ecx
402da9:	66 85 c0             	test   %ax,%ax
402dac:	75 f5                	jne    0x402da3
402dae:	2b ce                	sub    %esi,%ecx
402db0:	d1 f9                	sar    $1,%ecx
402db2:	51                   	push   %ecx
402db3:	52                   	push   %edx
402db4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
402db7:	e8 54 f7 ff ff       	call   0x402510
402dbc:	8d 45 c0             	lea    -0x40(%ebp),%eax
402dbf:	8b cb                	mov    %ebx,%ecx
402dc1:	50                   	push   %eax
402dc2:	8d 45 b4             	lea    -0x4c(%ebp),%eax
402dc5:	50                   	push   %eax
402dc6:	e8 85 0c 00 00       	call   0x403a50
402dcb:	8b 5d bc             	mov    -0x44(%ebp),%ebx
402dce:	8b 7d d4             	mov    -0x2c(%ebp),%edi
402dd1:	8b 75 c0             	mov    -0x40(%ebp),%esi
402dd4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402dd7:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
402ddb:	75 28                	jne    0x402e05
402ddd:	83 7b 24 08          	cmpl   $0x8,0x24(%ebx)
402de1:	8d 53 10             	lea    0x10(%ebx),%edx
402de4:	72 03                	jb     0x402de9
402de6:	8b 53 10             	mov    0x10(%ebx),%edx
402de9:	ff 73 20             	push   0x20(%ebx)
402dec:	83 ff 08             	cmp    $0x8,%edi
402def:	8d 4d c0             	lea    -0x40(%ebp),%ecx
402df2:	52                   	push   %edx
402df3:	8b 55 d0             	mov    -0x30(%ebp),%edx
402df6:	0f 43 ce             	cmovae %esi,%ecx
402df9:	e8 a2 f6 ff ff       	call   0x4024a0
402dfe:	83 c4 08             	add    $0x8,%esp
402e01:	85 c0                	test   %eax,%eax
402e03:	79 08                	jns    0x402e0d
402e05:	8b 5d fc             	mov    -0x4(%ebp),%ebx
402e08:	8b 1b                	mov    (%ebx),%ebx
402e0a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402e0d:	83 ff 08             	cmp    $0x8,%edi
402e10:	72 2b                	jb     0x402e3d
402e12:	8d 0c 7d 02 00 00 00 	lea    0x2(,%edi,2),%ecx
402e19:	8b c6                	mov    %esi,%eax
402e1b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402e21:	72 10                	jb     0x402e33
402e23:	8b 70 fc             	mov    -0x4(%eax),%esi
402e26:	83 c1 23             	add    $0x23,%ecx
402e29:	2b c6                	sub    %esi,%eax
402e2b:	83 c0 fc             	add    $0xfffffffc,%eax
402e2e:	83 f8 1f             	cmp    $0x1f,%eax
402e31:	77 65                	ja     0x402e98
402e33:	51                   	push   %ecx
402e34:	56                   	push   %esi
402e35:	e8 d4 8a 01 00       	call   0x41b90e
402e3a:	83 c4 08             	add    $0x8,%esp
402e3d:	8b 45 fc             	mov    -0x4(%ebp),%eax
402e40:	3b 18                	cmp    (%eax),%ebx
402e42:	74 4b                	je     0x402e8f
402e44:	8b 73 28             	mov    0x28(%ebx),%esi
402e47:	3b 73 2c             	cmp    0x2c(%ebx),%esi
402e4a:	74 43                	je     0x402e8f
402e4c:	0f 1f 40 00          	nopl   0x0(%eax)
402e50:	8b 1e                	mov    (%esi),%ebx
402e52:	6a 01                	push   $0x1
402e54:	6a 00                	push   $0x0
402e56:	6a 00                	push   $0x0
402e58:	ff 75 f4             	push   -0xc(%ebp)
402e5b:	8b 3b                	mov    (%ebx),%edi
402e5d:	ff 75 f0             	push   -0x10(%ebp)
402e60:	ff 75 ec             	push   -0x14(%ebp)
402e63:	8b 7f 14             	mov    0x14(%edi),%edi
402e66:	8b cf                	mov    %edi,%ecx
402e68:	ff 75 e8             	push   -0x18(%ebp)
402e6b:	ff 75 e4             	push   -0x1c(%ebp)
402e6e:	ff 75 e0             	push   -0x20(%ebp)
402e71:	ff 75 dc             	push   -0x24(%ebp)
402e74:	ff 75 d8             	push   -0x28(%ebp)
402e77:	ff 75 0c             	push   0xc(%ebp)
402e7a:	ff 15 3c f2 43 00    	call   *0x43f23c
402e80:	8b cb                	mov    %ebx,%ecx
402e82:	ff d7                	call   *%edi
402e84:	8b 45 f8             	mov    -0x8(%ebp),%eax
402e87:	83 c6 04             	add    $0x4,%esi
402e8a:	3b 70 2c             	cmp    0x2c(%eax),%esi
402e8d:	75 c1                	jne    0x402e50
402e8f:	5f                   	pop    %edi
402e90:	5e                   	pop    %esi
402e91:	5b                   	pop    %ebx
402e92:	8b e5                	mov    %ebp,%esp
402e94:	5d                   	pop    %ebp
402e95:	c2 30 00             	ret    $0x30
402e98:	e8 e2 db 01 00       	call   0x420a7f
402e9d:	cc                   	int3
402e9e:	cc                   	int3
402e9f:	cc                   	int3
402ea0:	55                   	push   %ebp
402ea1:	8b ec                	mov    %esp,%ebp
402ea3:	83 e4 f8             	and    $0xfffffff8,%esp
402ea6:	83 ec 4c             	sub    $0x4c,%esp
402ea9:	8b 45 10             	mov    0x10(%ebp),%eax
402eac:	8b 55 08             	mov    0x8(%ebp),%edx
402eaf:	89 44 24 24          	mov    %eax,0x24(%esp)
402eb3:	8b 45 14             	mov    0x14(%ebp),%eax
402eb6:	89 44 24 20          	mov    %eax,0x20(%esp)
402eba:	8b 45 18             	mov    0x18(%ebp),%eax
402ebd:	89 44 24 1c          	mov    %eax,0x1c(%esp)
402ec1:	8b 45 1c             	mov    0x1c(%ebp),%eax
402ec4:	89 44 24 18          	mov    %eax,0x18(%esp)
402ec8:	8b 45 20             	mov    0x20(%ebp),%eax
402ecb:	89 44 24 14          	mov    %eax,0x14(%esp)
402ecf:	8b 45 24             	mov    0x24(%ebp),%eax
402ed2:	89 44 24 10          	mov    %eax,0x10(%esp)
402ed6:	8b 45 28             	mov    0x28(%ebp),%eax
402ed9:	89 44 24 0c          	mov    %eax,0xc(%esp)
402edd:	8b 45 2c             	mov    0x2c(%ebp),%eax
402ee0:	89 44 24 08          	mov    %eax,0x8(%esp)
402ee4:	53                   	push   %ebx
402ee5:	8b d9                	mov    %ecx,%ebx
402ee7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
402eeb:	56                   	push   %esi
402eec:	57                   	push   %edi
402eed:	85 d2                	test   %edx,%edx
402eef:	0f 84 1a 01 00 00    	je     0x40300f
402ef5:	8b ca                	mov    %edx,%ecx
402ef7:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%esp)
402efe:	00
402eff:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
402f06:	00
402f07:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
402f0e:	00
402f0f:	8d 71 02             	lea    0x2(%ecx),%esi
402f12:	66 8b 01             	mov    (%ecx),%ax
402f15:	83 c1 02             	add    $0x2,%ecx
402f18:	66 85 c0             	test   %ax,%ax
402f1b:	75 f5                	jne    0x402f12
402f1d:	2b ce                	sub    %esi,%ecx
402f1f:	d1 f9                	sar    $1,%ecx
402f21:	51                   	push   %ecx
402f22:	52                   	push   %edx
402f23:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
402f27:	e8 e4 f5 ff ff       	call   0x402510
402f2c:	8d 44 24 34          	lea    0x34(%esp),%eax
402f30:	8b cb                	mov    %ebx,%ecx
402f32:	50                   	push   %eax
402f33:	8d 44 24 50          	lea    0x50(%esp),%eax
402f37:	50                   	push   %eax
402f38:	e8 13 0b 00 00       	call   0x403a50
402f3d:	8b 5c 24 54          	mov    0x54(%esp),%ebx
402f41:	8b 7c 24 48          	mov    0x48(%esp),%edi
402f45:	8b 74 24 34          	mov    0x34(%esp),%esi
402f49:	89 5c 24 10          	mov    %ebx,0x10(%esp)
402f4d:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
402f51:	75 2a                	jne    0x402f7d
402f53:	83 7b 24 08          	cmpl   $0x8,0x24(%ebx)
402f57:	8d 53 10             	lea    0x10(%ebx),%edx
402f5a:	72 03                	jb     0x402f5f
402f5c:	8b 53 10             	mov    0x10(%ebx),%edx
402f5f:	ff 73 20             	push   0x20(%ebx)
402f62:	83 ff 08             	cmp    $0x8,%edi
402f65:	8d 4c 24 38          	lea    0x38(%esp),%ecx
402f69:	52                   	push   %edx
402f6a:	8b 54 24 4c          	mov    0x4c(%esp),%edx
402f6e:	0f 43 ce             	cmovae %esi,%ecx
402f71:	e8 2a f5 ff ff       	call   0x4024a0
402f76:	83 c4 08             	add    $0x8,%esp
402f79:	85 c0                	test   %eax,%eax
402f7b:	79 0a                	jns    0x402f87
402f7d:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
402f81:	8b 1b                	mov    (%ebx),%ebx
402f83:	89 5c 24 10          	mov    %ebx,0x10(%esp)
402f87:	83 ff 08             	cmp    $0x8,%edi
402f8a:	72 2b                	jb     0x402fb7
402f8c:	8d 0c 7d 02 00 00 00 	lea    0x2(,%edi,2),%ecx
402f93:	8b c6                	mov    %esi,%eax
402f95:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402f9b:	72 10                	jb     0x402fad
402f9d:	8b 70 fc             	mov    -0x4(%eax),%esi
402fa0:	83 c1 23             	add    $0x23,%ecx
402fa3:	2b c6                	sub    %esi,%eax
402fa5:	83 c0 fc             	add    $0xfffffffc,%eax
402fa8:	83 f8 1f             	cmp    $0x1f,%eax
402fab:	77 6b                	ja     0x403018
402fad:	51                   	push   %ecx
402fae:	56                   	push   %esi
402faf:	e8 5a 89 01 00       	call   0x41b90e
402fb4:	83 c4 08             	add    $0x8,%esp
402fb7:	8b 44 24 0c          	mov    0xc(%esp),%eax
402fbb:	3b 18                	cmp    (%eax),%ebx
402fbd:	74 50                	je     0x40300f
402fbf:	8b 73 28             	mov    0x28(%ebx),%esi
402fc2:	3b 73 2c             	cmp    0x2c(%ebx),%esi
402fc5:	74 48                	je     0x40300f
402fc7:	8b 1e                	mov    (%esi),%ebx
402fc9:	6a 01                	push   $0x1
402fcb:	6a 00                	push   $0x0
402fcd:	6a 00                	push   $0x0
402fcf:	ff 74 24 20          	push   0x20(%esp)
402fd3:	8b 3b                	mov    (%ebx),%edi
402fd5:	ff 74 24 28          	push   0x28(%esp)
402fd9:	ff 74 24 30          	push   0x30(%esp)
402fdd:	8b 7f 10             	mov    0x10(%edi),%edi
402fe0:	8b cf                	mov    %edi,%ecx
402fe2:	ff 74 24 38          	push   0x38(%esp)
402fe6:	ff 74 24 40          	push   0x40(%esp)
402fea:	ff 74 24 48          	push   0x48(%esp)
402fee:	ff 74 24 50          	push   0x50(%esp)
402ff2:	ff 74 24 58          	push   0x58(%esp)
402ff6:	ff 75 0c             	push   0xc(%ebp)
402ff9:	ff 15 3c f2 43 00    	call   *0x43f23c
402fff:	8b cb                	mov    %ebx,%ecx
403001:	ff d7                	call   *%edi
403003:	8b 44 24 10          	mov    0x10(%esp),%eax
403007:	83 c6 04             	add    $0x4,%esi
40300a:	3b 70 2c             	cmp    0x2c(%eax),%esi
40300d:	75 b8                	jne    0x402fc7
40300f:	5f                   	pop    %edi
403010:	5e                   	pop    %esi
403011:	5b                   	pop    %ebx
403012:	8b e5                	mov    %ebp,%esp
403014:	5d                   	pop    %ebp
403015:	c2 30 00             	ret    $0x30
403018:	e8 62 da 01 00       	call   0x420a7f
40301d:	cc                   	int3
40301e:	cc                   	int3
40301f:	cc                   	int3
403020:	56                   	push   %esi
403021:	8b f1                	mov    %ecx,%esi
403023:	8b 06                	mov    (%esi),%eax
403025:	85 c0                	test   %eax,%eax
403027:	74 40                	je     0x403069
403029:	8b 4e 08             	mov    0x8(%esi),%ecx
40302c:	2b c8                	sub    %eax,%ecx
40302e:	83 e1 fc             	and    $0xfffffffc,%ecx
403031:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
403037:	72 12                	jb     0x40304b
403039:	8b 50 fc             	mov    -0x4(%eax),%edx
40303c:	83 c1 23             	add    $0x23,%ecx
40303f:	2b c2                	sub    %edx,%eax
403041:	83 c0 fc             	add    $0xfffffffc,%eax
403044:	83 f8 1f             	cmp    $0x1f,%eax
403047:	77 22                	ja     0x40306b
403049:	8b c2                	mov    %edx,%eax
40304b:	51                   	push   %ecx
40304c:	50                   	push   %eax
40304d:	e8 bc 88 01 00       	call   0x41b90e
403052:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
403058:	83 c4 08             	add    $0x8,%esp
40305b:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
403062:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
403069:	5e                   	pop    %esi
40306a:	c3                   	ret
40306b:	e8 0f da 01 00       	call   0x420a7f
403070:	cc                   	int3
403071:	cc                   	int3
403072:	cc                   	int3
403073:	cc                   	int3