401c91:	b0 01                	mov    $0x1,%al
401c93:	66 09 8e 86 00 00 00 	or     %cx,0x86(%esi)
401c9a:	5f                   	pop    %edi
401c9b:	5e                   	pop    %esi
401c9c:	5b                   	pop    %ebx
401c9d:	5d                   	pop    %ebp
401c9e:	c2 24 00             	ret    $0x24
401ca1:	89 82 c8 01 00 00    	mov    %eax,0x1c8(%edx)
401ca7:	eb e3                	jmp    0x401c8c
401ca9:	8b da                	mov    %edx,%ebx
401cab:	e9 4a ff ff ff       	jmp    0x401bfa
401cb0:	8b fa                	mov    %edx,%edi
401cb2:	e9 4f ff ff ff       	jmp    0x401c06
401cb7:	32 c0                	xor    %al,%al
401cb9:	eb df                	jmp    0x401c9a
401cbb:	8b 09                	mov    (%ecx),%ecx
401cbd:	eb c7                	jmp    0x401c86
401cbf:	55                   	push   %ebp
401cc0:	8b ec                	mov    %esp,%ebp
401cc2:	8b 45 08             	mov    0x8(%ebp),%eax
401cc5:	56                   	push   %esi
401cc6:	57                   	push   %edi
401cc7:	33 ff                	xor    %edi,%edi
401cc9:	8b b0 80 00 00 00    	mov    0x80(%eax),%esi
401ccf:	8d 46 04             	lea    0x4(%esi),%eax
401cd2:	39 38                	cmp    %edi,(%eax)
401cd4:	75 5b                	jne    0x401d31
401cd6:	8b 46 0c             	mov    0xc(%esi),%eax
401cd9:	03 45 18             	add    0x18(%ebp),%eax
401cdc:	3d 00 01 00 00       	cmp    $0x100,%eax
401ce1:	0f 8d 10 a0 03 00    	jge    0x43bcf7
401ce7:	8b 7e 0c             	mov    0xc(%esi),%edi
401cea:	8b 45 0c             	mov    0xc(%ebp),%eax
401ced:	88 84 37 10 08 00 00 	mov    %al,0x810(%edi,%esi,1)
401cf4:	83 f8 08             	cmp    $0x8,%eax
401cf7:	74 1a                	je     0x401d13
401cf9:	8b 45 10             	mov    0x10(%ebp),%eax
401cfc:	89 44 fe 10          	mov    %eax,0x10(%esi,%edi,8)
401d00:	8b 45 14             	mov    0x14(%ebp),%eax
401d03:	89 44 fe 14          	mov    %eax,0x14(%esi,%edi,8)
401d07:	8d 47 01             	lea    0x1(%edi),%eax
401d0a:	5f                   	pop    %edi
401d0b:	89 46 0c             	mov    %eax,0xc(%esi)
401d0e:	5e                   	pop    %esi
401d0f:	5d                   	pop    %ebp
401d10:	c2 14 00             	ret    $0x14
401d13:	83 7d 10 ff          	cmpl   $0xffffffff,0x10(%ebp)
401d17:	74 08                	je     0x401d21
401d19:	8d 4d 10             	lea    0x10(%ebp),%ecx
401d1c:	e8 0e 15 00 00       	call   0x40322f
401d21:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
401d25:	74 d2                	je     0x401cf9
401d27:	8d 4d 14             	lea    0x14(%ebp),%ecx
401d2a:	e8 00 15 00 00       	call   0x40322f
401d2f:	eb c8                	jmp    0x401cf9
401d31:	8b 30                	mov    (%eax),%esi
401d33:	eb 9a                	jmp    0x401ccf
401d35:	55                   	push   %ebp
401d36:	8b ec                	mov    %esp,%ebp
401d38:	8b 4d 18             	mov    0x18(%ebp),%ecx
401d3b:	8b 45 0c             	mov    0xc(%ebp),%eax
401d3e:	81 c9 00 00 00 50    	or     $0x50000000,%ecx
401d44:	a9 00 00 08 00       	test   $0x80000,%eax
401d49:	75 61                	jne    0x401dac
401d4b:	53                   	push   %ebx
401d4c:	56                   	push   %esi
401d4d:	57                   	push   %edi
401d4e:	8b 7d 08             	mov    0x8(%ebp),%edi
401d51:	33 db                	xor    %ebx,%ebx
401d53:	53                   	push   %ebx
401d54:	ff 35 04 68 4c 00    	push   0x4c6804
401d5a:	ff 75 2c             	push   0x2c(%ebp)
401d5d:	ff 37                	push   (%edi)
401d5f:	ff 75 28             	push   0x28(%ebp)
401d62:	ff 75 24             	push   0x24(%ebp)
401d65:	ff 75 20             	push   0x20(%ebp)
401d68:	ff 75 1c             	push   0x1c(%ebp)
401d6b:	51                   	push   %ecx
401d6c:	ff 75 14             	push   0x14(%ebp)
401d6f:	ff 75 10             	push   0x10(%ebp)
401d72:	50                   	push   %eax
401d73:	ff 15 20 f7 48 00    	call   *0x48f720
401d79:	8b f0                	mov    %eax,%esi
401d7b:	85 f6                	test   %esi,%esi
401d7d:	74 24                	je     0x401da3
401d7f:	38 5d 34             	cmp    %bl,0x34(%ebp)
401d82:	74 13                	je     0x401d97
401d84:	53                   	push   %ebx
401d85:	6a 11                	push   $0x11
401d87:	ff 15 14 f1 48 00    	call   *0x48f114
401d8d:	50                   	push   %eax
401d8e:	6a 30                	push   $0x30
401d90:	56                   	push   %esi
401d91:	ff 15 88 f6 48 00    	call   *0x48f688
401d97:	39 9f 8c 01 00 00    	cmp    %ebx,0x18c(%edi)
401d9d:	0f 8d 71 9f 03 00    	jge    0x43bd14
401da3:	5f                   	pop    %edi
401da4:	8b c6                	mov    %esi,%eax
401da6:	5e                   	pop    %esi
401da7:	5b                   	pop    %ebx
401da8:	5d                   	pop    %ebp
401da9:	c2 30 00             	ret    $0x30
401dac:	25 ff ff f7 ff       	and    $0xfff7ffff,%eax
401db1:	eb 98                	jmp    0x401d4b
401db3:	55                   	push   %ebp
401db4:	8b ec                	mov    %esp,%ebp
401db6:	83 ec 38             	sub    $0x38,%esp
401db9:	53                   	push   %ebx
401dba:	56                   	push   %esi
401dbb:	8b 75 08             	mov    0x8(%ebp),%esi
401dbe:	57                   	push   %edi
401dbf:	80 7e 3a 00          	cmpb   $0x0,0x3a(%esi)
401dc3:	0f 85 6d 01 00 00    	jne    0x401f36
401dc9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
401dcc:	0f b7 83 86 00 00 00 	movzwl 0x86(%ebx),%eax
401dd3:	89 45 ec             	mov    %eax,-0x14(%ebp)
401dd6:	8d 45 cc             	lea    -0x34(%ebp),%eax
401dd9:	50                   	push   %eax
401dda:	ff 36                	push   (%esi)
401ddc:	ff 15 34 f6 48 00    	call   *0x48f634
401de2:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
401de5:	8b 45 d8             	mov    -0x28(%ebp),%eax
401de8:	8b 56 44             	mov    0x44(%esi),%edx
401deb:	8b 7e 48             	mov    0x48(%esi),%edi
401dee:	89 4d 10             	mov    %ecx,0x10(%ebp)
401df1:	89 45 0c             	mov    %eax,0xc(%ebp)
401df4:	89 55 f8             	mov    %edx,-0x8(%ebp)
401df7:	89 7d 08             	mov    %edi,0x8(%ebp)
401dfa:	85 c9                	test   %ecx,%ecx
401dfc:	0f 84 4f 9f 03 00    	je     0x43bd51
401e02:	85 c0                	test   %eax,%eax
401e04:	0f 84 5e 9f 03 00    	je     0x43bd68
401e0a:	83 be 9c 01 00 00 00 	cmpl   $0x0,0x19c(%esi)
401e11:	0f 85 68 9f 03 00    	jne    0x43bd7f
401e17:	8d 45 cc             	lea    -0x34(%ebp),%eax
401e1a:	50                   	push   %eax
401e1b:	ff 33                	push   (%ebx)
401e1d:	ff 15 94 f6 48 00    	call   *0x48f694
401e23:	8b 45 d4             	mov    -0x2c(%ebp),%eax
401e26:	8b 4d cc             	mov    -0x34(%ebp),%ecx
401e29:	2b c1                	sub    %ecx,%eax
401e2b:	8b 55 d8             	mov    -0x28(%ebp),%edx
401e2e:	89 45 f4             	mov    %eax,-0xc(%ebp)
401e31:	8b 45 d0             	mov    -0x30(%ebp),%eax
401e34:	2b d0                	sub    %eax,%edx
401e36:	89 45 e8             	mov    %eax,-0x18(%ebp)
401e39:	8d 45 e4             	lea    -0x1c(%ebp),%eax
401e3c:	50                   	push   %eax
401e3d:	ff 36                	push   (%esi)
401e3f:	89 55 f0             	mov    %edx,-0x10(%ebp)
401e42:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
401e45:	ff 15 70 f6 48 00    	call   *0x48f670
401e4b:	8b 7d e4             	mov    -0x1c(%ebp),%edi
401e4e:	8b c7                	mov    %edi,%eax
401e50:	0f af 45 f8          	imul   -0x8(%ebp),%eax
401e54:	8b 75 e8             	mov    -0x18(%ebp),%esi
401e57:	8b 4d ec             	mov    -0x14(%ebp),%ecx
401e5a:	99                   	cltd
401e5b:	f7 7d 10             	idivl  0x10(%ebp)
401e5e:	66 89 83 88 00 00 00 	mov    %ax,0x88(%ebx)
401e65:	8b c6                	mov    %esi,%eax
401e67:	0f af 45 08          	imul   0x8(%ebp),%eax
401e6b:	99                   	cltd
401e6c:	f7 7d 0c             	idivl  0xc(%ebp)
401e6f:	66 89 83 8a 00 00 00 	mov    %ax,0x8a(%ebx)
401e76:	8b 45 f4             	mov    -0xc(%ebp),%eax
401e79:	0f af 45 f8          	imul   -0x8(%ebp),%eax
401e7d:	99                   	cltd
401e7e:	f7 7d 10             	idivl  0x10(%ebp)
401e81:	66 89 83 8c 00 00 00 	mov    %ax,0x8c(%ebx)
401e88:	8b 45 f0             	mov    -0x10(%ebp),%eax
401e8b:	0f af 45 08          	imul   0x8(%ebp),%eax
401e8f:	99                   	cltd
401e90:	f7 7d 0c             	idivl  0xc(%ebp)
401e93:	66 89 83 8e 00 00 00 	mov    %ax,0x8e(%ebx)
401e9a:	66 85 c9             	test   %cx,%cx
401e9d:	0f 84 8a 00 00 00    	je     0x401f2d
401ea3:	f7 c1 00 01 00 00    	test   $0x100,%ecx
401ea9:	74 28                	je     0x401ed3
401eab:	8b 45 f4             	mov    -0xc(%ebp),%eax
401eae:	66 89 83 8c 00 00 00 	mov    %ax,0x8c(%ebx)
401eb5:	f6 c1 06             	test   $0x6,%cl
401eb8:	75 19                	jne    0x401ed3
401eba:	f6 c1 08             	test   $0x8,%cl
401ebd:	0f 85 ce 9e 03 00    	jne    0x43bd91
401ec3:	8b 45 10             	mov    0x10(%ebp),%eax
401ec6:	99                   	cltd
401ec7:	2b c2                	sub    %edx,%eax
401ec9:	d1 f8                	sar    $1,%eax
401ecb:	3b f8                	cmp    %eax,%edi
401ecd:	0f 8f dc 9e 03 00    	jg     0x43bdaf
401ed3:	f7 c1 00 02 00 00    	test   $0x200,%ecx
401ed9:	74 27                	je     0x401f02
401edb:	8b 45 f0             	mov    -0x10(%ebp),%eax
401ede:	66 89 83 8e 00 00 00 	mov    %ax,0x8e(%ebx)
401ee5:	f6 c1 60             	test   $0x60,%cl
401ee8:	75 18                	jne    0x401f02
401eea:	84 c9                	test   %cl,%cl
401eec:	0f 88 df 9e 03 00    	js     0x43bdd1
401ef2:	8b 45 0c             	mov    0xc(%ebp),%eax
401ef5:	99                   	cltd
401ef6:	2b c2                	sub    %edx,%eax
401ef8:	d1 f8                	sar    $1,%eax
401efa:	3b f0                	cmp    %eax,%esi
401efc:	0f 8f ed 9e 03 00    	jg     0x43bdef
401f02:	8b 55 08             	mov    0x8(%ebp),%edx
401f05:	8b c1                	mov    %ecx,%eax
401f07:	83 e0 02             	and    $0x2,%eax
401f0a:	0f 85 03 9f 03 00    	jne    0x43be13
401f10:	f6 c1 04             	test   $0x4,%cl
401f13:	0f 85 06 9f 03 00    	jne    0x43be1f
401f19:	8b c1                	mov    %ecx,%eax
401f1b:	83 e0 20             	and    $0x20,%eax
401f1e:	0f 85 3d 9f 03 00    	jne    0x43be61
401f24:	f6 c1 40             	test   $0x40,%cl
401f27:	0f 85 40 9f 03 00    	jne    0x43be6d
401f2d:	5f                   	pop    %edi
401f2e:	5e                   	pop    %esi
401f2f:	5b                   	pop    %ebx
401f30:	8b e5                	mov    %ebp,%esp
401f32:	5d                   	pop    %ebp
401f33:	c2 0c 00             	ret    $0xc
401f36:	8b 7d 0c             	mov    0xc(%ebp),%edi
401f39:	66 8b 46 58          	mov    0x58(%esi),%ax
401f3d:	80 bf 90 00 00 00 07 	cmpb   $0x7,0x90(%edi)
401f44:	66 89 87 88 00 00 00 	mov    %ax,0x88(%edi)
401f4b:	66 8b 46 5c          	mov    0x5c(%esi),%ax
401f4f:	66 89 87 8a 00 00 00 	mov    %ax,0x8a(%edi)
401f56:	74 5f                	je     0x401fb7
401f58:	66 8b 46 60          	mov    0x60(%esi),%ax
401f5c:	66 89 87 8c 00 00 00 	mov    %ax,0x8c(%edi)
401f63:	66 8b 46 64          	mov    0x64(%esi),%ax
401f67:	66 89 87 8e 00 00 00 	mov    %ax,0x8e(%edi)
401f6e:	8d 45 dc             	lea    -0x24(%ebp),%eax
401f71:	50                   	push   %eax
401f72:	ff 37                	push   (%edi)
401f74:	ff 15 34 f6 48 00    	call   *0x48f634
401f7a:	83 cb ff             	or     $0xffffffff,%ebx
401f7d:	39 5e 58             	cmp    %ebx,0x58(%esi)
401f80:	74 3d                	je     0x401fbf
401f82:	39 5e 5c             	cmp    %ebx,0x5c(%esi)
401f85:	74 45                	je     0x401fcc
401f87:	8d 45 dc             	lea    -0x24(%ebp),%eax
401f8a:	50                   	push   %eax
401f8b:	ff 37                	push   (%edi)
401f8d:	ff 15 94 f6 48 00    	call   *0x48f694
401f93:	39 5e 60             	cmp    %ebx,0x60(%esi)
401f96:	0f 84 91 9d 03 00    	je     0x43bd2d
401f9c:	39 5e 64             	cmp    %ebx,0x64(%esi)
401f9f:	0f 84 9a 9d 03 00    	je     0x43bd3f
401fa5:	80 bf 90 00 00 00 00 	cmpb   $0x0,0x90(%edi)
401fac:	0f 85 7b ff ff ff    	jne    0x401f2d
401fb2:	e9 88 9d 03 00       	jmp    0x43bd3f
401fb7:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
401fbb:	74 b1                	je     0x401f6e
401fbd:	eb 99                	jmp    0x401f58
401fbf:	66 8b 45 dc          	mov    -0x24(%ebp),%ax
401fc3:	66 89 87 88 00 00 00 	mov    %ax,0x88(%edi)
401fca:	eb b6                	jmp    0x401f82
401fcc:	66 8b 45 e0          	mov    -0x20(%ebp),%ax
401fd0:	66 89 87 8a 00 00 00 	mov    %ax,0x8a(%edi)
401fd7:	eb ae                	jmp    0x401f87
401fd9:	55                   	push   %ebp
401fda:	8b ec                	mov    %esp,%ebp
401fdc:	a1 b4 67 4c 00       	mov    0x4c67b4,%eax
401fe1:	8b 4d 18             	mov    0x18(%ebp),%ecx
401fe4:	83 f8 01             	cmp    $0x1,%eax
401fe7:	0f 85 c1 9e 03 00    	jne    0x43beae
401fed:	8b 45 08             	mov    0x8(%ebp),%eax
401ff0:	83 f8 ff             	cmp    $0xffffffff,%eax
401ff3:	74 03                	je     0x401ff8
401ff5:	89 41 58             	mov    %eax,0x58(%ecx)
401ff8:	8b 45 0c             	mov    0xc(%ebp),%eax
401ffb:	83 f8 ff             	cmp    $0xffffffff,%eax
401ffe:	74 03                	je     0x402003
402000:	89 41 5c             	mov    %eax,0x5c(%ecx)
402003:	8b 45 10             	mov    0x10(%ebp),%eax
402006:	85 c0                	test   %eax,%eax
402008:	7e 03                	jle    0x40200d
40200a:	89 41 60             	mov    %eax,0x60(%ecx)
40200d:	8b 45 14             	mov    0x14(%ebp),%eax
402010:	85 c0                	test   %eax,%eax
402012:	7e 03                	jle    0x402017
402014:	89 41 64             	mov    %eax,0x64(%ecx)
402017:	5d                   	pop    %ebp
402018:	c2 14 00             	ret    $0x14
40201b:	55                   	push   %ebp
40201c:	8b ec                	mov    %esp,%ebp
40201e:	51                   	push   %ecx
40201f:	a1 10 68 4c 00       	mov    0x4c6810,%eax
402024:	56                   	push   %esi
402025:	8b 75 08             	mov    0x8(%ebp),%esi
402028:	57                   	push   %edi
402029:	6a 00                	push   $0x0
40202b:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40202e:	8b 38                	mov    (%eax),%edi
402030:	57                   	push   %edi
402031:	e8 0b fb ff ff       	call   0x401b41
402036:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
40203a:	0f 85 b3 9e 03 00    	jne    0x43bef3
402040:	8b 0d 34 68 4c 00    	mov    0x4c6834,%ecx
402046:	6a 03                	push   $0x3
402048:	5a                   	pop    %edx
402049:	89 55 fc             	mov    %edx,-0x4(%ebp)
40204c:	3b ca                	cmp    %edx,%ecx
40204e:	0f 8c ad 00 00 00    	jl     0x402101
402054:	a1 24 68 4c 00       	mov    0x4c6824,%eax
402059:	8b 04 90             	mov    (%eax,%edx,4),%eax
40205c:	8b 30                	mov    (%eax),%esi
40205e:	85 f6                	test   %esi,%esi
402060:	0f 84 8c 00 00 00    	je     0x4020f2
402066:	8b 46 04             	mov    0x4(%esi),%eax
402069:	3b 47 04             	cmp    0x4(%edi),%eax
40206c:	0f 85 80 00 00 00    	jne    0x4020f2
402072:	0f b6 86 90 00 00 00 	movzbl 0x90(%esi),%eax
402079:	83 e8 0a             	sub    $0xa,%eax
40207c:	0f 84 cb 9e 03 00    	je     0x43bf4d
402082:	83 e8 06             	sub    $0x6,%eax
402085:	0f 84 c2 9e 03 00    	je     0x43bf4d
40208b:	83 e8 03             	sub    $0x3,%eax
40208e:	0f 84 8a 9e 03 00    	je     0x43bf1e
402094:	83 e8 08             	sub    $0x8,%eax
402097:	0f 85 68 9e 03 00    	jne    0x43bf05
40209d:	56                   	push   %esi
40209e:	57                   	push   %edi
40209f:	e8 9d fa ff ff       	call   0x401b41
4020a4:	83 7e 64 00          	cmpl   $0x0,0x64(%esi)
4020a8:	0f 85 bb 9e 03 00    	jne    0x43bf69
4020ae:	83 7e 68 00          	cmpl   $0x0,0x68(%esi)
4020b2:	0f 85 c3 9e 03 00    	jne    0x43bf7b
4020b8:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
4020bc:	0f 85 cb 9e 03 00    	jne    0x43bf8d
4020c2:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
4020c6:	0f 85 d3 9e 03 00    	jne    0x43bf9f
4020cc:	83 3e 00             	cmpl   $0x0,(%esi)
4020cf:	74 0b                	je     0x4020dc
4020d1:	ff 36                	push   (%esi)
4020d3:	ff 15 3c f6 48 00    	call   *0x48f63c
4020d9:	83 26 00             	andl   $0x0,(%esi)
4020dc:	ff 75 fc             	push   -0x4(%ebp)
4020df:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
4020e4:	e8 84 03 00 00       	call   0x40246d
4020e9:	8b 0d 34 68 4c 00    	mov    0x4c6834,%ecx
4020ef:	8b 55 fc             	mov    -0x4(%ebp),%edx
4020f2:	42                   	inc    %edx
4020f3:	89 55 fc             	mov    %edx,-0x4(%ebp)
4020f6:	3b d1                	cmp    %ecx,%edx
4020f8:	0f 8e 56 ff ff ff    	jle    0x402054
4020fe:	8b 75 08             	mov    0x8(%ebp),%esi
402101:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)