41dd19:	8b f0                	mov    %eax,%esi
41dd1b:	57                   	push   %edi
41dd1c:	33 ff                	xor    %edi,%edi
41dd1e:	85 f6                	test   %esi,%esi
41dd20:	74 59                	je     0x41dd7b
41dd22:	8b 45 fc             	mov    -0x4(%ebp),%eax
41dd25:	8b 08                	mov    (%eax),%ecx
41dd27:	83 f9 ff             	cmp    $0xffffffff,%ecx
41dd2a:	74 44                	je     0x41dd70
41dd2c:	83 f9 fe             	cmp    $0xfffffffe,%ecx
41dd2f:	74 3f                	je     0x41dd70
41dd31:	8a 54 1f 04          	mov    0x4(%edi,%ebx,1),%dl
41dd35:	f6 c2 01             	test   $0x1,%dl
41dd38:	74 36                	je     0x41dd70
41dd3a:	f6 c2 08             	test   $0x8,%dl
41dd3d:	75 0b                	jne    0x41dd4a
41dd3f:	51                   	push   %ecx
41dd40:	ff 15 b0 10 43 00    	call   *0x4310b0
41dd46:	85 c0                	test   %eax,%eax
41dd48:	74 23                	je     0x41dd6d
41dd4a:	8b c7                	mov    %edi,%eax
41dd4c:	8b cf                	mov    %edi,%ecx
41dd4e:	83 e0 3f             	and    $0x3f,%eax
41dd51:	c1 f9 06             	sar    $0x6,%ecx
41dd54:	6b d0 38             	imul   $0x38,%eax,%edx
41dd57:	8b 45 fc             	mov    -0x4(%ebp),%eax
41dd5a:	03 14 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%edx
41dd61:	8b 00                	mov    (%eax),%eax
41dd63:	89 42 18             	mov    %eax,0x18(%edx)
41dd66:	8a 44 1f 04          	mov    0x4(%edi,%ebx,1),%al
41dd6a:	88 42 28             	mov    %al,0x28(%edx)
41dd6d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41dd70:	47                   	inc    %edi
41dd71:	83 c0 04             	add    $0x4,%eax
41dd74:	89 45 fc             	mov    %eax,-0x4(%ebp)
41dd77:	3b fe                	cmp    %esi,%edi
41dd79:	75 aa                	jne    0x41dd25
41dd7b:	5f                   	pop    %edi
41dd7c:	5e                   	pop    %esi
41dd7d:	5b                   	pop    %ebx
41dd7e:	c9                   	leave
41dd7f:	c3                   	ret
41dd80:	8b ff                	mov    %edi,%edi
41dd82:	53                   	push   %ebx
41dd83:	56                   	push   %esi
41dd84:	57                   	push   %edi
41dd85:	33 ff                	xor    %edi,%edi
41dd87:	8b c7                	mov    %edi,%eax
41dd89:	8b cf                	mov    %edi,%ecx
41dd8b:	83 e0 3f             	and    $0x3f,%eax
41dd8e:	c1 f9 06             	sar    $0x6,%ecx
41dd91:	6b f0 38             	imul   $0x38,%eax,%esi
41dd94:	03 34 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%esi
41dd9b:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
41dd9f:	74 0c                	je     0x41ddad
41dda1:	83 7e 18 fe          	cmpl   $0xfffffffe,0x18(%esi)
41dda5:	74 06                	je     0x41ddad
41dda7:	80 4e 28 80          	orb    $0x80,0x28(%esi)
41ddab:	eb 75                	jmp    0x41de22
41ddad:	8b c7                	mov    %edi,%eax
41ddaf:	c6 46 28 81          	movb   $0x81,0x28(%esi)
41ddb3:	83 e8 00             	sub    $0x0,%eax
41ddb6:	74 10                	je     0x41ddc8
41ddb8:	83 e8 01             	sub    $0x1,%eax
41ddbb:	74 07                	je     0x41ddc4
41ddbd:	83 e8 01             	sub    $0x1,%eax
41ddc0:	6a f4                	push   $0xfffffff4
41ddc2:	eb 06                	jmp    0x41ddca
41ddc4:	6a f5                	push   $0xfffffff5
41ddc6:	eb 02                	jmp    0x41ddca
41ddc8:	6a f6                	push   $0xfffffff6
41ddca:	58                   	pop    %eax
41ddcb:	50                   	push   %eax
41ddcc:	ff 15 ac 10 43 00    	call   *0x4310ac
41ddd2:	8b d8                	mov    %eax,%ebx
41ddd4:	83 fb ff             	cmp    $0xffffffff,%ebx
41ddd7:	74 2b                	je     0x41de04
41ddd9:	85 db                	test   %ebx,%ebx
41dddb:	74 27                	je     0x41de04
41dddd:	53                   	push   %ebx
41ddde:	ff 15 b0 10 43 00    	call   *0x4310b0
41dde4:	85 c0                	test   %eax,%eax
41dde6:	74 1c                	je     0x41de04
41dde8:	0f b6 c0             	movzbl %al,%eax
41ddeb:	89 5e 18             	mov    %ebx,0x18(%esi)
41ddee:	83 f8 02             	cmp    $0x2,%eax
41ddf1:	75 06                	jne    0x41ddf9
41ddf3:	80 4e 28 40          	orb    $0x40,0x28(%esi)
41ddf7:	eb 29                	jmp    0x41de22
41ddf9:	83 f8 03             	cmp    $0x3,%eax
41ddfc:	75 24                	jne    0x41de22
41ddfe:	80 4e 28 08          	orb    $0x8,0x28(%esi)
41de02:	eb 1e                	jmp    0x41de22
41de04:	80 4e 28 40          	orb    $0x40,0x28(%esi)
41de08:	c7 46 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%esi)
41de0f:	a1 ec f7 43 00       	mov    0x43f7ec,%eax
41de14:	85 c0                	test   %eax,%eax
41de16:	74 0a                	je     0x41de22
41de18:	8b 04 b8             	mov    (%eax,%edi,4),%eax
41de1b:	c7 40 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%eax)
41de22:	47                   	inc    %edi
41de23:	83 ff 03             	cmp    $0x3,%edi
41de26:	0f 85 5b ff ff ff    	jne    0x41dd87
41de2c:	5f                   	pop    %edi
41de2d:	5e                   	pop    %esi
41de2e:	5b                   	pop    %ebx
41de2f:	c3                   	ret
41de30:	6a 0c                	push   $0xc
41de32:	68 40 ae 43 00       	push   $0x43ae40
41de37:	e8 94 c6 fe ff       	call   0x40a4d0
41de3c:	6a 07                	push   $0x7
41de3e:	e8 3f 55 00 00       	call   0x423382
41de43:	59                   	pop    %ecx
41de44:	33 db                	xor    %ebx,%ebx
41de46:	88 5d e7             	mov    %bl,-0x19(%ebp)
41de49:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41de4c:	53                   	push   %ebx
41de4d:	e8 30 2a 00 00       	call   0x420882
41de52:	59                   	pop    %ecx
41de53:	85 c0                	test   %eax,%eax
41de55:	75 0f                	jne    0x41de66
41de57:	e8 6e fe ff ff       	call   0x41dcca
41de5c:	e8 1f ff ff ff       	call   0x41dd80
41de61:	b3 01                	mov    $0x1,%bl
41de63:	88 5d e7             	mov    %bl,-0x19(%ebp)
41de66:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41de6d:	e8 15 00 00 00       	call   0x41de87
41de72:	8a c3                	mov    %bl,%al
41de74:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41de77:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41de7e:	59                   	pop    %ecx
41de7f:	5f                   	pop    %edi
41de80:	5e                   	pop    %esi
41de81:	5b                   	pop    %ebx
41de82:	c9                   	leave
41de83:	c3                   	ret
41de84:	8a 5d e7             	mov    -0x19(%ebp),%bl
41de87:	6a 07                	push   $0x7
41de89:	e8 3c 55 00 00       	call   0x4233ca
41de8e:	59                   	pop    %ecx
41de8f:	c3                   	ret
41de90:	8b ff                	mov    %edi,%edi
41de92:	56                   	push   %esi
41de93:	33 f6                	xor    %esi,%esi
41de95:	8b 86 00 f8 43 00    	mov    0x43f800(%esi),%eax
41de9b:	85 c0                	test   %eax,%eax
41de9d:	74 0e                	je     0x41dead
41de9f:	50                   	push   %eax
41dea0:	e8 a8 29 00 00       	call   0x42084d
41dea5:	83 a6 00 f8 43 00 00 	andl   $0x0,0x43f800(%esi)
41deac:	59                   	pop    %ecx
41dead:	83 c6 04             	add    $0x4,%esi
41deb0:	81 fe 00 02 00 00    	cmp    $0x200,%esi
41deb6:	72 dd                	jb     0x41de95
41deb8:	b0 01                	mov    $0x1,%al
41deba:	5e                   	pop    %esi
41debb:	c3                   	ret
41debc:	8b ff                	mov    %edi,%edi
41debe:	55                   	push   %ebp
41debf:	8b ec                	mov    %esp,%ebp
41dec1:	51                   	push   %ecx
41dec2:	e8 22 e4 ff ff       	call   0x41c2e9
41dec7:	8b 48 4c             	mov    0x4c(%eax),%ecx
41deca:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41decd:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41ded0:	51                   	push   %ecx
41ded1:	50                   	push   %eax
41ded2:	e8 7f ea ff ff       	call   0x41c956
41ded7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41deda:	59                   	pop    %ecx
41dedb:	59                   	pop    %ecx
41dedc:	8b 00                	mov    (%eax),%eax
41dede:	c9                   	leave
41dedf:	c3                   	ret
41dee0:	8b ff                	mov    %edi,%edi
41dee2:	55                   	push   %ebp
41dee3:	8b ec                	mov    %esp,%ebp
41dee5:	51                   	push   %ecx
41dee6:	51                   	push   %ecx
41dee7:	66 8b 45 08          	mov    0x8(%ebp),%ax
41deeb:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41def0:	56                   	push   %esi
41def1:	66 8b 75 0c          	mov    0xc(%ebp),%si
41def5:	0f b7 d6             	movzwl %si,%edx
41def8:	66 3b c1             	cmp    %cx,%ax
41defb:	74 47                	je     0x41df44
41defd:	b9 00 01 00 00       	mov    $0x100,%ecx
41df02:	66 3b c1             	cmp    %cx,%ax
41df05:	73 10                	jae    0x41df17
41df07:	0f b7 c8             	movzwl %ax,%ecx
41df0a:	a1 0c d3 43 00       	mov    0x43d30c,%eax
41df0f:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
41df13:	23 c2                	and    %edx,%eax
41df15:	eb 2f                	jmp    0x41df46
41df17:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
41df1b:	33 c0                	xor    %eax,%eax
41df1d:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
41df21:	8d 45 fc             	lea    -0x4(%ebp),%eax
41df24:	50                   	push   %eax
41df25:	6a 01                	push   $0x1
41df27:	8d 45 f8             	lea    -0x8(%ebp),%eax
41df2a:	50                   	push   %eax
41df2b:	6a 01                	push   $0x1
41df2d:	e8 fc a2 00 00       	call   0x42822e
41df32:	83 c4 10             	add    $0x10,%esp
41df35:	85 c0                	test   %eax,%eax
41df37:	74 0b                	je     0x41df44
41df39:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
41df3d:	0f b7 ce             	movzwl %si,%ecx
41df40:	23 c1                	and    %ecx,%eax
41df42:	eb 02                	jmp    0x41df46
41df44:	33 c0                	xor    %eax,%eax
41df46:	5e                   	pop    %esi
41df47:	c9                   	leave
41df48:	c3                   	ret
41df49:	8b ff                	mov    %edi,%edi
41df4b:	55                   	push   %ebp
41df4c:	8b ec                	mov    %esp,%ebp
41df4e:	83 ec 20             	sub    $0x20,%esp
41df51:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41df56:	33 c5                	xor    %ebp,%eax
41df58:	89 45 fc             	mov    %eax,-0x4(%ebp)
41df5b:	ff 75 10             	push   0x10(%ebp)
41df5e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41df61:	e8 8e 52 ff ff       	call   0x4131f4
41df66:	8b 55 08             	mov    0x8(%ebp),%edx
41df69:	83 fa ff             	cmp    $0xffffffff,%edx
41df6c:	7c 13                	jl     0x41df81
41df6e:	81 fa ff 00 00 00    	cmp    $0xff,%edx
41df74:	7f 0b                	jg     0x41df81
41df76:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41df79:	8b 00                	mov    (%eax),%eax
41df7b:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
41df7f:	eb 74                	jmp    0x41dff5
41df81:	53                   	push   %ebx
41df82:	56                   	push   %esi
41df83:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41df86:	8b da                	mov    %edx,%ebx
41df88:	c1 fb 08             	sar    $0x8,%ebx
41df8b:	0f b6 cb             	movzbl %bl,%ecx
41df8e:	57                   	push   %edi
41df8f:	8b 06                	mov    (%esi),%eax
41df91:	33 ff                	xor    %edi,%edi
41df93:	66 39 3c 48          	cmp    %di,(%eax,%ecx,2)
41df97:	7d 10                	jge    0x41dfa9
41df99:	33 c9                	xor    %ecx,%ecx
41df9b:	88 5d f0             	mov    %bl,-0x10(%ebp)
41df9e:	6a 02                	push   $0x2
41dfa0:	88 55 f1             	mov    %dl,-0xf(%ebp)
41dfa3:	88 4d f2             	mov    %cl,-0xe(%ebp)
41dfa6:	58                   	pop    %eax
41dfa7:	eb 0b                	jmp    0x41dfb4
41dfa9:	33 c9                	xor    %ecx,%ecx
41dfab:	88 55 f0             	mov    %dl,-0x10(%ebp)
41dfae:	33 c0                	xor    %eax,%eax
41dfb0:	88 4d f1             	mov    %cl,-0xf(%ebp)
41dfb3:	40                   	inc    %eax
41dfb4:	6a 01                	push   $0x1
41dfb6:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41dfb9:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
41dfbd:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41dfc0:	ff 76 08             	push   0x8(%esi)
41dfc3:	51                   	push   %ecx
41dfc4:	50                   	push   %eax
41dfc5:	8d 45 f0             	lea    -0x10(%ebp),%eax
41dfc8:	50                   	push   %eax
41dfc9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41dfcc:	6a 01                	push   $0x1
41dfce:	50                   	push   %eax
41dfcf:	e8 60 65 00 00       	call   0x424534
41dfd4:	83 c4 1c             	add    $0x1c,%esp
41dfd7:	5f                   	pop    %edi
41dfd8:	5e                   	pop    %esi
41dfd9:	5b                   	pop    %ebx
41dfda:	85 c0                	test   %eax,%eax
41dfdc:	75 13                	jne    0x41dff1
41dfde:	38 45 ec             	cmp    %al,-0x14(%ebp)
41dfe1:	74 0a                	je     0x41dfed
41dfe3:	8b 45 e0             	mov    -0x20(%ebp),%eax
41dfe6:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
41dfed:	33 c0                	xor    %eax,%eax
41dfef:	eb 17                	jmp    0x41e008
41dff1:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
41dff5:	23 45 0c             	and    0xc(%ebp),%eax
41dff8:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
41dffc:	74 0a                	je     0x41e008
41dffe:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41e001:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41e008:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e00b:	33 cd                	xor    %ebp,%ecx
41e00d:	e8 95 bc fe ff       	call   0x409ca7
41e012:	c9                   	leave
41e013:	c3                   	ret
41e014:	8b ff                	mov    %edi,%edi
41e016:	55                   	push   %ebp
41e017:	8b ec                	mov    %esp,%ebp
41e019:	33 c9                	xor    %ecx,%ecx
41e01b:	5d                   	pop    %ebp
41e01c:	e9 7c 00 00 00       	jmp    0x41e09d
41e021:	6a 0c                	push   $0xc
41e023:	68 60 ae 43 00       	push   $0x43ae60
41e028:	e8 a3 c4 fe ff       	call   0x40a4d0
41e02d:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41e031:	8b 45 08             	mov    0x8(%ebp),%eax
41e034:	ff 30                	push   (%eax)
41e036:	e8 47 53 00 00       	call   0x423382
41e03b:	59                   	pop    %ecx
41e03c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41e040:	8b 45 0c             	mov    0xc(%ebp),%eax
41e043:	8b 00                	mov    (%eax),%eax
41e045:	ff 30                	push   (%eax)
41e047:	e8 77 f0 fe ff       	call   0x40d0c3
41e04c:	59                   	pop    %ecx
41e04d:	a3 ec fa 43 00       	mov    %eax,0x43faec
41e052:	6a 01                	push   $0x1
41e054:	68 14 e0 41 00       	push   $0x41e014
41e059:	ff 15 8c 10 43 00    	call   *0x43108c
41e05f:	8b f0                	mov    %eax,%esi
41e061:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41e066:	a3 ec fa 43 00       	mov    %eax,0x43faec
41e06b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41e06e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41e075:	e8 17 00 00 00       	call   0x41e091
41e07a:	8b c6                	mov    %esi,%eax
41e07c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e07f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41e086:	59                   	pop    %ecx
41e087:	5f                   	pop    %edi
41e088:	5e                   	pop    %esi
41e089:	5b                   	pop    %ebx
41e08a:	c9                   	leave
41e08b:	c2 0c 00             	ret    $0xc
41e08e:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41e091:	8b 4d 10             	mov    0x10(%ebp),%ecx
41e094:	ff 31                	push   (%ecx)
41e096:	e8 2f 53 00 00       	call   0x4233ca
41e09b:	59                   	pop    %ecx
41e09c:	c3                   	ret
41e09d:	8b ff                	mov    %edi,%edi
41e09f:	55                   	push   %ebp
41e0a0:	8b ec                	mov    %esp,%ebp
41e0a2:	8b 0d c0 d0 43 00    	mov    0x43d0c0,%ecx
41e0a8:	56                   	push   %esi
41e0a9:	8b 35 ec fa 43 00    	mov    0x43faec,%esi
41e0af:	83 e1 1f             	and    $0x1f,%ecx
41e0b2:	33 35 c0 d0 43 00    	xor    0x43d0c0,%esi
41e0b8:	6a 00                	push   $0x0
41e0ba:	6a 00                	push   $0x0
41e0bc:	ff 75 08             	push   0x8(%ebp)
41e0bf:	d3 ce                	ror    %cl,%esi