40592b:	c7 03 00 34 42 00    	movl   $0x423400,(%ebx)
405931:	8d 4b 04             	lea    0x4(%ebx),%ecx
405934:	ff 75 fc             	push   -0x4(%ebp)
405937:	e8 25 fc ff ff       	call   0x405561
40593c:	83 63 6c 00          	andl   $0x0,0x6c(%ebx)
405940:	c7 43 64 00 00 00 10 	movl   $0x10000000,0x64(%ebx)
405947:	c6 43 68 00          	movb   $0x0,0x68(%ebx)
40594b:	c7 03 50 34 42 00    	movl   $0x423450,(%ebx)
405951:	c6 43 70 01          	movb   $0x1,0x70(%ebx)
405955:	8b 47 14             	mov    0x14(%edi),%eax
405958:	89 45 fc             	mov    %eax,-0x4(%ebp)
40595b:	3b 47 18             	cmp    0x18(%edi),%eax
40595e:	72 14                	jb     0x405974
405960:	40                   	inc    %eax
405961:	8d 4f 10             	lea    0x10(%edi),%ecx
405964:	50                   	push   %eax
405965:	0f ae e8             	lfence
405968:	e8 d4 0b 00 00       	call   0x406541
40596d:	84 c0                	test   %al,%al
40596f:	74 22                	je     0x405993
405971:	8b 45 fc             	mov    -0x4(%ebp),%eax
405974:	8b 4f 10             	mov    0x10(%edi),%ecx
405977:	89 1c 81             	mov    %ebx,(%ecx,%eax,4)
40597a:	ff 47 14             	incl   0x14(%edi)
40597d:	ff 77 04             	push   0x4(%edi)
405980:	e8 f6 68 00 00       	call   0x40c27b
405985:	83 67 04 00          	andl   $0x0,0x4(%edi)
405989:	b0 01                	mov    $0x1,%al
40598b:	59                   	pop    %ecx
40598c:	5e                   	pop    %esi
40598d:	5b                   	pop    %ebx
40598e:	5f                   	pop    %edi
40598f:	c9                   	leave
405990:	c2 0c 00             	ret    $0xc
405993:	68 0e 00 07 80       	push   $0x8007000e
405998:	e8 22 b7 ff ff       	call   0x4010bf
40599d:	cc                   	int3
40599e:	cc                   	int3
40599f:	cc                   	int3
4059a0:	53                   	push   %ebx
4059a1:	56                   	push   %esi
4059a2:	8b f1                	mov    %ecx,%esi
4059a4:	33 db                	xor    %ebx,%ebx
4059a6:	57                   	push   %edi
4059a7:	8b 4e 10             	mov    0x10(%esi),%ecx
4059aa:	85 c9                	test   %ecx,%ecx
4059ac:	74 14                	je     0x4059c2
4059ae:	8b 56 14             	mov    0x14(%esi),%edx
4059b1:	e8 1f 0c 00 00       	call   0x4065d5
4059b6:	ff 76 10             	push   0x10(%esi)
4059b9:	e8 bd 68 00 00       	call   0x40c27b
4059be:	59                   	pop    %ecx
4059bf:	89 5e 10             	mov    %ebx,0x10(%esi)
4059c2:	89 5e 14             	mov    %ebx,0x14(%esi)
4059c5:	89 5e 18             	mov    %ebx,0x18(%esi)
4059c8:	ff 76 04             	push   0x4(%esi)
4059cb:	e8 ab 68 00 00       	call   0x40c27b
4059d0:	59                   	pop    %ecx
4059d1:	5f                   	pop    %edi
4059d2:	89 5e 04             	mov    %ebx,0x4(%esi)
4059d5:	5e                   	pop    %esi
4059d6:	5b                   	pop    %ebx
4059d7:	c3                   	ret
4059d8:	cc                   	int3
4059d9:	cc                   	int3
4059da:	cc                   	int3
4059db:	cc                   	int3
4059dc:	cc                   	int3
4059dd:	cc                   	int3
4059de:	cc                   	int3
4059df:	cc                   	int3
4059e0:	55                   	push   %ebp
4059e1:	8b ec                	mov    %esp,%ebp
4059e3:	51                   	push   %ecx
4059e4:	8b 45 08             	mov    0x8(%ebp),%eax
4059e7:	53                   	push   %ebx
4059e8:	56                   	push   %esi
4059e9:	57                   	push   %edi
4059ea:	8d 78 01             	lea    0x1(%eax),%edi
4059ed:	8b f1                	mov    %ecx,%esi
4059ef:	3b f8                	cmp    %eax,%edi
4059f1:	72 4d                	jb     0x405a40
4059f3:	83 ff 01             	cmp    $0x1,%edi
4059f6:	72 48                	jb     0x405a40
4059f8:	3b 7e 14             	cmp    0x14(%esi),%edi
4059fb:	77 43                	ja     0x405a40
4059fd:	0f ae e8             	lfence
405a00:	8b 4e 10             	mov    0x10(%esi),%ecx
405a03:	8b 5e 14             	mov    0x14(%esi),%ebx
405a06:	c1 e0 02             	shl    $0x2,%eax
405a09:	03 c8                	add    %eax,%ecx
405a0b:	89 45 fc             	mov    %eax,-0x4(%ebp)
405a0e:	e8 cd 0a 00 00       	call   0x4064e0
405a13:	2b df                	sub    %edi,%ebx
405a15:	74 1f                	je     0x405a36
405a17:	0f ae e8             	lfence
405a1a:	8b 56 10             	mov    0x10(%esi),%edx
405a1d:	8b cb                	mov    %ebx,%ecx
405a1f:	c1 e1 02             	shl    $0x2,%ecx
405a22:	51                   	push   %ecx
405a23:	8d 04 ba             	lea    (%edx,%edi,4),%eax
405a26:	50                   	push   %eax
405a27:	8b 45 fc             	mov    -0x4(%ebp),%eax
405a2a:	51                   	push   %ecx
405a2b:	03 c2                	add    %edx,%eax
405a2d:	50                   	push   %eax
405a2e:	e8 e8 b6 ff ff       	call   0x40111b
405a33:	83 c4 10             	add    $0x10,%esp
405a36:	ff 4e 14             	decl   0x14(%esi)
405a39:	5f                   	pop    %edi
405a3a:	5e                   	pop    %esi
405a3b:	5b                   	pop    %ebx
405a3c:	c9                   	leave
405a3d:	c2 04 00             	ret    $0x4
405a40:	68 57 00 07 80       	push   $0x80070057
405a45:	e8 75 b6 ff ff       	call   0x4010bf
405a4a:	cc                   	int3
405a4b:	cc                   	int3
405a4c:	cc                   	int3
405a4d:	cc                   	int3
405a4e:	cc                   	int3
405a4f:	cc                   	int3
405a50:	8b 41 14             	mov    0x14(%ecx),%eax
405a53:	c3                   	ret
405a54:	cc                   	int3
405a55:	cc                   	int3
405a56:	cc                   	int3
405a57:	cc                   	int3
405a58:	cc                   	int3
405a59:	cc                   	int3
405a5a:	cc                   	int3
405a5b:	cc                   	int3
405a5c:	cc                   	int3
405a5d:	cc                   	int3
405a5e:	cc                   	int3
405a5f:	cc                   	int3
405a60:	55                   	push   %ebp
405a61:	8b ec                	mov    %esp,%ebp
405a63:	ff 75 08             	push   0x8(%ebp)
405a66:	83 c1 10             	add    $0x10,%ecx
405a69:	e8 96 0a 00 00       	call   0x406504
405a6e:	8b 00                	mov    (%eax),%eax
405a70:	5d                   	pop    %ebp
405a71:	c2 04 00             	ret    $0x4
405a74:	cc                   	int3
405a75:	cc                   	int3
405a76:	cc                   	int3
405a77:	cc                   	int3
405a78:	cc                   	int3
405a79:	cc                   	int3
405a7a:	cc                   	int3
405a7b:	cc                   	int3
405a7c:	cc                   	int3
405a7d:	cc                   	int3
405a7e:	cc                   	int3
405a7f:	cc                   	int3
405a80:	55                   	push   %ebp
405a81:	8b ec                	mov    %esp,%ebp
405a83:	83 ec 18             	sub    $0x18,%esp
405a86:	a1 18 60 42 00       	mov    0x426018,%eax
405a8b:	33 c5                	xor    %ebp,%eax
405a8d:	89 45 fc             	mov    %eax,-0x4(%ebp)
405a90:	56                   	push   %esi
405a91:	57                   	push   %edi
405a92:	8b d1                	mov    %ecx,%edx
405a94:	33 ff                	xor    %edi,%edi
405a96:	6a 04                	push   $0x4
405a98:	33 f6                	xor    %esi,%esi
405a9a:	89 55 e8             	mov    %edx,-0x18(%ebp)
405a9d:	58                   	pop    %eax
405a9e:	8b 4a 14             	mov    0x14(%edx),%ecx
405aa1:	47                   	inc    %edi
405aa2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
405aa5:	89 75 f8             	mov    %esi,-0x8(%ebp)
405aa8:	3b c8                	cmp    %eax,%ecx
405aaa:	76 12                	jbe    0x405abe
405aac:	8b f8                	mov    %eax,%edi
405aae:	6b c7 03             	imul   $0x3,%edi,%eax
405ab1:	40                   	inc    %eax
405ab2:	3b c1                	cmp    %ecx,%eax
405ab4:	72 f6                	jb     0x405aac
405ab6:	85 ff                	test   %edi,%edi
405ab8:	0f 84 ac 00 00 00    	je     0x405b6a
405abe:	53                   	push   %ebx
405abf:	8d 5f ff             	lea    -0x1(%edi),%ebx
405ac2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
405ac5:	3b d9                	cmp    %ecx,%ebx
405ac7:	0f 83 86 00 00 00    	jae    0x405b53
405acd:	8d 72 10             	lea    0x10(%edx),%esi
405ad0:	53                   	push   %ebx
405ad1:	8b ce                	mov    %esi,%ecx
405ad3:	e8 2c 0a 00 00       	call   0x406504
405ad8:	50                   	push   %eax
405ad9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
405adc:	e8 b7 09 00 00       	call   0x406498
405ae1:	8b c3                	mov    %ebx,%eax
405ae3:	89 45 f4             	mov    %eax,-0xc(%ebp)
405ae6:	3b df                	cmp    %edi,%ebx
405ae8:	72 48                	jb     0x405b32
405aea:	8b c3                	mov    %ebx,%eax
405aec:	8b ce                	mov    %esi,%ecx
405aee:	2b c7                	sub    %edi,%eax
405af0:	50                   	push   %eax
405af1:	89 45 f4             	mov    %eax,-0xc(%ebp)
405af4:	e8 0b 0a 00 00       	call   0x406504
405af9:	8b 55 f8             	mov    -0x8(%ebp),%edx
405afc:	8b 08                	mov    (%eax),%ecx
405afe:	e8 75 01 00 00       	call   0x405c78
405b03:	83 f8 ff             	cmp    $0xffffffff,%eax
405b06:	75 21                	jne    0x405b29
405b08:	ff 75 f4             	push   -0xc(%ebp)
405b0b:	8b ce                	mov    %esi,%ecx
405b0d:	e8 f2 09 00 00       	call   0x406504
405b12:	50                   	push   %eax
405b13:	53                   	push   %ebx
405b14:	8b ce                	mov    %esi,%ecx
405b16:	e8 e9 09 00 00       	call   0x406504
405b1b:	8b c8                	mov    %eax,%ecx
405b1d:	e8 76 09 00 00       	call   0x406498
405b22:	8b 5d f4             	mov    -0xc(%ebp),%ebx
405b25:	3b df                	cmp    %edi,%ebx
405b27:	73 c1                	jae    0x405aea
405b29:	89 5d f4             	mov    %ebx,-0xc(%ebp)
405b2c:	8b 5d f0             	mov    -0x10(%ebp),%ebx
405b2f:	8b 45 f4             	mov    -0xc(%ebp),%eax
405b32:	8d 4d f8             	lea    -0x8(%ebp),%ecx
405b35:	51                   	push   %ecx
405b36:	50                   	push   %eax
405b37:	8b ce                	mov    %esi,%ecx
405b39:	e8 c6 09 00 00       	call   0x406504
405b3e:	8b c8                	mov    %eax,%ecx
405b40:	e8 53 09 00 00       	call   0x406498
405b45:	8b 4d ec             	mov    -0x14(%ebp),%ecx
405b48:	43                   	inc    %ebx
405b49:	89 5d f0             	mov    %ebx,-0x10(%ebp)
405b4c:	3b d9                	cmp    %ecx,%ebx
405b4e:	72 80                	jb     0x405ad0
405b50:	8b 75 f8             	mov    -0x8(%ebp),%esi
405b53:	8b c7                	mov    %edi,%eax
405b55:	33 d2                	xor    %edx,%edx
405b57:	6a 03                	push   $0x3
405b59:	5f                   	pop    %edi
405b5a:	f7 f7                	div    %edi
405b5c:	8b 55 e8             	mov    -0x18(%ebp),%edx
405b5f:	8b f8                	mov    %eax,%edi
405b61:	85 ff                	test   %edi,%edi
405b63:	0f 85 56 ff ff ff    	jne    0x405abf
405b69:	5b                   	pop    %ebx
405b6a:	85 f6                	test   %esi,%esi
405b6c:	74 12                	je     0x405b80
405b6e:	8b 06                	mov    (%esi),%eax
405b70:	6a 01                	push   $0x1
405b72:	8b 38                	mov    (%eax),%edi
405b74:	8b cf                	mov    %edi,%ecx
405b76:	ff 15 50 c2 41 00    	call   *0x41c250
405b7c:	8b ce                	mov    %esi,%ecx
405b7e:	ff d7                	call   *%edi
405b80:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405b83:	5f                   	pop    %edi
405b84:	33 cd                	xor    %ebp,%ecx
405b86:	5e                   	pop    %esi
405b87:	e8 69 30 00 00       	call   0x408bf5
405b8c:	c9                   	leave
405b8d:	c3                   	ret
405b8e:	cc                   	int3
405b8f:	cc                   	int3
405b90:	55                   	push   %ebp
405b91:	8b ec                	mov    %esp,%ebp
405b93:	56                   	push   %esi
405b94:	8b f1                	mov    %ecx,%esi
405b96:	c7 06 50 34 42 00    	movl   $0x423450,(%esi)
405b9c:	e8 91 fc ff ff       	call   0x405832
405ba1:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405ba5:	74 0a                	je     0x405bb1
405ba7:	6a 74                	push   $0x74
405ba9:	56                   	push   %esi
405baa:	e8 41 36 01 00       	call   0x4191f0
405baf:	59                   	pop    %ecx
405bb0:	59                   	pop    %ecx
405bb1:	8b c6                	mov    %esi,%eax
405bb3:	5e                   	pop    %esi
405bb4:	5d                   	pop    %ebp
405bb5:	c2 04 00             	ret    $0x4
405bb8:	cc                   	int3
405bb9:	cc                   	int3
405bba:	cc                   	int3
405bbb:	cc                   	int3
405bbc:	cc                   	int3
405bbd:	cc                   	int3
405bbe:	cc                   	int3
405bbf:	cc                   	int3
405bc0:	55                   	push   %ebp
405bc1:	8b ec                	mov    %esp,%ebp
405bc3:	51                   	push   %ecx
405bc4:	53                   	push   %ebx
405bc5:	8b d9                	mov    %ecx,%ebx
405bc7:	57                   	push   %edi
405bc8:	8b 7b 6c             	mov    0x6c(%ebx),%edi
405bcb:	85 ff                	test   %edi,%edi
405bcd:	75 73                	jne    0x405c42
405bcf:	8b 03                	mov    (%ebx),%eax
405bd1:	56                   	push   %esi
405bd2:	8b 70 08             	mov    0x8(%eax),%esi
405bd5:	8b ce                	mov    %esi,%ecx
405bd7:	ff 15 50 c2 41 00    	call   *0x41c250
405bdd:	8b cb                	mov    %ebx,%ecx
405bdf:	ff d6                	call   *%esi
405be1:	8b f0                	mov    %eax,%esi
405be3:	56                   	push   %esi
405be4:	89 75 fc             	mov    %esi,-0x4(%ebp)
405be7:	e8 aa 66 00 00       	call   0x40c296
405bec:	8b f8                	mov    %eax,%edi
405bee:	59                   	pop    %ecx
405bef:	85 ff                	test   %edi,%edi
405bf1:	74 55                	je     0x405c48
405bf3:	56                   	push   %esi
405bf4:	6a 00                	push   $0x0
405bf6:	57                   	push   %edi
405bf7:	e8 14 35 00 00       	call   0x409110
405bfc:	8a 43 68             	mov    0x68(%ebx),%al
405bff:	83 c4 0c             	add    $0xc,%esp
405c02:	88 47 01             	mov    %al,0x1(%edi)
405c05:	8b 03                	mov    (%ebx),%eax
405c07:	66 89 77 02          	mov    %si,0x2(%edi)
405c0b:	8b 70 0c             	mov    0xc(%eax),%esi
405c0e:	8b ce                	mov    %esi,%ecx
405c10:	ff 15 50 c2 41 00    	call   *0x41c250
405c16:	8b cb                	mov    %ebx,%ecx
405c18:	ff d6                	call   *%esi
405c1a:	88 07                	mov    %al,(%edi)
405c1c:	8d 73 08             	lea    0x8(%ebx),%esi
405c1f:	8b 43 64             	mov    0x64(%ebx),%eax
405c22:	56                   	push   %esi
405c23:	89 47 04             	mov    %eax,0x4(%edi)
405c26:	ff 15 30 c0 41 00    	call   *0x41c030
405c2c:	8b 55 fc             	mov    -0x4(%ebp),%edx
405c2f:	8d 4f 08             	lea    0x8(%edi),%ecx
405c32:	50                   	push   %eax
405c33:	56                   	push   %esi
405c34:	83 c2 f8             	add    $0xfffffff8,%edx
405c37:	e8 50 f7 ff ff       	call   0x40538c
405c3c:	59                   	pop    %ecx
405c3d:	59                   	pop    %ecx
405c3e:	89 7b 6c             	mov    %edi,0x6c(%ebx)
405c41:	5e                   	pop    %esi
405c42:	8b c7                	mov    %edi,%eax
405c44:	5f                   	pop    %edi
405c45:	5b                   	pop    %ebx
405c46:	c9                   	leave
405c47:	c3                   	ret