402a97:	8d 77 74             	lea    0x74(%edi),%esi
402a9a:	56                   	push   %esi
402a9b:	ff 15 70 f0 43 00    	call   *0x43f070
402aa1:	ff 47 70             	incl   0x70(%edi)
402aa4:	56                   	push   %esi
402aa5:	ff 15 74 f0 43 00    	call   *0x43f074
402aab:	0f 57 c0             	xorps  %xmm0,%xmm0
402aae:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
402ab5:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
402aba:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
402ac1:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
402ac8:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
402acf:	8d 45 dc             	lea    -0x24(%ebp),%eax
402ad2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402ad9:	50                   	push   %eax
402ada:	6a 00                	push   $0x0
402adc:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402adf:	e8 0c 0e 00 00       	call   0x4038f0
402ae4:	8b 75 d0             	mov    -0x30(%ebp),%esi
402ae7:	8d 45 c0             	lea    -0x40(%ebp),%eax
402aea:	53                   	push   %ebx
402aeb:	50                   	push   %eax
402aec:	8b ce                	mov    %esi,%ecx
402aee:	e8 5d 0f 00 00       	call   0x403a50
402af3:	8b 7d c8             	mov    -0x38(%ebp),%edi
402af6:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
402afa:	75 2c                	jne    0x402b28
402afc:	83 7f 24 08          	cmpl   $0x8,0x24(%edi)
402b00:	8d 57 10             	lea    0x10(%edi),%edx
402b03:	72 03                	jb     0x402b08
402b05:	8b 57 10             	mov    0x10(%edi),%edx
402b08:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
402b0c:	8b cb                	mov    %ebx,%ecx
402b0e:	72 02                	jb     0x402b12
402b10:	8b 0b                	mov    (%ebx),%ecx
402b12:	ff 77 20             	push   0x20(%edi)
402b15:	52                   	push   %edx
402b16:	8b 53 10             	mov    0x10(%ebx),%edx
402b19:	e8 82 f9 ff ff       	call   0x4024a0
402b1e:	c1 e8 1f             	shr    $0x1f,%eax
402b21:	83 c4 08             	add    $0x8,%esp
402b24:	84 c0                	test   %al,%al
402b26:	74 73                	je     0x402b9b
402b28:	81 7e 04 c4 4e ec 04 	cmpl   $0x4ec4ec4,0x4(%esi)
402b2f:	0f 84 d0 00 00 00    	je     0x402c05
402b35:	8b 1e                	mov    (%esi),%ebx
402b37:	89 75 d8             	mov    %esi,-0x28(%ebp)
402b3a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402b3e:	6a 34                	push   $0x34
402b40:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
402b47:	e8 92 8d 01 00       	call   0x41b8de
402b4c:	8b f8                	mov    %eax,%edi
402b4e:	83 c4 04             	add    $0x4,%esp
402b51:	89 7d dc             	mov    %edi,-0x24(%ebp)
402b54:	ff 75 cc             	push   -0x34(%ebp)
402b57:	8d 4f 10             	lea    0x10(%edi),%ecx
402b5a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
402b5e:	e8 5d f7 ff ff       	call   0x4022c0
402b63:	8b 4d d0             	mov    -0x30(%ebp),%ecx
402b66:	57                   	push   %edi
402b67:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
402b6e:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
402b75:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
402b7c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
402b80:	ff 75 c4             	push   -0x3c(%ebp)
402b83:	89 1f                	mov    %ebx,(%edi)
402b85:	ff 75 c0             	push   -0x40(%ebp)
402b88:	89 5f 04             	mov    %ebx,0x4(%edi)
402b8b:	89 5f 08             	mov    %ebx,0x8(%edi)
402b8e:	66 c7 47 0c 00 00    	movw   $0x0,0xc(%edi)
402b94:	e8 37 05 00 00       	call   0x4030d0
402b99:	8b f8                	mov    %eax,%edi
402b9b:	8b 75 e0             	mov    -0x20(%ebp),%esi
402b9e:	8d 4f 28             	lea    0x28(%edi),%ecx
402ba1:	8d 45 e0             	lea    -0x20(%ebp),%eax
402ba4:	3b c8                	cmp    %eax,%ecx
402ba6:	74 0c                	je     0x402bb4
402ba8:	ff 75 cc             	push   -0x34(%ebp)
402bab:	ff 75 e4             	push   -0x1c(%ebp)
402bae:	56                   	push   %esi
402baf:	e8 9c 0b 00 00       	call   0x403750
402bb4:	85 f6                	test   %esi,%esi
402bb6:	74 2c                	je     0x402be4
402bb8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
402bbb:	8b c6                	mov    %esi,%eax
402bbd:	2b ce                	sub    %esi,%ecx
402bbf:	83 e1 fc             	and    $0xfffffffc,%ecx
402bc2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402bc8:	72 10                	jb     0x402bda
402bca:	8b 70 fc             	mov    -0x4(%eax),%esi
402bcd:	83 c1 23             	add    $0x23,%ecx
402bd0:	2b c6                	sub    %esi,%eax
402bd2:	83 c0 fc             	add    $0xfffffffc,%eax
402bd5:	83 f8 1f             	cmp    $0x1f,%eax
402bd8:	77 30                	ja     0x402c0a
402bda:	51                   	push   %ecx
402bdb:	56                   	push   %esi
402bdc:	e8 2d 8d 01 00       	call   0x41b90e
402be1:	83 c4 08             	add    $0x8,%esp
402be4:	8a 45 d7             	mov    -0x29(%ebp),%al
402be7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402bea:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402bf1:	59                   	pop    %ecx
402bf2:	5f                   	pop    %edi
402bf3:	5e                   	pop    %esi
402bf4:	5b                   	pop    %ebx
402bf5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402bf8:	33 cd                	xor    %ebp,%ecx
402bfa:	e8 d1 8c 01 00       	call   0x41b8d0
402bff:	8b e5                	mov    %ebp,%esp
402c01:	5d                   	pop    %ebp
402c02:	c2 04 00             	ret    $0x4
402c05:	e8 c6 fc ff ff       	call   0x4028d0
402c0a:	e8 70 de 01 00       	call   0x420a7f
402c0f:	cc                   	int3
402c10:	55                   	push   %ebp
402c11:	8b ec                	mov    %esp,%ebp
402c13:	83 ec 18             	sub    $0x18,%esp
402c16:	8b 45 08             	mov    0x8(%ebp),%eax
402c19:	89 45 f8             	mov    %eax,-0x8(%ebp)
402c1c:	53                   	push   %ebx
402c1d:	8b d9                	mov    %ecx,%ebx
402c1f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
402c22:	85 c0                	test   %eax,%eax
402c24:	75 09                	jne    0x402c2f
402c26:	32 c0                	xor    %al,%al
402c28:	5b                   	pop    %ebx
402c29:	8b e5                	mov    %ebp,%esp
402c2b:	5d                   	pop    %ebp
402c2c:	c2 04 00             	ret    $0x4
402c2f:	56                   	push   %esi
402c30:	57                   	push   %edi
402c31:	8d 70 04             	lea    0x4(%eax),%esi
402c34:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
402c38:	56                   	push   %esi
402c39:	8d 45 e8             	lea    -0x18(%ebp),%eax
402c3c:	50                   	push   %eax
402c3d:	e8 0e 0e 00 00       	call   0x403a50
402c42:	8b 7d f0             	mov    -0x10(%ebp),%edi
402c45:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
402c49:	0f 85 e0 00 00 00    	jne    0x402d2f
402c4f:	83 7f 24 08          	cmpl   $0x8,0x24(%edi)
402c53:	8d 57 10             	lea    0x10(%edi),%edx
402c56:	72 03                	jb     0x402c5b
402c58:	8b 57 10             	mov    0x10(%edi),%edx
402c5b:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
402c5f:	8b ce                	mov    %esi,%ecx
402c61:	72 02                	jb     0x402c65
402c63:	8b 0e                	mov    (%esi),%ecx
402c65:	ff 77 20             	push   0x20(%edi)
402c68:	52                   	push   %edx
402c69:	8b 56 10             	mov    0x10(%esi),%edx
402c6c:	e8 2f f8 ff ff       	call   0x4024a0
402c71:	83 c4 08             	add    $0x8,%esp
402c74:	85 c0                	test   %eax,%eax
402c76:	0f 88 b3 00 00 00    	js     0x402d2f
402c7c:	3b 3b                	cmp    (%ebx),%edi
402c7e:	0f 84 ab 00 00 00    	je     0x402d2f
402c84:	8b 77 28             	mov    0x28(%edi),%esi
402c87:	8b 47 2c             	mov    0x2c(%edi),%eax
402c8a:	3b f0                	cmp    %eax,%esi
402c8c:	74 10                	je     0x402c9e
402c8e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402c91:	8b 1e                	mov    (%esi),%ebx
402c93:	3b cb                	cmp    %ebx,%ecx
402c95:	74 13                	je     0x402caa
402c97:	83 c6 04             	add    $0x4,%esi
402c9a:	3b f0                	cmp    %eax,%esi
402c9c:	75 f3                	jne    0x402c91
402c9e:	8a 45 ff             	mov    -0x1(%ebp),%al
402ca1:	5f                   	pop    %edi
402ca2:	5e                   	pop    %esi
402ca3:	5b                   	pop    %ebx
402ca4:	8b e5                	mov    %ebp,%esp
402ca6:	5d                   	pop    %ebp
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