412a3f:	00 00 00
412a42:	e8 49 91 ff ff       	call   0x40bb90
412a47:	8b f0                	mov    %eax,%esi
412a49:	6a 2f                	push   $0x2f
412a4b:	58                   	pop    %eax
412a4c:	85 ff                	test   %edi,%edi
412a4e:	0f 85 fa c9 00 00    	jne    0x41f44e
412a54:	33 c9                	xor    %ecx,%ecx
412a56:	e8 15 a2 ff ff       	call   0x40cc70
412a5b:	6a 2b                	push   $0x2b
412a5d:	5a                   	pop    %edx
412a5e:	e8 a4 6e ff ff       	call   0x409907
412a63:	84 c0                	test   %al,%al
412a65:	0f 85 ff c9 00 00    	jne    0x41f46a
412a6b:	83 66 48 00          	andl   $0x0,0x48(%esi)
412a6f:	bf f0 4a 44 00       	mov    $0x444af0,%edi
412a74:	38 05 55 67 43 00    	cmp    %al,0x436755
412a7a:	74 68                	je     0x412ae4
412a7c:	57                   	push   %edi
412a7d:	68 0c 26 40 00       	push   $0x40260c
412a82:	ff 15 40 a4 44 00    	call   *0x44a440
412a88:	59                   	pop    %ecx
412a89:	59                   	pop    %ecx
412a8a:	85 c0                	test   %eax,%eax
412a8c:	0f 84 84 01 00 00    	je     0x412c16
412a92:	57                   	push   %edi
412a93:	68 14 26 40 00       	push   $0x402614
412a98:	ff 15 40 a4 44 00    	call   *0x44a440
412a9e:	59                   	pop    %ecx
412a9f:	59                   	pop    %ecx
412aa0:	85 c0                	test   %eax,%eax
412aa2:	0f 84 68 01 00 00    	je     0x412c10
412aa8:	57                   	push   %edi
412aa9:	68 1c 26 40 00       	push   $0x40261c
412aae:	ff 15 40 a4 44 00    	call   *0x44a440
412ab4:	59                   	pop    %ecx
412ab5:	59                   	pop    %ecx
412ab6:	85 c0                	test   %eax,%eax
412ab8:	0f 84 d3 00 00 00    	je     0x412b91
412abe:	57                   	push   %edi
412abf:	68 34 26 40 00       	push   $0x402634
412ac4:	ff 15 40 a4 44 00    	call   *0x44a440
412aca:	59                   	pop    %ecx
412acb:	59                   	pop    %ecx
412acc:	8b 4e 48             	mov    0x48(%esi),%ecx
412acf:	85 c0                	test   %eax,%eax
412ad1:	0f 84 a2 c9 00 00    	je     0x41f479
412ad7:	85 c9                	test   %ecx,%ecx
412ad9:	74 09                	je     0x412ae4
412adb:	83 f9 08             	cmp    $0x8,%ecx
412ade:	0f 85 15 01 00 00    	jne    0x412bf9
412ae4:	6a 25                	push   $0x25
412ae6:	58                   	pop    %eax
412ae7:	66 39 05 f0 4a 44 00 	cmp    %ax,0x444af0
412aee:	0f 85 0c ca 00 00    	jne    0x41f500
412af4:	0f b7 05 f2 4a 44 00 	movzwl 0x444af2,%eax
412afb:	50                   	push   %eax
412afc:	ff 15 ac a3 44 00    	call   *0x44a3ac
412b02:	59                   	pop    %ecx
412b03:	85 c0                	test   %eax,%eax
412b05:	0f 85 f5 c9 00 00    	jne    0x41f500
412b0b:	0f b7 15 f2 4a 44 00 	movzwl 0x444af2,%edx
412b12:	b9 d0 22 40 00       	mov    $0x4022d0,%ecx
412b17:	89 56 44             	mov    %edx,0x44(%esi)
412b1a:	e8 10 7b ff ff       	call   0x40a62f
412b1f:	85 c0                	test   %eax,%eax
412b21:	0f 85 d9 c9 00 00    	jne    0x41f500
412b27:	83 3d fc 66 43 00 03 	cmpl   $0x3,0x4366fc
412b2e:	0f 85 cc c9 00 00    	jne    0x41f500
412b34:	8b 4e 38             	mov    0x38(%esi),%ecx
412b37:	57                   	push   %edi
412b38:	51                   	push   %ecx
412b39:	6a 1e                	push   $0x1e
412b3b:	5a                   	pop    %edx
412b3c:	e8 0d f5 ff ff       	call   0x41204e
412b41:	b9 2c 26 40 00       	mov    $0x40262c,%ecx
412b46:	e8 d8 00 00 00       	call   0x412c23
412b4b:	8b 4e 38             	mov    0x38(%esi),%ecx
412b4e:	57                   	push   %edi
412b4f:	51                   	push   %ecx
412b50:	6a 1e                	push   $0x1e
412b52:	5a                   	pop    %edx
412b53:	e8 f6 f4 ff ff       	call   0x41204e
412b58:	e8 6d 08 00 00       	call   0x4133ca
412b5d:	b9 24 26 40 00       	mov    $0x402624,%ecx
412b62:	89 46 3c             	mov    %eax,0x3c(%esi)
412b65:	e8 b9 00 00 00       	call   0x412c23
412b6a:	8b 4e 38             	mov    0x38(%esi),%ecx
412b6d:	57                   	push   %edi
412b6e:	6a 08                	push   $0x8
412b70:	83 c1 2c             	add    $0x2c,%ecx
412b73:	5a                   	pop    %edx
412b74:	e8 27 c8 ff ff       	call   0x40f3a0
412b79:	6a 2b                	push   $0x2b
412b7b:	59                   	pop    %ecx
412b7c:	e8 43 7d ff ff       	call   0x40a8c4
412b81:	89 46 40             	mov    %eax,0x40(%esi)
412b84:	85 c0                	test   %eax,%eax
412b86:	0f 84 7e c9 00 00    	je     0x41f50a
412b8c:	5f                   	pop    %edi
412b8d:	8b c6                	mov    %esi,%eax
412b8f:	5e                   	pop    %esi
412b90:	c3                   	ret
412b91:	83 4e 48 08          	orl    $0x8,0x48(%esi)
412b95:	33 c9                	xor    %ecx,%ecx
412b97:	e8 d4 a0 ff ff       	call   0x40cc70
412b9c:	66 a1 f0 4a 44 00    	mov    0x444af0,%ax
412ba2:	6a 25                	push   $0x25
412ba4:	59                   	pop    %ecx
412ba5:	66 3b c1             	cmp    %cx,%ax
412ba8:	0f 84 ce fe ff ff    	je     0x412a7c
412bae:	6a 2f                	push   $0x2f
412bb0:	59                   	pop    %ecx
412bb1:	66 3b c1             	cmp    %cx,%ax
412bb4:	0f 84 c2 fe ff ff    	je     0x412a7c
412bba:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
412bbe:	75 5c                	jne    0x412c1c
412bc0:	a1 fc 66 43 00       	mov    0x4366fc,%eax
412bc5:	8d 0c 45 06 00 00 00 	lea    0x6(,%eax,2),%ecx
412bcc:	e8 ff b0 ff ff       	call   0x40dcd0
412bd1:	85 c0                	test   %eax,%eax
412bd3:	0f 84 f9 c8 00 00    	je     0x41f4d2
412bd9:	8b 15 fc 66 43 00    	mov    0x4366fc,%edx
412bdf:	8d 52 03             	lea    0x3(%edx),%edx
412be2:	57                   	push   %edi
412be3:	8b c8                	mov    %eax,%ecx
412be5:	89 46 4c             	mov    %eax,0x4c(%esi)
412be8:	e8 b3 c7 ff ff       	call   0x40f3a0
412bed:	33 c9                	xor    %ecx,%ecx
412bef:	e8 7c a0 ff ff       	call   0x40cc70
412bf4:	e9 83 fe ff ff       	jmp    0x412a7c
412bf9:	83 f9 02             	cmp    $0x2,%ecx
412bfc:	0f 84 e2 fe ff ff    	je     0x412ae4
412c02:	83 f9 01             	cmp    $0x1,%ecx
412c05:	0f 84 d9 fe ff ff    	je     0x412ae4
412c0b:	e9 d4 c8 00 00       	jmp    0x41f4e4
412c10:	83 4e 48 02          	orl    $0x2,0x48(%esi)
412c14:	eb d7                	jmp    0x412bed
412c16:	83 4e 48 01          	orl    $0x1,0x48(%esi)
412c1a:	eb d1                	jmp    0x412bed
412c1c:	e8 38 5d 01 00       	call   0x428959
412c21:	eb 9d                	jmp    0x412bc0
412c23:	8b ff                	mov    %edi,%edi
412c25:	56                   	push   %esi
412c26:	8b f1                	mov    %ecx,%esi
412c28:	33 c9                	xor    %ecx,%ecx
412c2a:	e8 41 a0 ff ff       	call   0x40cc70
412c2f:	68 f0 4a 44 00       	push   $0x444af0
412c34:	56                   	push   %esi
412c35:	ff 15 40 a4 44 00    	call   *0x44a440
412c3b:	59                   	pop    %ecx
412c3c:	59                   	pop    %ecx
412c3d:	85 c0                	test   %eax,%eax
412c3f:	75 02                	jne    0x412c43
412c41:	5e                   	pop    %esi
412c42:	c3                   	ret
412c43:	5e                   	pop    %esi
412c44:	e9 10 5d 01 00       	jmp    0x428959
412c49:	8b ff                	mov    %edi,%edi
412c4b:	55                   	push   %ebp
412c4c:	8b ec                	mov    %esp,%ebp
412c4e:	83 ec 14             	sub    $0x14,%esp
412c51:	8d 45 f0             	lea    -0x10(%ebp),%eax
412c54:	53                   	push   %ebx
412c55:	56                   	push   %esi
412c56:	57                   	push   %edi
412c57:	83 ec 0c             	sub    $0xc,%esp
412c5a:	8d 75 0c             	lea    0xc(%ebp),%esi
412c5d:	8b fc                	mov    %esp,%edi
412c5f:	50                   	push   %eax
412c60:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c61:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c62:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c63:	e8 3d 00 00 00       	call   0x412ca5
412c68:	8b f0                	mov    %eax,%esi
412c6a:	8d 7d 0c             	lea    0xc(%ebp),%edi
412c6d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c6e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c6f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c70:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412c74:	75 1d                	jne    0x412c93
412c76:	6a 7c                	push   $0x7c
412c78:	5e                   	pop    %esi
412c79:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412c7c:	e8 75 2d 00 00       	call   0x4159f6
412c81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412c84:	8b 5d 10             	mov    0x10(%ebp),%ebx
412c87:	0f b7 01             	movzwl (%ecx),%eax
412c8a:	66 3b c6             	cmp    %si,%ax
412c8d:	0f 84 81 c8 00 00    	je     0x41f514
412c93:	8b 45 08             	mov    0x8(%ebp),%eax
412c96:	8d 75 0c             	lea    0xc(%ebp),%esi
412c99:	8b f8                	mov    %eax,%edi
412c9b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c9c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c9d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c9e:	5f                   	pop    %edi
412c9f:	5e                   	pop    %esi
412ca0:	5b                   	pop    %ebx
412ca1:	c9                   	leave
412ca2:	c2 10 00             	ret    $0x10
412ca5:	8b ff                	mov    %edi,%edi
412ca7:	55                   	push   %ebp
412ca8:	8b ec                	mov    %esp,%ebp
412caa:	83 ec 14             	sub    $0x14,%esp
412cad:	8d 45 f0             	lea    -0x10(%ebp),%eax
412cb0:	53                   	push   %ebx
412cb1:	56                   	push   %esi
412cb2:	57                   	push   %edi
412cb3:	83 ec 0c             	sub    $0xc,%esp
412cb6:	8d 75 0c             	lea    0xc(%ebp),%esi
412cb9:	8b fc                	mov    %esp,%edi
412cbb:	50                   	push   %eax
412cbc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cbd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cbe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cbf:	e8 3d 00 00 00       	call   0x412d01
412cc4:	8b f0                	mov    %eax,%esi
412cc6:	8d 7d 0c             	lea    0xc(%ebp),%edi
412cc9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ccb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ccc:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412cd0:	75 1d                	jne    0x412cef
412cd2:	6a 5e                	push   $0x5e
412cd4:	5e                   	pop    %esi
412cd5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412cd8:	e8 19 2d 00 00       	call   0x4159f6
412cdd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412ce0:	8b 5d 10             	mov    0x10(%ebp),%ebx
412ce3:	0f b7 01             	movzwl (%ecx),%eax
412ce6:	66 3b c6             	cmp    %si,%ax
412ce9:	0f 84 67 c8 00 00    	je     0x41f556
412cef:	8b 45 08             	mov    0x8(%ebp),%eax
412cf2:	8d 75 0c             	lea    0xc(%ebp),%esi
412cf5:	8b f8                	mov    %eax,%edi
412cf7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cf8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cf9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cfa:	5f                   	pop    %edi
412cfb:	5e                   	pop    %esi
412cfc:	5b                   	pop    %ebx
412cfd:	c9                   	leave
412cfe:	c2 10 00             	ret    $0x10
412d01:	8b ff                	mov    %edi,%edi
412d03:	55                   	push   %ebp
412d04:	8b ec                	mov    %esp,%ebp
412d06:	83 ec 14             	sub    $0x14,%esp
412d09:	8d 45 f0             	lea    -0x10(%ebp),%eax
412d0c:	53                   	push   %ebx
412d0d:	56                   	push   %esi
412d0e:	57                   	push   %edi
412d0f:	83 ec 0c             	sub    $0xc,%esp
412d12:	8d 75 0c             	lea    0xc(%ebp),%esi
412d15:	8b fc                	mov    %esp,%edi
412d17:	50                   	push   %eax
412d18:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d19:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d1a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d1b:	e8 3d 00 00 00       	call   0x412d5d
412d20:	8b f0                	mov    %eax,%esi
412d22:	8d 7d 0c             	lea    0xc(%ebp),%edi
412d25:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d26:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d27:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d28:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412d2c:	75 1d                	jne    0x412d4b
412d2e:	6a 26                	push   $0x26
412d30:	5e                   	pop    %esi
412d31:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412d34:	e8 bd 2c 00 00       	call   0x4159f6
412d39:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412d3c:	8b 5d 10             	mov    0x10(%ebp),%ebx
412d3f:	0f b7 01             	movzwl (%ecx),%eax
412d42:	66 3b c6             	cmp    %si,%ax
412d45:	0f 84 4d c8 00 00    	je     0x41f598
412d4b:	8b 45 08             	mov    0x8(%ebp),%eax
412d4e:	8d 75 0c             	lea    0xc(%ebp),%esi
412d51:	8b f8                	mov    %eax,%edi
412d53:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d54:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d55:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d56:	5f                   	pop    %edi
412d57:	5e                   	pop    %esi
412d58:	5b                   	pop    %ebx
412d59:	c9                   	leave
412d5a:	c2 10 00             	ret    $0x10
412d5d:	8b ff                	mov    %edi,%edi
412d5f:	55                   	push   %ebp
412d60:	8b ec                	mov    %esp,%ebp
412d62:	83 ec 1c             	sub    $0x1c,%esp
412d65:	8d 45 e8             	lea    -0x18(%ebp),%eax
412d68:	53                   	push   %ebx
412d69:	56                   	push   %esi
412d6a:	57                   	push   %edi
412d6b:	83 ec 0c             	sub    $0xc,%esp
412d6e:	8d 75 0c             	lea    0xc(%ebp),%esi
412d71:	8b fc                	mov    %esp,%edi
412d73:	50                   	push   %eax
412d74:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d75:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d76:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d77:	e8 a2 00 00 00       	call   0x412e1e
412d7c:	8b f0                	mov    %eax,%esi
412d7e:	8d 7d 0c             	lea    0xc(%ebp),%edi
412d81:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d82:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d83:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d84:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412d88:	75 26                	jne    0x412db0
412d8a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412d8d:	e8 64 2c 00 00       	call   0x4159f6
412d92:	8b 45 0c             	mov    0xc(%ebp),%eax
412d95:	8b 4d 10             	mov    0x10(%ebp),%ecx
412d98:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412d9b:	0f b7 18             	movzwl (%eax),%ebx
412d9e:	83 fb 3c             	cmp    $0x3c,%ebx
412da1:	0f 84 33 c8 00 00    	je     0x41f5da
412da7:	83 fb 3e             	cmp    $0x3e,%ebx
412daa:	0f 84 2a c8 00 00    	je     0x41f5da
412db0:	8d 75 0c             	lea    0xc(%ebp),%esi
412db3:	8b 45 08             	mov    0x8(%ebp),%eax
412db6:	8b f8                	mov    %eax,%edi
412db8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412db9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dba:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dbb:	5f                   	pop    %edi
412dbc:	5e                   	pop    %esi
412dbd:	5b                   	pop    %ebx
412dbe:	c9                   	leave
412dbf:	c2 10 00             	ret    $0x10
412dc2:	8b ff                	mov    %edi,%edi
412dc4:	55                   	push   %ebp
412dc5:	8b ec                	mov    %esp,%ebp
412dc7:	83 e4 f8             	and    $0xfffffff8,%esp
412dca:	83 ec 10             	sub    $0x10,%esp
412dcd:	56                   	push   %esi
412dce:	57                   	push   %edi
412dcf:	83 ec 0c             	sub    $0xc,%esp
412dd2:	8d 75 0c             	lea    0xc(%ebp),%esi
412dd5:	8b fc                	mov    %esp,%edi
412dd7:	8d 44 24 14          	lea    0x14(%esp),%eax
412ddb:	50                   	push   %eax
412ddc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ddd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dde:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ddf:	e8 cb 00 00 00       	call   0x412eaf
412de4:	8b f0                	mov    %eax,%esi
412de6:	8d 7d 0c             	lea    0xc(%ebp),%edi
412de9:	a5                   	movsl  %ds:(%esi),%es:(%edi)