405973:	8b ec                	mov    %esp,%ebp
405975:	6a ff                	push   $0xffffffff
405977:	68 8a 2e 42 00       	push   $0x422e8a
40597c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405982:	50                   	push   %eax
405983:	a1 14 30 43 00       	mov    0x433014,%eax
405988:	33 c5                	xor    %ebp,%eax
40598a:	50                   	push   %eax
40598b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40598e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405994:	8d 51 08             	lea    0x8(%ecx),%edx
405997:	8b 42 f8             	mov    -0x8(%edx),%eax
40599a:	8b 40 04             	mov    0x4(%eax),%eax
40599d:	c7 44 10 f8 54 44 42 	movl   $0x424454,-0x8(%eax,%edx,1)
4059a4:	00
4059a5:	8b 42 f8             	mov    -0x8(%edx),%eax
4059a8:	8b 48 04             	mov    0x4(%eax),%ecx
4059ab:	8d 41 f8             	lea    -0x8(%ecx),%eax
4059ae:	89 44 11 f4          	mov    %eax,-0xc(%ecx,%edx,1)
4059b2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4059b6:	52                   	push   %edx
4059b7:	c7 02 c4 43 42 00    	movl   $0x4243c4,(%edx)
4059bd:	e8 f5 16 00 00       	call   0x4070b7
4059c2:	59                   	pop    %ecx
4059c3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4059c6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4059cd:	59                   	pop    %ecx
4059ce:	c9                   	leave
4059cf:	c3                   	ret
4059d0:	cc                   	int3
4059d1:	cc                   	int3
4059d2:	cc                   	int3
4059d3:	cc                   	int3
4059d4:	cc                   	int3
4059d5:	2b 49 fc             	sub    -0x4(%ecx),%ecx
4059d8:	e9 7f 00 00 00       	jmp    0x405a5c
4059dd:	55                   	push   %ebp
4059de:	8b ec                	mov    %esp,%ebp
4059e0:	56                   	push   %esi
4059e1:	8b f1                	mov    %ecx,%esi
4059e3:	e8 c7 fe ff ff       	call   0x4058af
4059e8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4059ec:	74 0a                	je     0x4059f8
4059ee:	6a 58                	push   $0x58
4059f0:	56                   	push   %esi
4059f1:	e8 56 1c 00 00       	call   0x40764c
4059f6:	59                   	pop    %ecx
4059f7:	59                   	pop    %ecx
4059f8:	8b c6                	mov    %esi,%eax
4059fa:	5e                   	pop    %esi
4059fb:	5d                   	pop    %ebp
4059fc:	c2 04 00             	ret    $0x4
4059ff:	55                   	push   %ebp
405a00:	8b ec                	mov    %esp,%ebp
405a02:	6a ff                	push   $0xffffffff
405a04:	68 a7 2e 42 00       	push   $0x422ea7
405a09:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405a0f:	50                   	push   %eax
405a10:	56                   	push   %esi
405a11:	a1 14 30 43 00       	mov    0x433014,%eax
405a16:	33 c5                	xor    %ebp,%eax
405a18:	50                   	push   %eax
405a19:	8d 45 f4             	lea    -0xc(%ebp),%eax
405a1c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405a22:	8b f1                	mov    %ecx,%esi
405a24:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405a28:	56                   	push   %esi
405a29:	c7 06 c4 43 42 00    	movl   $0x4243c4,(%esi)
405a2f:	e8 83 16 00 00       	call   0x4070b7
405a34:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405a38:	59                   	pop    %ecx
405a39:	74 0a                	je     0x405a45
405a3b:	6a 48                	push   $0x48
405a3d:	56                   	push   %esi
405a3e:	e8 09 1c 00 00       	call   0x40764c
405a43:	59                   	pop    %ecx
405a44:	59                   	pop    %ecx
405a45:	8b c6                	mov    %esi,%eax
405a47:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405a4a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405a51:	59                   	pop    %ecx
405a52:	5e                   	pop    %esi
405a53:	c9                   	leave
405a54:	c2 04 00             	ret    $0x4
405a57:	cc                   	int3
405a58:	cc                   	int3
405a59:	cc                   	int3
405a5a:	cc                   	int3
405a5b:	cc                   	int3
405a5c:	55                   	push   %ebp
405a5d:	8b ec                	mov    %esp,%ebp
405a5f:	56                   	push   %esi
405a60:	8d 71 f8             	lea    -0x8(%ecx),%esi
405a63:	8b ce                	mov    %esi,%ecx
405a65:	e8 08 ff ff ff       	call   0x405972
405a6a:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405a6e:	74 0a                	je     0x405a7a
405a70:	6a 50                	push   $0x50
405a72:	56                   	push   %esi
405a73:	e8 d4 1b 00 00       	call   0x40764c
405a78:	59                   	pop    %ecx
405a79:	59                   	pop    %ecx
405a7a:	8b c6                	mov    %esi,%eax
405a7c:	5e                   	pop    %esi
405a7d:	5d                   	pop    %ebp
405a7e:	c2 04 00             	ret    $0x4
405a81:	55                   	push   %ebp
405a82:	8b ec                	mov    %esp,%ebp
405a84:	56                   	push   %esi
405a85:	8b f1                	mov    %ecx,%esi
405a87:	e8 c5 fe ff ff       	call   0x405951
405a8c:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405a90:	74 0a                	je     0x405a9c
405a92:	6a 38                	push   $0x38
405a94:	56                   	push   %esi
405a95:	e8 b2 1b 00 00       	call   0x40764c
405a9a:	59                   	pop    %ecx
405a9b:	59                   	pop    %ecx
405a9c:	8b c6                	mov    %esi,%eax
405a9e:	5e                   	pop    %esi
405a9f:	5d                   	pop    %ebp
405aa0:	c2 04 00             	ret    $0x4
405aa3:	55                   	push   %ebp
405aa4:	8b ec                	mov    %esp,%ebp
405aa6:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405aaa:	56                   	push   %esi
405aab:	8b f1                	mov    %ecx,%esi
405aad:	c7 06 78 43 42 00    	movl   $0x424378,(%esi)
405ab3:	74 0a                	je     0x405abf
405ab5:	6a 08                	push   $0x8
405ab7:	56                   	push   %esi
405ab8:	e8 8f 1b 00 00       	call   0x40764c
405abd:	59                   	pop    %ecx
405abe:	59                   	pop    %ecx
405abf:	8b c6                	mov    %esi,%eax
405ac1:	5e                   	pop    %esi
405ac2:	5d                   	pop    %ebp
405ac3:	c2 04 00             	ret    $0x4
405ac6:	55                   	push   %ebp
405ac7:	8b ec                	mov    %esp,%ebp
405ac9:	6a ff                	push   $0xffffffff
405acb:	68 a7 2e 42 00       	push   $0x422ea7
405ad0:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405ad6:	50                   	push   %eax
405ad7:	56                   	push   %esi
405ad8:	a1 14 30 43 00       	mov    0x433014,%eax
405add:	33 c5                	xor    %ebp,%eax
405adf:	50                   	push   %eax
405ae0:	8d 45 f4             	lea    -0xc(%ebp),%eax
405ae3:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405ae9:	8b f1                	mov    %ecx,%esi
405aeb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405aef:	56                   	push   %esi
405af0:	c7 06 c4 43 42 00    	movl   $0x4243c4,(%esi)
405af6:	e8 bc 15 00 00       	call   0x4070b7
405afb:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405aff:	59                   	pop    %ecx
405b00:	74 0a                	je     0x405b0c
405b02:	6a 38                	push   $0x38
405b04:	56                   	push   %esi
405b05:	e8 42 1b 00 00       	call   0x40764c
405b0a:	59                   	pop    %ecx
405b0b:	59                   	pop    %ecx
405b0c:	8b c6                	mov    %esi,%eax
405b0e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405b11:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405b18:	59                   	pop    %ecx
405b19:	5e                   	pop    %esi
405b1a:	c9                   	leave
405b1b:	c2 04 00             	ret    $0x4
405b1e:	cc                   	int3
405b1f:	cc                   	int3
405b20:	cc                   	int3
405b21:	cc                   	int3
405b22:	cc                   	int3
405b23:	55                   	push   %ebp
405b24:	8b ec                	mov    %esp,%ebp
405b26:	83 ec 28             	sub    $0x28,%esp
405b29:	a1 14 30 43 00       	mov    0x433014,%eax
405b2e:	33 c5                	xor    %ebp,%eax
405b30:	89 45 fc             	mov    %eax,-0x4(%ebp)
405b33:	53                   	push   %ebx
405b34:	8b d9                	mov    %ecx,%ebx
405b36:	56                   	push   %esi
405b37:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
405b3b:	74 58                	je     0x405b95
405b3d:	80 7b 3d 00          	cmpb   $0x0,0x3d(%ebx)
405b41:	74 52                	je     0x405b95
405b43:	8b 03                	mov    (%ebx),%eax
405b45:	6a ff                	push   $0xffffffff
405b47:	8b 70 0c             	mov    0xc(%eax),%esi
405b4a:	8b ce                	mov    %esi,%ecx
405b4c:	ff 15 54 41 42 00    	call   *0x424154
405b52:	8b cb                	mov    %ebx,%ecx
405b54:	ff d6                	call   *%esi
405b56:	83 f8 ff             	cmp    $0xffffffff,%eax
405b59:	74 73                	je     0x405bce
405b5b:	57                   	push   %edi
405b5c:	8b 7b 38             	mov    0x38(%ebx),%edi
405b5f:	8b 07                	mov    (%edi),%eax
405b61:	8b 70 20             	mov    0x20(%eax),%esi
405b64:	8d 45 d8             	lea    -0x28(%ebp),%eax
405b67:	50                   	push   %eax
405b68:	8d 45 fc             	lea    -0x4(%ebp),%eax
405b6b:	8b ce                	mov    %esi,%ecx
405b6d:	50                   	push   %eax
405b6e:	8d 45 dc             	lea    -0x24(%ebp),%eax
405b71:	50                   	push   %eax
405b72:	8d 43 40             	lea    0x40(%ebx),%eax
405b75:	50                   	push   %eax
405b76:	ff 15 54 41 42 00    	call   *0x424154
405b7c:	8b cf                	mov    %edi,%ecx
405b7e:	ff d6                	call   *%esi
405b80:	33 c9                	xor    %ecx,%ecx
405b82:	5f                   	pop    %edi
405b83:	2b c1                	sub    %ecx,%eax
405b85:	74 1e                	je     0x405ba5
405b87:	83 e8 01             	sub    $0x1,%eax
405b8a:	74 1c                	je     0x405ba8
405b8c:	48                   	dec    %eax
405b8d:	83 e8 01             	sub    $0x1,%eax
405b90:	75 3c                	jne    0x405bce
405b92:	88 4b 3d             	mov    %cl,0x3d(%ebx)
405b95:	b0 01                	mov    $0x1,%al
405b97:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405b9a:	5e                   	pop    %esi
405b9b:	33 cd                	xor    %ebp,%ecx
405b9d:	5b                   	pop    %ebx
405b9e:	e8 69 18 00 00       	call   0x40740c
405ba3:	c9                   	leave
405ba4:	c3                   	ret
405ba5:	88 4b 3d             	mov    %cl,0x3d(%ebx)
405ba8:	8b 75 d8             	mov    -0x28(%ebp),%esi
405bab:	8d 45 dc             	lea    -0x24(%ebp),%eax
405bae:	2b f0                	sub    %eax,%esi
405bb0:	74 13                	je     0x405bc5
405bb2:	ff 73 4c             	push   0x4c(%ebx)
405bb5:	56                   	push   %esi
405bb6:	6a 01                	push   $0x1
405bb8:	50                   	push   %eax
405bb9:	e8 42 85 00 00       	call   0x40e100
405bbe:	83 c4 10             	add    $0x10,%esp
405bc1:	3b f0                	cmp    %eax,%esi
405bc3:	75 09                	jne    0x405bce
405bc5:	80 7b 3d 00          	cmpb   $0x0,0x3d(%ebx)
405bc9:	0f 94 c0             	sete   %al
405bcc:	eb c9                	jmp    0x405b97
405bce:	32 c0                	xor    %al,%al
405bd0:	eb c5                	jmp    0x405b97
405bd2:	55                   	push   %ebp
405bd3:	8b ec                	mov    %esp,%ebp
405bd5:	56                   	push   %esi
405bd6:	8b f1                	mov    %ecx,%esi
405bd8:	57                   	push   %edi
405bd9:	8b 7d 08             	mov    0x8(%ebp),%edi
405bdc:	8b 56 10             	mov    0x10(%esi),%edx
405bdf:	8b c2                	mov    %edx,%eax
405be1:	2b c7                	sub    %edi,%eax
405be3:	3b 45 0c             	cmp    0xc(%ebp),%eax
405be6:	72 03                	jb     0x405beb
405be8:	8b 45 0c             	mov    0xc(%ebp),%eax
405beb:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405bef:	72 02                	jb     0x405bf3
405bf1:	8b 0e                	mov    (%esi),%ecx
405bf3:	2b d0                	sub    %eax,%edx
405bf5:	03 cf                	add    %edi,%ecx
405bf7:	89 56 10             	mov    %edx,0x10(%esi)
405bfa:	03 c1                	add    %ecx,%eax
405bfc:	2b d7                	sub    %edi,%edx
405bfe:	42                   	inc    %edx
405bff:	52                   	push   %edx
405c00:	50                   	push   %eax
405c01:	51                   	push   %ecx
405c02:	e8 69 2d 00 00       	call   0x408970
405c07:	83 c4 0c             	add    $0xc,%esp
405c0a:	8b c6                	mov    %esi,%eax
405c0c:	5f                   	pop    %edi
405c0d:	5e                   	pop    %esi
405c0e:	5d                   	pop    %ebp
405c0f:	c2 08 00             	ret    $0x8
405c12:	6a 38                	push   $0x38
405c14:	b8 d6 2e 42 00       	mov    $0x422ed6,%eax
405c19:	e8 1e 1f 00 00       	call   0x407b3c
405c1e:	8b 7d 08             	mov    0x8(%ebp),%edi
405c21:	33 db                	xor    %ebx,%ebx
405c23:	89 5d f0             	mov    %ebx,-0x10(%ebp)
405c26:	85 ff                	test   %edi,%edi
405c28:	74 47                	je     0x405c71
405c2a:	39 1f                	cmp    %ebx,(%edi)
405c2c:	75 43                	jne    0x405c71
405c2e:	6a 08                	push   $0x8
405c30:	e8 e7 19 00 00       	call   0x40761c
405c35:	8b f0                	mov    %eax,%esi
405c37:	59                   	pop    %ecx
405c38:	89 75 f0             	mov    %esi,-0x10(%ebp)
405c3b:	21 5d fc             	and    %ebx,-0x4(%ebp)
405c3e:	85 f6                	test   %esi,%esi
405c40:	74 1e                	je     0x405c60
405c42:	8b 4d 0c             	mov    0xc(%ebp),%ecx
405c45:	e8 a6 bf ff ff       	call   0x401bf0
405c4a:	50                   	push   %eax
405c4b:	8d 4d bc             	lea    -0x44(%ebp),%ecx
405c4e:	e8 4d bd ff ff       	call   0x4019a0
405c53:	43                   	inc    %ebx
405c54:	c7 06 64 44 42 00    	movl   $0x424464,(%esi)
405c5a:	83 66 04 00          	andl   $0x0,0x4(%esi)
405c5e:	eb 02                	jmp    0x405c62
405c60:	33 f6                	xor    %esi,%esi
405c62:	89 37                	mov    %esi,(%edi)
405c64:	f6 c3 01             	test   $0x1,%bl
405c67:	74 08                	je     0x405c71
405c69:	8d 4d bc             	lea    -0x44(%ebp),%ecx
405c6c:	e8 df bd ff ff       	call   0x401a50
405c71:	6a 02                	push   $0x2
405c73:	58                   	pop    %eax
405c74:	e8 a0 1e 00 00       	call   0x407b19
405c79:	c3                   	ret
405c7a:	55                   	push   %ebp
405c7b:	8b ec                	mov    %esp,%ebp
405c7d:	83 ec 0c             	sub    $0xc,%esp
405c80:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
405c84:	0f 94 c0             	sete   %al
405c87:	53                   	push   %ebx
405c88:	56                   	push   %esi
405c89:	8b f1                	mov    %ecx,%esi
405c8b:	33 db                	xor    %ebx,%ebx
405c8d:	57                   	push   %edi
405c8e:	88 46 48             	mov    %al,0x48(%esi)
405c91:	88 5e 3d             	mov    %bl,0x3d(%esi)
405c94:	e8 5e 00 00 00       	call   0x405cf7
405c99:	8b 7d 08             	mov    0x8(%ebp),%edi
405c9c:	85 ff                	test   %edi,%edi
405c9e:	74 39                	je     0x405cd9
405ca0:	8d 45 f4             	lea    -0xc(%ebp),%eax
405ca3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
405ca6:	50                   	push   %eax
405ca7:	8d 45 f8             	lea    -0x8(%ebp),%eax
405caa:	89 5d f8             	mov    %ebx,-0x8(%ebp)
405cad:	50                   	push   %eax
405cae:	8d 45 fc             	lea    -0x4(%ebp),%eax
405cb1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
405cb4:	50                   	push   %eax
405cb5:	57                   	push   %edi
405cb6:	e8 85 5a 00 00       	call   0x40b740
405cbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
405cbe:	83 c4 10             	add    $0x10,%esp
405cc1:	89 46 0c             	mov    %eax,0xc(%esi)
405cc4:	89 46 10             	mov    %eax,0x10(%esi)
405cc7:	8b 45 f8             	mov    -0x8(%ebp),%eax
405cca:	89 46 1c             	mov    %eax,0x1c(%esi)