402a23:	eb 08                	jmp    0x402a2d
402a25:	66 39 01             	cmp    %ax,(%ecx)
402a28:	74 0c                	je     0x402a36
402a2a:	83 e9 02             	sub    $0x2,%ecx
402a2d:	3b ce                	cmp    %esi,%ecx
402a2f:	75 f4                	jne    0x402a25
402a31:	66 39 01             	cmp    %ax,(%ecx)
402a34:	75 26                	jne    0x402a5c
402a36:	85 c9                	test   %ecx,%ecx
402a38:	74 22                	je     0x402a5c
402a3a:	2b ce                	sub    %esi,%ecx
402a3c:	d1 f9                	sar    $1,%ecx
402a3e:	78 1c                	js     0x402a5c
402a40:	41                   	inc    %ecx
402a41:	0f ae e8             	lfence
402a44:	8b 46 f4             	mov    -0xc(%esi),%eax
402a47:	2b c1                	sub    %ecx,%eax
402a49:	50                   	push   %eax
402a4a:	51                   	push   %ecx
402a4b:	8d 45 f8             	lea    -0x8(%ebp),%eax
402a4e:	50                   	push   %eax
402a4f:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402a52:	e8 9f 0d 00 00       	call   0x4037f6
402a57:	8b 45 f8             	mov    -0x8(%ebp),%eax
402a5a:	eb 0e                	jmp    0x402a6a
402a5c:	8d 4e f0             	lea    -0x10(%esi),%ecx
402a5f:	e8 d1 10 00 00       	call   0x403b35
402a64:	83 c0 10             	add    $0x10,%eax
402a67:	89 45 f8             	mov    %eax,-0x8(%ebp)
402a6a:	8b 78 f4             	mov    -0xc(%eax),%edi
402a6d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402a70:	57                   	push   %edi
402a71:	e8 6a 0c 00 00       	call   0x4036e0
402a76:	8d 4f 01             	lea    0x1(%edi),%ecx
402a79:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
402a7f:	0f 87 a1 00 00 00    	ja     0x402b26
402a85:	51                   	push   %ecx
402a86:	50                   	push   %eax
402a87:	0f ae e8             	lfence
402a8a:	ff 15 34 c2 41 00    	call   *0x41c234
402a90:	57                   	push   %edi
402a91:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402a94:	e8 e6 0e 00 00       	call   0x40397f
402a99:	8b 43 0c             	mov    0xc(%ebx),%eax
402a9c:	8b 7d f8             	mov    -0x8(%ebp),%edi
402a9f:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
402aa3:	75 48                	jne    0x402aed
402aa5:	8b 47 f4             	mov    -0xc(%edi),%eax
402aa8:	83 f8 04             	cmp    $0x4,%eax
402aab:	7e 40                	jle    0x402aed
402aad:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
402ab1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402ab4:	6a 04                	push   $0x4
402ab6:	83 c0 fc             	add    $0xfffffffc,%eax
402ab9:	50                   	push   %eax
402aba:	8d 45 f0             	lea    -0x10(%ebp),%eax
402abd:	50                   	push   %eax
402abe:	e8 33 0d 00 00       	call   0x4037f6
402ac3:	68 14 29 42 00       	push   $0x422914
402ac8:	ff 75 f0             	push   -0x10(%ebp)
402acb:	e8 8e 87 01 00       	call   0x41b25e
402ad0:	59                   	pop    %ecx
402ad1:	59                   	pop    %ecx
402ad2:	85 c0                	test   %eax,%eax
402ad4:	75 0c                	jne    0x402ae2
402ad6:	8d 45 f4             	lea    -0xc(%ebp),%eax
402ad9:	50                   	push   %eax
402ada:	8d 4b 0c             	lea    0xc(%ebx),%ecx
402add:	e8 fb 0a 00 00       	call   0x4035dd
402ae2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402ae5:	8d 49 f0             	lea    -0x10(%ecx),%ecx
402ae8:	e8 15 e8 ff ff       	call   0x401302
402aed:	80 3b 00             	cmpb   $0x0,(%ebx)
402af0:	75 13                	jne    0x402b05
402af2:	68 74 27 42 00       	push   $0x422774
402af7:	57                   	push   %edi
402af8:	ff 15 d8 c1 41 00    	call   *0x41c1d8
402afe:	85 c0                	test   %eax,%eax
402b00:	75 03                	jne    0x402b05
402b02:	c6 03 01             	movb   $0x1,(%ebx)
402b05:	8d 4f f0             	lea    -0x10(%edi),%ecx
402b08:	e8 f5 e7 ff ff       	call   0x401302
402b0d:	8d 4e f0             	lea    -0x10(%esi),%ecx
402b10:	e8 ed e7 ff ff       	call   0x401302
402b15:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402b18:	5f                   	pop    %edi
402b19:	5e                   	pop    %esi
402b1a:	33 cd                	xor    %ebp,%ecx
402b1c:	5b                   	pop    %ebx
402b1d:	e8 d3 60 00 00       	call   0x408bf5
402b22:	c9                   	leave
402b23:	c2 04 00             	ret    $0x4
402b26:	68 57 00 07 80       	push   $0x80070057
402b2b:	e8 8f e5 ff ff       	call   0x4010bf
402b30:	cc                   	int3
402b31:	cc                   	int3
402b32:	cc                   	int3
402b33:	cc                   	int3
402b34:	cc                   	int3
402b35:	cc                   	int3
402b36:	cc                   	int3
402b37:	cc                   	int3
402b38:	cc                   	int3
402b39:	cc                   	int3
402b3a:	cc                   	int3
402b3b:	cc                   	int3
402b3c:	cc                   	int3
402b3d:	cc                   	int3
402b3e:	cc                   	int3
402b3f:	cc                   	int3
402b40:	55                   	push   %ebp
402b41:	8b ec                	mov    %esp,%ebp
402b43:	ff 75 0c             	push   0xc(%ebp)
402b46:	8b 4d 08             	mov    0x8(%ebp),%ecx
402b49:	e8 88 fe ff ff       	call   0x4029d6
402b4e:	5d                   	pop    %ebp
402b4f:	c3                   	ret
402b50:	55                   	push   %ebp
402b51:	8b ec                	mov    %esp,%ebp
402b53:	68 e9 12 42 00       	push   $0x4212e9
402b58:	ff 75 0c             	push   0xc(%ebp)
402b5b:	e8 8c 6b 01 00       	call   0x4196ec
402b60:	59                   	pop    %ecx
402b61:	59                   	pop    %ecx
402b62:	5d                   	pop    %ebp
402b63:	c3                   	ret
402b64:	cc                   	int3
402b65:	cc                   	int3
402b66:	cc                   	int3
402b67:	cc                   	int3
402b68:	cc                   	int3
402b69:	cc                   	int3
402b6a:	cc                   	int3
402b6b:	cc                   	int3
402b6c:	cc                   	int3
402b6d:	cc                   	int3
402b6e:	cc                   	int3
402b6f:	cc                   	int3
402b70:	55                   	push   %ebp
402b71:	8b ec                	mov    %esp,%ebp
402b73:	ff 75 0c             	push   0xc(%ebp)
402b76:	e8 76 69 01 00       	call   0x4194f1
402b7b:	59                   	pop    %ecx
402b7c:	5d                   	pop    %ebp
402b7d:	c3                   	ret
402b7e:	55                   	push   %ebp
402b7f:	8b ec                	mov    %esp,%ebp
402b81:	81 ec a8 00 00 00    	sub    $0xa8,%esp
402b87:	a1 18 60 42 00       	mov    0x426018,%eax
402b8c:	33 c5                	xor    %ebp,%eax
402b8e:	89 45 f8             	mov    %eax,-0x8(%ebp)
402b91:	8b 45 08             	mov    0x8(%ebp),%eax
402b94:	53                   	push   %ebx
402b95:	56                   	push   %esi
402b96:	8b f2                	mov    %edx,%esi
402b98:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
402b9e:	57                   	push   %edi
402b9f:	8b f9                	mov    %ecx,%edi
402ba1:	83 fe 0d             	cmp    $0xd,%esi
402ba4:	73 08                	jae    0x402bae
402ba6:	83 c8 ff             	or     $0xffffffff,%eax
402ba9:	e9 f7 01 00 00       	jmp    0x402da5
402bae:	8d 45 e8             	lea    -0x18(%ebp),%eax
402bb1:	c7 45 e8 50 2b 40 00 	movl   $0x402b50,-0x18(%ebp)
402bb8:	50                   	push   %eax
402bb9:	33 db                	xor    %ebx,%ebx
402bbb:	c7 45 ec 70 2b 40 00 	movl   $0x402b70,-0x14(%ebp)
402bc2:	51                   	push   %ecx
402bc3:	8b d7                	mov    %edi,%edx
402bc5:	89 5d 88             	mov    %ebx,-0x78(%ebp)
402bc8:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
402bce:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
402bd1:	e8 94 52 00 00       	call   0x407e6a
402bd6:	33 c0                	xor    %eax,%eax
402bd8:	89 5d 98             	mov    %ebx,-0x68(%ebp)
402bdb:	40                   	inc    %eax
402bdc:	89 5d bc             	mov    %ebx,-0x44(%ebp)
402bdf:	83 c7 05             	add    $0x5,%edi
402be2:	89 45 c0             	mov    %eax,-0x40(%ebp)
402be5:	89 45 c4             	mov    %eax,-0x3c(%ebp)
402be8:	83 ee 0d             	sub    $0xd,%esi
402beb:	68 e9 12 42 00       	push   $0x4212e9
402bf0:	89 5d cc             	mov    %ebx,-0x34(%ebp)
402bf3:	8b 07                	mov    (%edi),%eax
402bf5:	50                   	push   %eax
402bf6:	89 5d a0             	mov    %ebx,-0x60(%ebp)
402bf9:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
402bfc:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
402c02:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
402c08:	89 75 f4             	mov    %esi,-0xc(%ebp)
402c0b:	e8 dc 6a 01 00       	call   0x4196ec
402c10:	8b f8                	mov    %eax,%edi
402c12:	83 c4 10             	add    $0x10,%esp
402c15:	85 ff                	test   %edi,%edi
402c17:	75 08                	jne    0x402c21
402c19:	83 cb ff             	or     $0xffffffff,%ebx
402c1c:	e9 82 01 00 00       	jmp    0x402da3
402c21:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
402c27:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
402c2d:	50                   	push   %eax
402c2e:	51                   	push   %ecx
402c2f:	8d 45 f4             	lea    -0xc(%ebp),%eax
402c32:	8b d7                	mov    %edi,%edx
402c34:	50                   	push   %eax
402c35:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
402c3b:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
402c41:	83 c0 08             	add    $0x8,%eax
402c44:	50                   	push   %eax
402c45:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
402c4b:	50                   	push   %eax
402c4c:	e8 77 50 00 00       	call   0x407cc8
402c51:	8b 75 ec             	mov    -0x14(%ebp),%esi
402c54:	83 c4 14             	add    $0x14,%esp
402c57:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
402c5d:	ff 75 84             	push   -0x7c(%ebp)
402c60:	81 fe 70 2b 40 00    	cmp    $0x402b70,%esi
402c66:	75 07                	jne    0x402c6f
402c68:	e8 84 68 01 00       	call   0x4194f1
402c6d:	eb 0f                	jmp    0x402c7e
402c6f:	8d 45 e8             	lea    -0x18(%ebp),%eax
402c72:	8b ce                	mov    %esi,%ecx
402c74:	50                   	push   %eax
402c75:	ff 15 50 c2 41 00    	call   *0x41c250
402c7b:	ff d6                	call   *%esi
402c7d:	59                   	pop    %ecx
402c7e:	8b 75 ec             	mov    -0x14(%ebp),%esi
402c81:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
402c84:	59                   	pop    %ecx
402c85:	ff 75 88             	push   -0x78(%ebp)
402c88:	81 fe 70 2b 40 00    	cmp    $0x402b70,%esi
402c8e:	75 07                	jne    0x402c97
402c90:	e8 5c 68 01 00       	call   0x4194f1
402c95:	eb 0f                	jmp    0x402ca6
402c97:	8d 45 e8             	lea    -0x18(%ebp),%eax
402c9a:	8b ce                	mov    %esi,%ecx
402c9c:	50                   	push   %eax
402c9d:	ff 15 50 c2 41 00    	call   *0x41c250
402ca3:	ff d6                	call   *%esi
402ca5:	59                   	pop    %ecx
402ca6:	59                   	pop    %ecx
402ca7:	89 5d 88             	mov    %ebx,-0x78(%ebp)
402caa:	39 9d 6c ff ff ff    	cmp    %ebx,-0x94(%ebp)
402cb0:	74 08                	je     0x402cba
402cb2:	83 cb ff             	or     $0xffffffff,%ebx
402cb5:	e9 e2 00 00 00       	jmp    0x402d9c
402cba:	8b 0f                	mov    (%edi),%ecx
402cbc:	8d 47 04             	lea    0x4(%edi),%eax
402cbf:	8b 10                	mov    (%eax),%edx
402cc1:	6a 04                	push   $0x4
402cc3:	5e                   	pop    %esi
402cc4:	03 c6                	add    %esi,%eax
402cc6:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
402ccc:	68 e9 12 42 00       	push   $0x4212e9
402cd1:	51                   	push   %ecx
402cd2:	89 4d f4             	mov    %ecx,-0xc(%ebp)
402cd5:	8b 10                	mov    (%eax),%edx
402cd7:	03 c6                	add    %esi,%eax
402cd9:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
402cdf:	8b 10                	mov    (%eax),%edx
402ce1:	03 c6                	add    %esi,%eax
402ce3:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
402ce9:	8b 10                	mov    (%eax),%edx
402ceb:	03 c6                	add    %esi,%eax
402ced:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
402cf3:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
402cf9:	e8 ee 69 01 00       	call   0x4196ec
402cfe:	8b f0                	mov    %eax,%esi
402d00:	59                   	pop    %ecx
402d01:	59                   	pop    %ecx
402d02:	85 f6                	test   %esi,%esi
402d04:	0f 84 84 00 00 00    	je     0x402d8e
402d0a:	ff 75 f4             	push   -0xc(%ebp)
402d0d:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
402d13:	03 85 68 ff ff ff    	add    -0x98(%ebp),%eax
402d19:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
402d1f:	03 c2                	add    %edx,%eax
402d21:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
402d27:	03 c1                	add    %ecx,%eax
402d29:	56                   	push   %esi
402d2a:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
402d30:	50                   	push   %eax
402d31:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
402d37:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
402d3d:	03 c2                	add    %edx,%eax
402d3f:	03 c1                	add    %ecx,%eax
402d41:	50                   	push   %eax
402d42:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
402d48:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
402d4b:	50                   	push   %eax
402d4c:	e8 a8 51 00 00       	call   0x407ef9
402d51:	83 c4 20             	add    $0x20,%esp
402d54:	85 c0                	test   %eax,%eax
402d56:	74 05                	je     0x402d5d
402d58:	33 db                	xor    %ebx,%ebx
402d5a:	43                   	inc    %ebx
402d5b:	eb 34                	jmp    0x402d91
402d5d:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
402d63:	89 5d f0             	mov    %ebx,-0x10(%ebp)
402d66:	8b 01                	mov    (%ecx),%eax
402d68:	8b 58 10             	mov    0x10(%eax),%ebx
402d6b:	8d 45 f0             	lea    -0x10(%ebp),%eax
402d6e:	50                   	push   %eax
402d6f:	ff 75 f4             	push   -0xc(%ebp)
402d72:	56                   	push   %esi
402d73:	51                   	push   %ecx
402d74:	8b cb                	mov    %ebx,%ecx
402d76:	ff 15 50 c2 41 00    	call   *0x41c250
402d7c:	ff d3                	call   *%ebx
402d7e:	85 c0                	test   %eax,%eax
402d80:	78 0c                	js     0x402d8e
402d82:	8b 45 f4             	mov    -0xc(%ebp),%eax
402d85:	39 45 f0             	cmp    %eax,-0x10(%ebp)
402d88:	75 04                	jne    0x402d8e
402d8a:	33 db                	xor    %ebx,%ebx
402d8c:	eb 07                	jmp    0x402d95
402d8e:	83 cb ff             	or     $0xffffffff,%ebx
402d91:	85 f6                	test   %esi,%esi
402d93:	74 07                	je     0x402d9c
402d95:	56                   	push   %esi
402d96:	e8 56 67 01 00       	call   0x4194f1
402d9b:	59                   	pop    %ecx
402d9c:	57                   	push   %edi
402d9d:	e8 4f 67 01 00       	call   0x4194f1
402da2:	59                   	pop    %ecx
402da3:	8b c3                	mov    %ebx,%eax
402da5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402da8:	5f                   	pop    %edi
402da9:	5e                   	pop    %esi
402daa:	33 cd                	xor    %ebp,%ecx
402dac:	5b                   	pop    %ebx
402dad:	e8 43 5e 00 00       	call   0x408bf5
402db2:	c9                   	leave
402db3:	c3                   	ret
402db4:	56                   	push   %esi
402db5:	8b f1                	mov    %ecx,%esi
402db7:	83 26 00             	andl   $0x0,(%esi)
402dba:	e8 6c e5 ff ff       	call   0x40132b
402dbf:	50                   	push   %eax
402dc0:	8b ce                	mov    %esi,%ecx
402dc2:	e8 35 0d 00 00       	call   0x403afc
402dc7:	68 69 4c 00 00       	push   $0x4c69
402dcc:	8b ce                	mov    %esi,%ecx
402dce:	e8 a4 06 00 00       	call   0x403477
402dd3:	8b c6                	mov    %esi,%eax
402dd5:	5e                   	pop    %esi
402dd6:	c3                   	ret
402dd7:	55                   	push   %ebp
402dd8:	8b ec                	mov    %esp,%ebp
402dda:	83 ec 10             	sub    $0x10,%esp
402ddd:	a1 18 60 42 00       	mov    0x426018,%eax