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
437fbc:	50                   	push   %eax
437fbd:	e8 14 ba fe ff       	call   0x4239d6
437fc2:	8b 0b                	mov    (%ebx),%ecx
437fc4:	8b c1                	mov    %ecx,%eax
437fc6:	83 e1 3f             	and    $0x3f,%ecx
437fc9:	c1 f8 06             	sar    $0x6,%eax
437fcc:	6b c9 38             	imul   $0x38,%ecx,%ecx
437fcf:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
437fd6:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
437fdb:	ff 33                	push   (%ebx)
437fdd:	e8 ee b2 ff ff       	call   0x4332d0
437fe2:	59                   	pop    %ecx
437fe3:	e9 15 fe ff ff       	jmp    0x437dfd
437fe8:	8b 0b                	mov    (%ebx),%ecx
437fea:	8b c1                	mov    %ecx,%eax
437fec:	c1 f8 06             	sar    $0x6,%eax
437fef:	83 e1 3f             	and    $0x3f,%ecx
437ff2:	6b c9 38             	imul   $0x38,%ecx,%ecx
437ff5:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
437ffc:	89 54 08 18          	mov    %edx,0x18(%eax,%ecx,1)
438000:	33 c0                	xor    %eax,%eax
438002:	5f                   	pop    %edi
438003:	5e                   	pop    %esi
438004:	5b                   	pop    %ebx
438005:	c9                   	leave
438006:	c3                   	ret
438007:	8b ff                	mov    %edi,%edi
438009:	55                   	push   %ebp
43800a:	8b ec                	mov    %esp,%ebp
43800c:	6a 01                	push   $0x1
43800e:	ff 75 08             	push   0x8(%ebp)
438011:	ff 75 18             	push   0x18(%ebp)
438014:	ff 75 14             	push   0x14(%ebp)
438017:	ff 75 10             	push   0x10(%ebp)
43801a:	ff 75 0c             	push   0xc(%ebp)
43801d:	e8 d1 f6 ff ff       	call   0x4376f3
438022:	83 c4 18             	add    $0x18,%esp
438025:	5d                   	pop    %ebp
438026:	c3                   	ret
438027:	8b ff                	mov    %edi,%edi
438029:	55                   	push   %ebp
43802a:	8b ec                	mov    %esp,%ebp
43802c:	51                   	push   %ecx
43802d:	e8 49 1b 00 00       	call   0x439b7b
438032:	85 c0                	test   %eax,%eax
438034:	74 1c                	je     0x438052
438036:	8d 45 fc             	lea    -0x4(%ebp),%eax
438039:	50                   	push   %eax
43803a:	8d 45 08             	lea    0x8(%ebp),%eax
43803d:	6a 01                	push   $0x1
43803f:	50                   	push   %eax
438040:	e8 72 1b 00 00       	call   0x439bb7
438045:	83 c4 0c             	add    $0xc,%esp
438048:	85 c0                	test   %eax,%eax
43804a:	74 06                	je     0x438052
43804c:	66 8b 45 08          	mov    0x8(%ebp),%ax
438050:	c9                   	leave
438051:	c3                   	ret
438052:	b8 ff ff 00 00       	mov    $0xffff,%eax
438057:	c9                   	leave
438058:	c3                   	ret
438059:	8b ff                	mov    %edi,%edi
43805b:	55                   	push   %ebp
43805c:	8b ec                	mov    %esp,%ebp
43805e:	53                   	push   %ebx
43805f:	56                   	push   %esi
438060:	57                   	push   %edi
438061:	33 ff                	xor    %edi,%edi
438063:	bb e3 00 00 00       	mov    $0xe3,%ebx
438068:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
43806b:	99                   	cltd
43806c:	2b c2                	sub    %edx,%eax
43806e:	8b f0                	mov    %eax,%esi
438070:	d1 fe                	sar    $1,%esi
438072:	6a 55                	push   $0x55
438074:	ff 34 f5 f0 49 44 00 	push   0x4449f0(,%esi,8)
43807b:	ff 75 08             	push   0x8(%ebp)
43807e:	e8 eb e3 fe ff       	call   0x42646e
438083:	83 c4 0c             	add    $0xc,%esp
438086:	85 c0                	test   %eax,%eax
438088:	74 13                	je     0x43809d
43808a:	79 05                	jns    0x438091
43808c:	8d 5e ff             	lea    -0x1(%esi),%ebx
43808f:	eb 03                	jmp    0x438094
438091:	8d 7e 01             	lea    0x1(%esi),%edi
438094:	3b fb                	cmp    %ebx,%edi
438096:	7e d0                	jle    0x438068
438098:	83 c8 ff             	or     $0xffffffff,%eax
43809b:	eb 07                	jmp    0x4380a4
43809d:	8b 04 f5 f4 49 44 00 	mov    0x4449f4(,%esi,8),%eax
4380a4:	5f                   	pop    %edi
4380a5:	5e                   	pop    %esi
4380a6:	5b                   	pop    %ebx
4380a7:	5d                   	pop    %ebp
4380a8:	c3                   	ret
4380a9:	8b ff                	mov    %edi,%edi
4380ab:	55                   	push   %ebp
4380ac:	8b ec                	mov    %esp,%ebp
4380ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
4380b1:	53                   	push   %ebx
4380b2:	56                   	push   %esi
4380b3:	57                   	push   %edi
4380b4:	85 c9                	test   %ecx,%ecx
4380b6:	74 4b                	je     0x438103
4380b8:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
4380be:	74 43                	je     0x438103
4380c0:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4380c6:	74 3b                	je     0x438103
4380c8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4380cc:	8b 75 10             	mov    0x10(%ebp),%esi
4380cf:	75 04                	jne    0x4380d5
4380d1:	85 f6                	test   %esi,%esi
4380d3:	7f 2e                	jg     0x438103
4380d5:	85 f6                	test   %esi,%esi
4380d7:	78 2a                	js     0x438103
4380d9:	33 ff                	xor    %edi,%edi
4380db:	bb e3 00 00 00       	mov    $0xe3,%ebx
4380e0:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4380e3:	99                   	cltd
4380e4:	2b c2                	sub    %edx,%eax
4380e6:	8b d1                	mov    %ecx,%edx
4380e8:	d1 f8                	sar    $1,%eax
4380ea:	2b 14 c5 d0 38 44 00 	sub    0x4438d0(,%eax,8),%edx
4380f1:	74 17                	je     0x43810a
4380f3:	85 d2                	test   %edx,%edx
4380f5:	79 05                	jns    0x4380fc
4380f7:	8d 58 ff             	lea    -0x1(%eax),%ebx
4380fa:	eb 03                	jmp    0x4380ff
4380fc:	8d 78 01             	lea    0x1(%eax),%edi
4380ff:	3b fb                	cmp    %ebx,%edi
438101:	7e dd                	jle    0x4380e0
438103:	33 c0                	xor    %eax,%eax
438105:	5f                   	pop    %edi
438106:	5e                   	pop    %esi
438107:	5b                   	pop    %ebx
438108:	5d                   	pop    %ebp
438109:	c3                   	ret
43810a:	85 c0                	test   %eax,%eax
43810c:	78 f5                	js     0x438103
43810e:	8b 1c c5 d4 38 44 00 	mov    0x4438d4(,%eax,8),%ebx
438115:	6a 55                	push   $0x55
438117:	53                   	push   %ebx
438118:	e8 be f3 fe ff       	call   0x4274db
43811d:	8b f8                	mov    %eax,%edi
43811f:	59                   	pop    %ecx
438120:	59                   	pop    %ecx
438121:	85 f6                	test   %esi,%esi
438123:	7e 15                	jle    0x43813a
438125:	3b fe                	cmp    %esi,%edi
438127:	7d da                	jge    0x438103
438129:	53                   	push   %ebx
43812a:	56                   	push   %esi
43812b:	ff 75 0c             	push   0xc(%ebp)
43812e:	e8 33 b7 fe ff       	call   0x423866
438133:	83 c4 0c             	add    $0xc,%esp
438136:	85 c0                	test   %eax,%eax
438138:	75 05                	jne    0x43813f
43813a:	8d 47 01             	lea    0x1(%edi),%eax
43813d:	eb c6                	jmp    0x438105
43813f:	33 c0                	xor    %eax,%eax
438141:	50                   	push   %eax
438142:	50                   	push   %eax
438143:	50                   	push   %eax
438144:	50                   	push   %eax
438145:	50                   	push   %eax
438146:	e8 65 78 fe ff       	call   0x41f9b0
43814b:	cc                   	int3
43814c:	8b ff                	mov    %edi,%edi
43814e:	55                   	push   %ebp
43814f:	8b ec                	mov    %esp,%ebp
438151:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
438155:	74 1d                	je     0x438174
438157:	ff 75 08             	push   0x8(%ebp)
43815a:	e8 fa fe ff ff       	call   0x438059
43815f:	59                   	pop    %ecx