420ae6:	e8 30 00 00 00       	call   0x420b1b
420aeb:	59                   	pop    %ecx
420aec:	59                   	pop    %ecx
420aed:	8b f0                	mov    %eax,%esi
420aef:	89 75 e4             	mov    %esi,-0x1c(%ebp)
420af2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
420af9:	e8 0c 00 00 00       	call   0x420b0a
420afe:	85 f6                	test   %esi,%esi
420b00:	75 11                	jne    0x420b13
420b02:	e8 6f 45 ff ff       	call   0x415076
420b07:	8b 75 e4             	mov    -0x1c(%ebp),%esi
420b0a:	6a 04                	push   $0x4
420b0c:	e8 f5 38 ff ff       	call   0x414406
420b11:	59                   	pop    %ecx
420b12:	c3                   	ret
420b13:	8b c6                	mov    %esi,%eax
420b15:	e8 4c 6b fe ff       	call   0x407666
420b1a:	c3                   	ret
420b1b:	8b ff                	mov    %edi,%edi
420b1d:	55                   	push   %ebp
420b1e:	8b ec                	mov    %esp,%ebp
420b20:	56                   	push   %esi
420b21:	8b 75 0c             	mov    0xc(%ebp),%esi
420b24:	57                   	push   %edi
420b25:	85 f6                	test   %esi,%esi
420b27:	74 3c                	je     0x420b65
420b29:	8b 45 08             	mov    0x8(%ebp),%eax
420b2c:	85 c0                	test   %eax,%eax
420b2e:	74 35                	je     0x420b65
420b30:	8b 38                	mov    (%eax),%edi
420b32:	3b fe                	cmp    %esi,%edi
420b34:	75 04                	jne    0x420b3a
420b36:	8b c6                	mov    %esi,%eax
420b38:	eb 2d                	jmp    0x420b67
420b3a:	56                   	push   %esi
420b3b:	89 30                	mov    %esi,(%eax)
420b3d:	e8 98 fc ff ff       	call   0x4207da
420b42:	59                   	pop    %ecx
420b43:	85 ff                	test   %edi,%edi
420b45:	74 ef                	je     0x420b36
420b47:	57                   	push   %edi
420b48:	e8 d6 fe ff ff       	call   0x420a23
420b4d:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
420b51:	59                   	pop    %ecx
420b52:	75 e2                	jne    0x420b36
420b54:	81 ff e0 bb 43 00    	cmp    $0x43bbe0,%edi
420b5a:	74 da                	je     0x420b36
420b5c:	57                   	push   %edi
420b5d:	e8 f5 fc ff ff       	call   0x420857
420b62:	59                   	pop    %ecx
420b63:	eb d1                	jmp    0x420b36
420b65:	33 c0                	xor    %eax,%eax
420b67:	5f                   	pop    %edi
420b68:	5e                   	pop    %esi
420b69:	5d                   	pop    %ebp
420b6a:	c3                   	ret
420b6b:	8b ff                	mov    %edi,%edi
420b6d:	55                   	push   %ebp
420b6e:	8b ec                	mov    %esp,%ebp
420b70:	81 ec b0 00 00 00    	sub    $0xb0,%esp
420b76:	a1 28 ba 43 00       	mov    0x43ba28,%eax
420b7b:	33 c5                	xor    %ebp,%eax
420b7d:	89 45 fc             	mov    %eax,-0x4(%ebp)
420b80:	56                   	push   %esi
420b81:	8b 75 08             	mov    0x8(%ebp),%esi
420b84:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
420b8a:	6a 55                	push   $0x55
420b8c:	50                   	push   %eax
420b8d:	81 4e 08 04 01 00 00 	orl    $0x104,0x8(%esi)
420b94:	e8 86 85 ff ff       	call   0x41911f
420b99:	83 f8 01             	cmp    $0x1,%eax
420b9c:	7e 3c                	jle    0x420bda
420b9e:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
420ba4:	57                   	push   %edi
420ba5:	8d 51 02             	lea    0x2(%ecx),%edx
420ba8:	33 ff                	xor    %edi,%edi
420baa:	66 8b 01             	mov    (%ecx),%ax
420bad:	83 c1 02             	add    $0x2,%ecx
420bb0:	66 3b c7             	cmp    %di,%ax
420bb3:	75 f5                	jne    0x420baa
420bb5:	2b ca                	sub    %edx,%ecx
420bb7:	d1 f9                	sar    $1,%ecx
420bb9:	8d 41 01             	lea    0x1(%ecx),%eax
420bbc:	50                   	push   %eax
420bbd:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
420bc3:	50                   	push   %eax
420bc4:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
420bca:	6a 55                	push   $0x55
420bcc:	50                   	push   %eax
420bcd:	e8 4b ed ff ff       	call   0x41f91d
420bd2:	83 c4 10             	add    $0x10,%esp
420bd5:	85 c0                	test   %eax,%eax
420bd7:	75 10                	jne    0x420be9
420bd9:	5f                   	pop    %edi
420bda:	8b 4d fc             	mov    -0x4(%ebp),%ecx
420bdd:	33 cd                	xor    %ebp,%ecx
420bdf:	5e                   	pop    %esi
420be0:	e8 7b 64 fe ff       	call   0x407060
420be5:	8b e5                	mov    %ebp,%esp
420be7:	5d                   	pop    %ebp
420be8:	c3                   	ret
420be9:	57                   	push   %edi
420bea:	57                   	push   %edi
420beb:	57                   	push   %edi
420bec:	57                   	push   %edi
420bed:	57                   	push   %edi
420bee:	e8 1c b1 fe ff       	call   0x40bd0f
420bf3:	cc                   	int3
420bf4:	8b ff                	mov    %edi,%edi
420bf6:	55                   	push   %ebp
420bf7:	8b ec                	mov    %esp,%ebp
420bf9:	51                   	push   %ecx
420bfa:	53                   	push   %ebx
420bfb:	56                   	push   %esi
420bfc:	8b 75 08             	mov    0x8(%ebp),%esi
420bff:	33 db                	xor    %ebx,%ebx
420c01:	57                   	push   %edi
420c02:	6a 02                	push   $0x2
420c04:	5a                   	pop    %edx
420c05:	8b 0e                	mov    (%esi),%ecx
420c07:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420c0a:	8d 79 02             	lea    0x2(%ecx),%edi
420c0d:	66 8b 01             	mov    (%ecx),%ax
420c10:	03 ca                	add    %edx,%ecx
420c12:	66 3b c3             	cmp    %bx,%ax
420c15:	75 f6                	jne    0x420c0d
420c17:	2b cf                	sub    %edi,%ecx
420c19:	33 db                	xor    %ebx,%ebx
420c1b:	d1 f9                	sar    $1,%ecx
420c1d:	83 f9 03             	cmp    $0x3,%ecx
420c20:	8b 4e 04             	mov    0x4(%esi),%ecx
420c23:	0f 94 c3             	sete   %bl
420c26:	89 5e 10             	mov    %ebx,0x10(%esi)
420c29:	8d 79 02             	lea    0x2(%ecx),%edi
420c2c:	66 8b 01             	mov    (%ecx),%ax
420c2f:	03 ca                	add    %edx,%ecx
420c31:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
420c35:	75 f5                	jne    0x420c2c
420c37:	2b cf                	sub    %edi,%ecx
420c39:	33 c0                	xor    %eax,%eax
420c3b:	d1 f9                	sar    $1,%ecx
420c3d:	83 f9 03             	cmp    $0x3,%ecx
420c40:	0f 94 c0             	sete   %al
420c43:	89 46 14             	mov    %eax,0x14(%esi)
420c46:	85 db                	test   %ebx,%ebx
420c48:	75 0a                	jne    0x420c54
420c4a:	ff 36                	push   (%esi)
420c4c:	e8 98 00 00 00       	call   0x420ce9
420c51:	59                   	pop    %ecx
420c52:	8b d0                	mov    %eax,%edx
420c54:	33 db                	xor    %ebx,%ebx
420c56:	89 56 0c             	mov    %edx,0xc(%esi)
420c59:	53                   	push   %ebx
420c5a:	53                   	push   %ebx
420c5b:	6a 03                	push   $0x3
420c5d:	68 1d 0d 42 00       	push   $0x420d1d
420c62:	e8 86 82 ff ff       	call   0x418eed
420c67:	8b 4e 08             	mov    0x8(%esi),%ecx
420c6a:	f6 c1 07             	test   $0x7,%cl
420c6d:	0f 95 c2             	setne  %dl
420c70:	0f ba e1 09          	bt     $0x9,%ecx
420c74:	0f 92 c0             	setb   %al
420c77:	22 d0                	and    %al,%dl
420c79:	0f ba e1 08          	bt     $0x8,%ecx
420c7d:	0f 92 c0             	setb   %al
420c80:	84 d0                	test   %dl,%al
420c82:	75 03                	jne    0x420c87
420c84:	89 5e 08             	mov    %ebx,0x8(%esi)
420c87:	5f                   	pop    %edi
420c88:	5e                   	pop    %esi
420c89:	5b                   	pop    %ebx
420c8a:	8b e5                	mov    %ebp,%esp
420c8c:	5d                   	pop    %ebp
420c8d:	c3                   	ret
420c8e:	8b ff                	mov    %edi,%edi
420c90:	55                   	push   %ebp
420c91:	8b ec                	mov    %esp,%ebp
420c93:	53                   	push   %ebx
420c94:	56                   	push   %esi
420c95:	8b 75 08             	mov    0x8(%ebp),%esi
420c98:	33 db                	xor    %ebx,%ebx
420c9a:	57                   	push   %edi
420c9b:	6a 02                	push   $0x2
420c9d:	5a                   	pop    %edx
420c9e:	8b 0e                	mov    (%esi),%ecx
420ca0:	8d 79 02             	lea    0x2(%ecx),%edi
420ca3:	66 8b 01             	mov    (%ecx),%ax
420ca6:	03 ca                	add    %edx,%ecx
420ca8:	66 3b c3             	cmp    %bx,%ax
420cab:	75 f6                	jne    0x420ca3
420cad:	2b cf                	sub    %edi,%ecx
420caf:	33 c0                	xor    %eax,%eax
420cb1:	d1 f9                	sar    $1,%ecx
420cb3:	83 f9 03             	cmp    $0x3,%ecx
420cb6:	0f 94 c0             	sete   %al
420cb9:	89 46 10             	mov    %eax,0x10(%esi)
420cbc:	85 c0                	test   %eax,%eax
420cbe:	75 0a                	jne    0x420cca
420cc0:	ff 36                	push   (%esi)
420cc2:	e8 22 00 00 00       	call   0x420ce9
420cc7:	59                   	pop    %ecx
420cc8:	8b d0                	mov    %eax,%edx
420cca:	53                   	push   %ebx
420ccb:	53                   	push   %ebx
420ccc:	6a 03                	push   $0x3
420cce:	68 07 10 42 00       	push   $0x421007
420cd3:	89 56 0c             	mov    %edx,0xc(%esi)
420cd6:	e8 12 82 ff ff       	call   0x418eed
420cdb:	f6 46 08 04          	testb  $0x4,0x8(%esi)
420cdf:	75 03                	jne    0x420ce4
420ce1:	89 5e 08             	mov    %ebx,0x8(%esi)
420ce4:	5f                   	pop    %edi
420ce5:	5e                   	pop    %esi
420ce6:	5b                   	pop    %ebx
420ce7:	5d                   	pop    %ebp
420ce8:	c3                   	ret
420ce9:	8b ff                	mov    %edi,%edi
420ceb:	55                   	push   %ebp
420cec:	8b ec                	mov    %esp,%ebp
420cee:	8b 4d 08             	mov    0x8(%ebp),%ecx
420cf1:	33 d2                	xor    %edx,%edx
420cf3:	85 c9                	test   %ecx,%ecx
420cf5:	75 04                	jne    0x420cfb
420cf7:	33 c0                	xor    %eax,%eax
420cf9:	5d                   	pop    %ebp
420cfa:	c3                   	ret
420cfb:	0f b7 01             	movzwl (%ecx),%eax
420cfe:	83 c1 02             	add    $0x2,%ecx
420d01:	66 83 f8 41          	cmp    $0x41,%ax
420d05:	72 06                	jb     0x420d0d
420d07:	66 83 f8 5a          	cmp    $0x5a,%ax
420d0b:	76 09                	jbe    0x420d16
420d0d:	83 c0 9f             	add    $0xffffff9f,%eax
420d10:	66 83 f8 19          	cmp    $0x19,%ax
420d14:	77 03                	ja     0x420d19
420d16:	42                   	inc    %edx
420d17:	eb e2                	jmp    0x420cfb
420d19:	8b c2                	mov    %edx,%eax
420d1b:	5d                   	pop    %ebp
420d1c:	c3                   	ret
420d1d:	8b ff                	mov    %edi,%edi
420d1f:	55                   	push   %ebp
420d20:	8b ec                	mov    %esp,%ebp
420d22:	81 ec 88 00 00 00    	sub    $0x88,%esp
420d28:	a1 28 ba 43 00       	mov    0x43ba28,%eax
420d2d:	33 c5                	xor    %ebp,%eax
420d2f:	89 45 fc             	mov    %eax,-0x4(%ebp)
420d32:	56                   	push   %esi
420d33:	57                   	push   %edi
420d34:	8b 7d 08             	mov    0x8(%ebp),%edi
420d37:	e8 20 7e ff ff       	call   0x418b5c
420d3c:	8b f0                	mov    %eax,%esi
420d3e:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
420d44:	6a 40                	push   $0x40
420d46:	50                   	push   %eax
420d47:	8b 4e 64             	mov    0x64(%esi),%ecx
420d4a:	f7 d9                	neg    %ecx
420d4c:	1b c9                	sbb    %ecx,%ecx
420d4e:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
420d54:	81 c1 02 10 00 00    	add    $0x1002,%ecx
420d5a:	51                   	push   %ecx
420d5b:	57                   	push   %edi
420d5c:	e8 54 83 ff ff       	call   0x4190b5
420d61:	85 c0                	test   %eax,%eax
420d63:	75 09                	jne    0x420d6e
420d65:	21 46 58             	and    %eax,0x58(%esi)
420d68:	40                   	inc    %eax
420d69:	e9 7c 02 00 00       	jmp    0x420fea
420d6e:	53                   	push   %ebx
420d6f:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
420d75:	50                   	push   %eax
420d76:	ff 76 54             	push   0x54(%esi)
420d79:	e8 3e d9 ff ff       	call   0x41e6bc
420d7e:	33 db                	xor    %ebx,%ebx
420d80:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
420d86:	59                   	pop    %ecx
420d87:	59                   	pop    %ecx
420d88:	85 c0                	test   %eax,%eax
420d8a:	0f 85 e0 00 00 00    	jne    0x420e70
420d90:	6a 40                	push   $0x40
420d92:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
420d98:	50                   	push   %eax
420d99:	8b 46 60             	mov    0x60(%esi),%eax
420d9c:	f7 d8                	neg    %eax
420d9e:	1b c0                	sbb    %eax,%eax
420da0:	25 02 f0 ff ff       	and    $0xfffff002,%eax
420da5:	05 01 10 00 00       	add    $0x1001,%eax
420daa:	50                   	push   %eax
420dab:	57                   	push   %edi
420dac:	e8 04 83 ff ff       	call   0x4190b5
420db1:	85 c0                	test   %eax,%eax
420db3:	75 08                	jne    0x420dbd
420db5:	21 5e 58             	and    %ebx,0x58(%esi)
420db8:	e9 ef 00 00 00       	jmp    0x420eac
420dbd:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
420dc3:	50                   	push   %eax
420dc4:	ff 76 50             	push   0x50(%esi)
420dc7:	e8 f0 d8 ff ff       	call   0x41e6bc
420dcc:	59                   	pop    %ecx
420dcd:	59                   	pop    %ecx
420dce:	85 c0                	test   %eax,%eax
420dd0:	75 3a                	jne    0x420e0c
420dd2:	81 4e 58 04 03 00 00 	orl    $0x304,0x58(%esi)
420dd9:	8b cf                	mov    %edi,%ecx
420ddb:	8d 51 02             	lea    0x2(%ecx),%edx
420dde:	66 8b 01             	mov    (%ecx),%ax
420de1:	83 c1 02             	add    $0x2,%ecx
420de4:	66 3b c3             	cmp    %bx,%ax
420de7:	75 f5                	jne    0x420dde
420de9:	2b ca                	sub    %edx,%ecx
420deb:	d1 f9                	sar    $1,%ecx
420ded:	8d 41 01             	lea    0x1(%ecx),%eax
420df0:	50                   	push   %eax
420df1:	57                   	push   %edi
420df2:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
420df8:	6a 55                	push   $0x55
420dfa:	50                   	push   %eax
420dfb:	e8 1d eb ff ff       	call   0x41f91d
420e00:	83 c4 10             	add    $0x10,%esp
420e03:	85 c0                	test   %eax,%eax
420e05:	74 69                	je     0x420e70
420e07:	e9 f0 01 00 00       	jmp    0x420ffc
420e0c:	f6 46 58 02          	testb  $0x2,0x58(%esi)
420e10:	75 5e                	jne    0x420e70
420e12:	39 5e 5c             	cmp    %ebx,0x5c(%esi)
420e15:	74 2f                	je     0x420e46
420e17:	ff 76 5c             	push   0x5c(%esi)
420e1a:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
420e20:	50                   	push   %eax
420e21:	ff 76 50             	push   0x50(%esi)
420e24:	e8 6f 48 00 00       	call   0x425698
420e29:	83 c4 0c             	add    $0xc,%esp
420e2c:	85 c0                	test   %eax,%eax
420e2e:	75 16                	jne    0x420e46
420e30:	83 4e 58 02          	orl    $0x2,0x58(%esi)
420e34:	8b cf                	mov    %edi,%ecx
420e36:	8d 51 02             	lea    0x2(%ecx),%edx
420e39:	66 8b 01             	mov    (%ecx),%ax
420e3c:	83 c1 02             	add    $0x2,%ecx
420e3f:	66 3b c3             	cmp    %bx,%ax
420e42:	75 f5                	jne    0x420e39
420e44:	eb a3                	jmp    0x420de9
420e46:	f6 46 58 01          	testb  $0x1,0x58(%esi)
420e4a:	75 24                	jne    0x420e70
420e4c:	57                   	push   %edi
420e4d:	e8 5d 03 00 00       	call   0x4211af
420e52:	59                   	pop    %ecx
420e53:	85 c0                	test   %eax,%eax
420e55:	74 19                	je     0x420e70
420e57:	83 4e 58 01          	orl    $0x1,0x58(%esi)