437bd7:	74 12                	je     0x437beb
437bd9:	81 4e 14 00 00 00 04 	orl    $0x4000000,0x14(%esi)
437be0:	81 4e 04 00 00 01 00 	orl    $0x10000,0x4(%esi)
437be7:	83 4e 0c 04          	orl    $0x4,0xc(%esi)
437beb:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
437bf1:	74 03                	je     0x437bf6
437bf3:	09 4e 10             	or     %ecx,0x10(%esi)
437bf6:	f7 c3 00 20 00 00    	test   $0x2000,%ebx
437bfc:	74 07                	je     0x437c05
437bfe:	81 4e 14 00 00 00 02 	orl    $0x2000000,0x14(%esi)
437c05:	f6 c3 20             	test   $0x20,%bl
437c08:	74 09                	je     0x437c13
437c0a:	81 4e 14 00 00 00 08 	orl    $0x8000000,0x14(%esi)
437c11:	eb 0c                	jmp    0x437c1f
437c13:	f6 c3 10             	test   $0x10,%bl
437c16:	74 07                	je     0x437c1f
437c18:	81 4e 14 00 00 00 10 	orl    $0x10000000,0x14(%esi)
437c1f:	5f                   	pop    %edi
437c20:	8b c6                	mov    %esi,%eax
437c22:	5e                   	pop    %esi
437c23:	5b                   	pop    %ebx
437c24:	c9                   	leave
437c25:	c3                   	ret
437c26:	33 c0                	xor    %eax,%eax
437c28:	50                   	push   %eax
437c29:	50                   	push   %eax
437c2a:	50                   	push   %eax
437c2b:	50                   	push   %eax
437c2c:	50                   	push   %eax
437c2d:	e8 7e 7d fe ff       	call   0x41f9b0
437c32:	cc                   	int3
437c33:	8b ff                	mov    %edi,%edi
437c35:	55                   	push   %ebp
437c36:	8b ec                	mov    %esp,%ebp
437c38:	51                   	push   %ecx
437c39:	53                   	push   %ebx
437c3a:	56                   	push   %esi
437c3b:	8b 75 08             	mov    0x8(%ebp),%esi
437c3e:	8b d6                	mov    %esi,%edx
437c40:	8b c6                	mov    %esi,%eax
437c42:	c1 fa 06             	sar    $0x6,%edx
437c45:	83 e0 3f             	and    $0x3f,%eax
437c48:	6b c8 38             	imul   $0x38,%eax,%ecx
437c4b:	57                   	push   %edi
437c4c:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
437c53:	8a 44 08 28          	mov    0x28(%eax,%ecx,1),%al
437c57:	a8 48                	test   $0x48,%al
437c59:	75 7b                	jne    0x437cd6
437c5b:	84 c0                	test   %al,%al
437c5d:	79 77                	jns    0x437cd6
437c5f:	6a 02                	push   $0x2
437c61:	6a ff                	push   $0xffffffff
437c63:	6a ff                	push   $0xffffffff
437c65:	56                   	push   %esi
437c66:	e8 a5 68 ff ff       	call   0x42e510
437c6b:	8b f8                	mov    %eax,%edi
437c6d:	8b da                	mov    %edx,%ebx
437c6f:	8b cf                	mov    %edi,%ecx
437c71:	83 c4 10             	add    $0x10,%esp
437c74:	23 cb                	and    %ebx,%ecx
437c76:	83 f9 ff             	cmp    $0xffffffff,%ecx
437c79:	75 16                	jne    0x437c91
437c7b:	e8 9d bd fe ff       	call   0x423a1d
437c80:	81 38 83 00 00 00    	cmpl   $0x83,(%eax)
437c86:	74 4e                	je     0x437cd6
437c88:	e8 a3 bd fe ff       	call   0x423a30
437c8d:	8b 00                	mov    (%eax),%eax
437c8f:	eb 47                	jmp    0x437cd8
437c91:	33 c0                	xor    %eax,%eax
437c93:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
437c97:	8d 45 fc             	lea    -0x4(%ebp),%eax
437c9a:	6a 01                	push   $0x1
437c9c:	50                   	push   %eax
437c9d:	56                   	push   %esi
437c9e:	e8 5f 64 ff ff       	call   0x42e102
437ca3:	83 c4 0c             	add    $0xc,%esp
437ca6:	85 c0                	test   %eax,%eax
437ca8:	75 17                	jne    0x437cc1
437caa:	66 83 7d fc 1a       	cmpw   $0x1a,-0x4(%ebp)
437caf:	75 10                	jne    0x437cc1
437cb1:	53                   	push   %ebx
437cb2:	57                   	push   %edi
437cb3:	56                   	push   %esi
437cb4:	e8 d5 1c 00 00       	call   0x43998e
437cb9:	83 c4 0c             	add    $0xc,%esp
437cbc:	83 f8 ff             	cmp    $0xffffffff,%eax
437cbf:	74 c7                	je     0x437c88
437cc1:	33 c0                	xor    %eax,%eax
437cc3:	50                   	push   %eax
437cc4:	50                   	push   %eax
437cc5:	50                   	push   %eax
437cc6:	56                   	push   %esi
437cc7:	e8 44 68 ff ff       	call   0x42e510
437ccc:	23 c2                	and    %edx,%eax
437cce:	83 c4 10             	add    $0x10,%esp
437cd1:	83 f8 ff             	cmp    $0xffffffff,%eax
437cd4:	74 b2                	je     0x437c88
437cd6:	33 c0                	xor    %eax,%eax
437cd8:	5f                   	pop    %edi
437cd9:	5e                   	pop    %esi
437cda:	5b                   	pop    %ebx
437cdb:	c9                   	leave
437cdc:	c3                   	ret
437cdd:	8b ff                	mov    %edi,%edi
437cdf:	55                   	push   %ebp
437ce0:	8b ec                	mov    %esp,%ebp
437ce2:	83 ec 48             	sub    $0x48,%esp
437ce5:	53                   	push   %ebx
437ce6:	56                   	push   %esi
437ce7:	57                   	push   %edi
437ce8:	ff 75 1c             	push   0x1c(%ebp)
437ceb:	8d 45 b8             	lea    -0x48(%ebp),%eax
437cee:	ff 75 18             	push   0x18(%ebp)
437cf1:	ff 75 14             	push   0x14(%ebp)
437cf4:	50                   	push   %eax
437cf5:	e8 bf fd ff ff       	call   0x437ab9
437cfa:	83 c4 10             	add    $0x10,%esp
437cfd:	8d 7d d0             	lea    -0x30(%ebp),%edi
437d00:	8b f0                	mov    %eax,%esi
437d02:	6a 06                	push   $0x6
437d04:	59                   	pop    %ecx
437d05:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
437d07:	83 ce ff             	or     $0xffffffff,%esi
437d0a:	39 75 dc             	cmp    %esi,-0x24(%ebp)
437d0d:	75 19                	jne    0x437d28
437d0f:	e8 09 bd fe ff       	call   0x423a1d
437d14:	83 20 00             	andl   $0x0,(%eax)
437d17:	8b 45 0c             	mov    0xc(%ebp),%eax
437d1a:	89 30                	mov    %esi,(%eax)
437d1c:	e8 0f bd fe ff       	call   0x423a30
437d21:	8b 00                	mov    (%eax),%eax
437d23:	e9 da 02 00 00       	jmp    0x438002
437d28:	e8 90 b4 ff ff       	call   0x4331bd
437d2d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
437d30:	89 03                	mov    %eax,(%ebx)
437d32:	3b c6                	cmp    %esi,%eax
437d34:	75 17                	jne    0x437d4d
437d36:	e8 e2 bc fe ff       	call   0x423a1d
437d3b:	83 20 00             	andl   $0x0,(%eax)
437d3e:	89 33                	mov    %esi,(%ebx)
437d40:	e8 eb bc fe ff       	call   0x423a30
437d45:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
437d4b:	eb cf                	jmp    0x437d1c
437d4d:	8b 45 08             	mov    0x8(%ebp),%eax
437d50:	8d 75 d0             	lea    -0x30(%ebp),%esi
437d53:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
437d57:	33 c9                	xor    %ecx,%ecx
437d59:	41                   	inc    %ecx
437d5a:	c7 45 e8 0c 00 00 00 	movl   $0xc,-0x18(%ebp)
437d61:	83 ec 18             	sub    $0x18,%esp
437d64:	89 08                	mov    %ecx,(%eax)
437d66:	8b 45 14             	mov    0x14(%ebp),%eax
437d69:	c1 e8 07             	shr    $0x7,%eax
437d6c:	f7 d0                	not    %eax
437d6e:	23 c1                	and    %ecx,%eax
437d70:	6a 06                	push   $0x6
437d72:	59                   	pop    %ecx
437d73:	89 45 f0             	mov    %eax,-0x10(%ebp)
437d76:	8b fc                	mov    %esp,%edi
437d78:	8d 45 e8             	lea    -0x18(%ebp),%eax
437d7b:	50                   	push   %eax
437d7c:	ff 75 10             	push   0x10(%ebp)
437d7f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
437d81:	e8 9e fc ff ff       	call   0x437a24
437d86:	8b f8                	mov    %eax,%edi
437d88:	83 c4 20             	add    $0x20,%esp
437d8b:	89 7d f8             	mov    %edi,-0x8(%ebp)
437d8e:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
437d93:	83 ff ff             	cmp    $0xffffffff,%edi
437d96:	75 6b                	jne    0x437e03
437d98:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
437d9b:	8b c1                	mov    %ecx,%eax
437d9d:	23 c2                	and    %edx,%eax
437d9f:	3b c2                	cmp    %edx,%eax
437da1:	75 35                	jne    0x437dd8
437da3:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
437da7:	74 2f                	je     0x437dd8
437da9:	83 ec 18             	sub    $0x18,%esp
437dac:	8d 45 e8             	lea    -0x18(%ebp),%eax
437daf:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
437db5:	8d 75 d0             	lea    -0x30(%ebp),%esi
437db8:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
437dbb:	6a 06                	push   $0x6
437dbd:	59                   	pop    %ecx
437dbe:	8b fc                	mov    %esp,%edi
437dc0:	50                   	push   %eax
437dc1:	ff 75 10             	push   0x10(%ebp)
437dc4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
437dc6:	e8 59 fc ff ff       	call   0x437a24
437dcb:	8b f8                	mov    %eax,%edi
437dcd:	83 c4 20             	add    $0x20,%esp
437dd0:	89 7d f8             	mov    %edi,-0x8(%ebp)
437dd3:	83 ff ff             	cmp    $0xffffffff,%edi
437dd6:	75 2b                	jne    0x437e03
437dd8:	8b 0b                	mov    (%ebx),%ecx
437dda:	8b c1                	mov    %ecx,%eax
437ddc:	83 e1 3f             	and    $0x3f,%ecx
437ddf:	c1 f8 06             	sar    $0x6,%eax
437de2:	6b c9 38             	imul   $0x38,%ecx,%ecx
437de5:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
437dec:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
437df1:	ff 15 6c e0 43 00    	call   *0x43e06c
437df7:	50                   	push   %eax
437df8:	e8 d9 bb fe ff       	call   0x4239d6
437dfd:	59                   	pop    %ecx
437dfe:	e9 19 ff ff ff       	jmp    0x437d1c
437e03:	57                   	push   %edi
437e04:	ff 15 c8 e1 43 00    	call   *0x43e1c8
437e0a:	85 c0                	test   %eax,%eax
437e0c:	75 47                	jne    0x437e55
437e0e:	ff 15 6c e0 43 00    	call   *0x43e06c
437e14:	8b f0                	mov    %eax,%esi
437e16:	56                   	push   %esi
437e17:	e8 ba bb fe ff       	call   0x4239d6
437e1c:	59                   	pop    %ecx
437e1d:	8b 0b                	mov    (%ebx),%ecx
437e1f:	8b c1                	mov    %ecx,%eax
437e21:	83 e1 3f             	and    $0x3f,%ecx
437e24:	c1 f8 06             	sar    $0x6,%eax
437e27:	6b c9 38             	imul   $0x38,%ecx,%ecx
437e2a:	57                   	push   %edi
437e2b:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
437e32:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
437e37:	ff 15 68 e0 43 00    	call   *0x43e068
437e3d:	85 f6                	test   %esi,%esi
437e3f:	0f 85 d7 fe ff ff    	jne    0x437d1c
437e45:	e8 e6 bb fe ff       	call   0x423a30
437e4a:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
437e50:	e9 c7 fe ff ff       	jmp    0x437d1c
437e55:	83 f8 02             	cmp    $0x2,%eax
437e58:	75 07                	jne    0x437e61
437e5a:	8a 45 d0             	mov    -0x30(%ebp),%al
437e5d:	0c 40                	or     $0x40,%al
437e5f:	eb 0a                	jmp    0x437e6b
437e61:	83 f8 03             	cmp    $0x3,%eax
437e64:	8a 45 d0             	mov    -0x30(%ebp),%al
437e67:	75 02                	jne    0x437e6b
437e69:	0c 08                	or     $0x8,%al
437e6b:	57                   	push   %edi
437e6c:	ff 33                	push   (%ebx)
437e6e:	88 45 ff             	mov    %al,-0x1(%ebp)
437e71:	e8 92 b2 ff ff       	call   0x433108
437e76:	8a 55 ff             	mov    -0x1(%ebp),%dl
437e79:	59                   	pop    %ecx
437e7a:	59                   	pop    %ecx
437e7b:	8b 0b                	mov    (%ebx),%ecx
437e7d:	80 ca 01             	or     $0x1,%dl
437e80:	8b c1                	mov    %ecx,%eax
437e82:	88 55 f4             	mov    %dl,-0xc(%ebp)
437e85:	83 e1 3f             	and    $0x3f,%ecx
437e88:	c1 f8 06             	sar    $0x6,%eax
437e8b:	6b c9 38             	imul   $0x38,%ecx,%ecx
437e8e:	88 55 d0             	mov    %dl,-0x30(%ebp)
437e91:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
437e98:	88 54 08 28          	mov    %dl,0x28(%eax,%ecx,1)
437e9c:	8b 0b                	mov    (%ebx),%ecx
437e9e:	8b c1                	mov    %ecx,%eax
437ea0:	83 e1 3f             	and    $0x3f,%ecx
437ea3:	c1 f8 06             	sar    $0x6,%eax
437ea6:	6b c9 38             	imul   $0x38,%ecx,%ecx
437ea9:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
437ead:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
437eb4:	c6 44 08 29 00       	movb   $0x0,0x29(%eax,%ecx,1)
437eb9:	74 1d                	je     0x437ed8
437ebb:	ff 33                	push   (%ebx)
437ebd:	e8 71 fd ff ff       	call   0x437c33
437ec2:	8b f0                	mov    %eax,%esi
437ec4:	59                   	pop    %ecx
437ec5:	85 f6                	test   %esi,%esi
437ec7:	74 0f                	je     0x437ed8
437ec9:	ff 33                	push   (%ebx)
437ecb:	e8 43 41 ff ff       	call   0x42c013
437ed0:	59                   	pop    %ecx
437ed1:	8b c6                	mov    %esi,%eax
437ed3:	e9 2a 01 00 00       	jmp    0x438002
437ed8:	8d 45 ff             	lea    -0x1(%ebp),%eax
437edb:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
437edf:	50                   	push   %eax
437ee0:	ff 75 14             	push   0x14(%ebp)
437ee3:	8d 75 d0             	lea    -0x30(%ebp),%esi
437ee6:	83 ec 18             	sub    $0x18,%esp
437ee9:	6a 06                	push   $0x6
437eeb:	59                   	pop    %ecx
437eec:	8b fc                	mov    %esp,%edi
437eee:	ff 33                	push   (%ebx)
437ef0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
437ef2:	e8 d7 f8 ff ff       	call   0x4377ce
437ef7:	8b 13                	mov    (%ebx),%edx
437ef9:	8b f0                	mov    %eax,%esi
437efb:	83 c4 24             	add    $0x24,%esp
437efe:	85 f6                	test   %esi,%esi
437f00:	74 03                	je     0x437f05
437f02:	52                   	push   %edx
437f03:	eb c6                	jmp    0x437ecb
437f05:	8a 45 ff             	mov    -0x1(%ebp),%al
437f08:	8b ca                	mov    %edx,%ecx
437f0a:	c1 f9 06             	sar    $0x6,%ecx
437f0d:	83 e2 3f             	and    $0x3f,%edx
437f10:	6b d2 38             	imul   $0x38,%edx,%edx
437f13:	8b 0c 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%ecx
437f1a:	88 44 11 29          	mov    %al,0x29(%ecx,%edx,1)
437f1e:	8b 0b                	mov    (%ebx),%ecx
437f20:	8b c1                	mov    %ecx,%eax
437f22:	c1 f8 06             	sar    $0x6,%eax
437f25:	83 e1 3f             	and    $0x3f,%ecx
437f28:	6b d1 38             	imul   $0x38,%ecx,%edx
437f2b:	8b 0c 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%ecx
437f32:	8b 45 14             	mov    0x14(%ebp),%eax
437f35:	c1 e8 10             	shr    $0x10,%eax
437f38:	32 44 11 2d          	xor    0x2d(%ecx,%edx,1),%al
437f3c:	24 01                	and    $0x1,%al
437f3e:	30 44 11 2d          	xor    %al,0x2d(%ecx,%edx,1)
437f42:	f6 45 f4 48          	testb  $0x48,-0xc(%ebp)
437f46:	75 1f                	jne    0x437f67
437f48:	f6 45 14 08          	testb  $0x8,0x14(%ebp)
437f4c:	74 19                	je     0x437f67
437f4e:	8b 0b                	mov    (%ebx),%ecx
437f50:	8b c1                	mov    %ecx,%eax
437f52:	83 e1 3f             	and    $0x3f,%ecx
437f55:	c1 f8 06             	sar    $0x6,%eax
437f58:	6b c9 38             	imul   $0x38,%ecx,%ecx
437f5b:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
437f62:	80 4c 08 28 20       	orb    $0x20,0x28(%eax,%ecx,1)
437f67:	8b 75 d4             	mov    -0x2c(%ebp),%esi
437f6a:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
437f6f:	8b c6                	mov    %esi,%eax
437f71:	23 c1                	and    %ecx,%eax
437f73:	3b c1                	cmp    %ecx,%eax
437f75:	0f 85 85 00 00 00    	jne    0x438000
437f7b:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
437f7f:	74 7f                	je     0x438000
437f81:	ff 75 f8             	push   -0x8(%ebp)
437f84:	ff 15 68 e0 43 00    	call   *0x43e068
437f8a:	83 ec 18             	sub    $0x18,%esp
437f8d:	8d 45 e8             	lea    -0x18(%ebp),%eax
437f90:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
437f96:	89 75 d4             	mov    %esi,-0x2c(%ebp)
437f99:	8d 75 d0             	lea    -0x30(%ebp),%esi
437f9c:	6a 06                	push   $0x6
437f9e:	59                   	pop    %ecx
437f9f:	8b fc                	mov    %esp,%edi
437fa1:	50                   	push   %eax
437fa2:	ff 75 10             	push   0x10(%ebp)
437fa5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
437fa7:	e8 78 fa ff ff       	call   0x437a24
437fac:	8b d0                	mov    %eax,%edx
437fae:	83 c4 20             	add    $0x20,%esp
437fb1:	83 fa ff             	cmp    $0xffffffff,%edx
437fb4:	75 32                	jne    0x437fe8
437fb6:	ff 15 6c e0 43 00    	call   *0x43e06c