401cf6:	be 6b 00 00 00       	mov    $0x6b,%esi
401cfb:	2b f3                	sub    %ebx,%esi
401cfd:	3b fe                	cmp    %esi,%edi
401cff:	7c 25                	jl     0x401d26
401d01:	8b 54 24 64          	mov    0x64(%esp),%edx
401d05:	6a 00                	push   $0x0
401d07:	52                   	push   %edx
401d08:	c7 05 60 13 41 00 00 	movl   $0x0,0x411360
401d0f:	00 00 00
401d12:	e8 79 f7 ff ff       	call   0x401490
401d17:	83 c4 08             	add    $0x8,%esp
401d1a:	33 c0                	xor    %eax,%eax
401d1c:	5f                   	pop    %edi
401d1d:	5e                   	pop    %esi
401d1e:	5d                   	pop    %ebp
401d1f:	5b                   	pop    %ebx
401d20:	83 c4 50             	add    $0x50,%esp
401d23:	c2 10 00             	ret    $0x10
401d26:	85 d2                	test   %edx,%edx
401d28:	0f 85 51 06 00 00    	jne    0x40237f
401d2e:	0f bf f1             	movswl %cx,%esi
401d31:	81 fe b2 00 00 00    	cmp    $0xb2,%esi
401d37:	0f bf c0             	movswl %ax,%eax
401d3a:	0f 8c cc 00 00 00    	jl     0x401e0c
401d40:	81 fe 11 01 00 00    	cmp    $0x111,%esi
401d46:	7f 5a                	jg     0x401da2
401d48:	ba 2d 00 00 00       	mov    $0x2d,%edx
401d4d:	2b d3                	sub    %ebx,%edx
401d4f:	3b c2                	cmp    %edx,%eax
401d51:	7e 4f                	jle    0x401da2
401d53:	b9 47 00 00 00       	mov    $0x47,%ecx
401d58:	2b cb                	sub    %ebx,%ecx
401d5a:	3b c1                	cmp    %ecx,%eax
401d5c:	7d 44                	jge    0x401da2
401d5e:	81 fd b2 00 00 00    	cmp    $0xb2,%ebp
401d64:	7c 3c                	jl     0x401da2
401d66:	81 fd 11 01 00 00    	cmp    $0x111,%ebp
401d6c:	7f 34                	jg     0x401da2
401d6e:	0f bf 3d 50 12 41 00 	movswl 0x411250,%edi
401d75:	3b fa                	cmp    %edx,%edi
401d77:	7e 29                	jle    0x401da2
401d79:	3b f9                	cmp    %ecx,%edi
401d7b:	7d 25                	jge    0x401da2
401d7d:	8b 44 24 64          	mov    0x64(%esp),%eax
401d81:	6a 01                	push   $0x1
401d83:	50                   	push   %eax
401d84:	c7 05 5c 13 41 00 01 	movl   $0x1,0x41135c
401d8b:	00 00 00
401d8e:	e8 3d f7 ff ff       	call   0x4014d0
401d93:	83 c4 08             	add    $0x8,%esp
401d96:	33 c0                	xor    %eax,%eax
401d98:	5f                   	pop    %edi
401d99:	5e                   	pop    %esi
401d9a:	5d                   	pop    %ebp
401d9b:	5b                   	pop    %ebx
401d9c:	83 c4 50             	add    $0x50,%esp
401d9f:	c2 10 00             	ret    $0x10
401da2:	81 fe b2 00 00 00    	cmp    $0xb2,%esi
401da8:	7c 62                	jl     0x401e0c
401daa:	81 fe 11 01 00 00    	cmp    $0x111,%esi
401db0:	7f 5a                	jg     0x401e0c
401db2:	ba 51 00 00 00       	mov    $0x51,%edx
401db7:	2b d3                	sub    %ebx,%edx
401db9:	3b c2                	cmp    %edx,%eax
401dbb:	7e 4f                	jle    0x401e0c
401dbd:	b9 6b 00 00 00       	mov    $0x6b,%ecx
401dc2:	2b cb                	sub    %ebx,%ecx
401dc4:	3b c1                	cmp    %ecx,%eax
401dc6:	7d 44                	jge    0x401e0c
401dc8:	81 fd b2 00 00 00    	cmp    $0xb2,%ebp
401dce:	7c 3c                	jl     0x401e0c
401dd0:	81 fd 11 01 00 00    	cmp    $0x111,%ebp
401dd6:	7f 34                	jg     0x401e0c
401dd8:	0f bf 05 50 12 41 00 	movswl 0x411250,%eax
401ddf:	3b c2                	cmp    %edx,%eax
401de1:	7e 29                	jle    0x401e0c
401de3:	3b c1                	cmp    %ecx,%eax
401de5:	7d 25                	jge    0x401e0c
401de7:	8b 4c 24 64          	mov    0x64(%esp),%ecx
401deb:	6a 01                	push   $0x1
401ded:	51                   	push   %ecx
401dee:	c7 05 60 13 41 00 01 	movl   $0x1,0x411360
401df5:	00 00 00
401df8:	e8 93 f6 ff ff       	call   0x401490
401dfd:	83 c4 08             	add    $0x8,%esp
401e00:	33 c0                	xor    %eax,%eax
401e02:	5f                   	pop    %edi
401e03:	5e                   	pop    %esi
401e04:	5d                   	pop    %ebp
401e05:	5b                   	pop    %ebx
401e06:	83 c4 50             	add    $0x50,%esp
401e09:	c2 10 00             	ret    $0x10
401e0c:	a1 6c 13 41 00       	mov    0x41136c,%eax
401e11:	85 c0                	test   %eax,%eax
401e13:	0f 84 66 05 00 00    	je     0x40237f
401e19:	8b 74 24 64          	mov    0x64(%esp),%esi
401e1d:	8d 54 24 10          	lea    0x10(%esp),%edx
401e21:	52                   	push   %edx
401e22:	56                   	push   %esi
401e23:	ff 15 74 d1 40 00    	call   *0x40d174
401e29:	0f bf 3d 54 12 41 00 	movswl 0x411254,%edi
401e30:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
401e34:	8b 44 24 14          	mov    0x14(%esp),%eax
401e38:	8b 54 24 18          	mov    0x18(%esp),%edx
401e3c:	2b c8                	sub    %eax,%ecx
401e3e:	6a 01                	push   $0x1
401e40:	51                   	push   %ecx
401e41:	8b 4c 24 18          	mov    0x18(%esp),%ecx
401e45:	2b d1                	sub    %ecx,%edx
401e47:	52                   	push   %edx
401e48:	0f bf 15 50 12 41 00 	movswl 0x411250,%edx
401e4f:	2b fa                	sub    %edx,%edi
401e51:	0f bf 15 56 12 41 00 	movswl 0x411256,%edx
401e58:	03 f8                	add    %eax,%edi
401e5a:	0f bf 05 52 12 41 00 	movswl 0x411252,%eax
401e61:	2b d0                	sub    %eax,%edx
401e63:	57                   	push   %edi
401e64:	03 d1                	add    %ecx,%edx
401e66:	52                   	push   %edx
401e67:	56                   	push   %esi
401e68:	ff 15 78 d1 40 00    	call   *0x40d178
401e6e:	5f                   	pop    %edi
401e6f:	5e                   	pop    %esi
401e70:	5d                   	pop    %ebp
401e71:	33 c0                	xor    %eax,%eax
401e73:	5b                   	pop    %ebx
401e74:	83 c4 50             	add    $0x50,%esp
401e77:	c2 10 00             	ret    $0x10
401e7a:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
401e7e:	8b c1                	mov    %ecx,%eax
401e80:	25 ff ff 00 00       	and    $0xffff,%eax
401e85:	3d 03 80 00 00       	cmp    $0x8003,%eax
401e8a:	0f 8f 8d 00 00 00    	jg     0x401f1d
401e90:	74 63                	je     0x401ef5
401e92:	48                   	dec    %eax
401e93:	74 40                	je     0x401ed5
401e95:	48                   	dec    %eax
401e96:	74 20                	je     0x401eb8
401e98:	83 e8 67             	sub    $0x67,%eax
401e9b:	0f 85 8d 00 00 00    	jne    0x401f2e
401ea1:	8b 44 24 64          	mov    0x64(%esp),%eax
401ea5:	50                   	push   %eax
401ea6:	ff 15 7c d1 40 00    	call   *0x40d17c
401eac:	5f                   	pop    %edi
401ead:	5e                   	pop    %esi
401eae:	5d                   	pop    %ebp
401eaf:	33 c0                	xor    %eax,%eax
401eb1:	5b                   	pop    %ebx
401eb2:	83 c4 50             	add    $0x50,%esp
401eb5:	c2 10 00             	ret    $0x10
401eb8:	8b 4c 24 64          	mov    0x64(%esp),%ecx
401ebc:	6a 00                	push   $0x0
401ebe:	6a 00                	push   $0x0
401ec0:	6a 02                	push   $0x2
401ec2:	51                   	push   %ecx
401ec3:	ff 15 80 d1 40 00    	call   *0x40d180
401ec9:	5f                   	pop    %edi
401eca:	5e                   	pop    %esi
401ecb:	5d                   	pop    %ebp
401ecc:	33 c0                	xor    %eax,%eax
401ece:	5b                   	pop    %ebx
401ecf:	83 c4 50             	add    $0x50,%esp
401ed2:	c2 10 00             	ret    $0x10
401ed5:	8b 54 24 64          	mov    0x64(%esp),%edx
401ed9:	6a 00                	push   $0x0
401edb:	6a 00                	push   $0x0
401edd:	68 64 80 00 00       	push   $0x8064
401ee2:	52                   	push   %edx
401ee3:	ff 15 80 d1 40 00    	call   *0x40d180
401ee9:	5f                   	pop    %edi
401eea:	5e                   	pop    %esi
401eeb:	5d                   	pop    %ebp
401eec:	33 c0                	xor    %eax,%eax
401eee:	5b                   	pop    %ebx
401eef:	83 c4 50             	add    $0x50,%esp
401ef2:	c2 10 00             	ret    $0x10
401ef5:	a1 64 13 41 00       	mov    0x411364,%eax
401efa:	3d 0e 01 00 00       	cmp    $0x10e,%eax
401eff:	0f 8d 7a 04 00 00    	jge    0x40237f
401f05:	8b 74 24 64          	mov    0x64(%esp),%esi
401f09:	6a 00                	push   $0x0
401f0b:	50                   	push   %eax
401f0c:	56                   	push   %esi
401f0d:	e8 fe f5 ff ff       	call   0x401510
401f12:	a1 64 13 41 00       	mov    0x411364,%eax
401f17:	40                   	inc    %eax
401f18:	e9 d0 02 00 00       	jmp    0x4021ed
401f1d:	2d 04 80 00 00       	sub    $0x8004,%eax
401f22:	0f 84 d0 00 00 00    	je     0x401ff8
401f28:	48                   	dec    %eax
401f29:	74 77                	je     0x401fa2
401f2b:	48                   	dec    %eax
401f2c:	74 20                	je     0x401f4e
401f2e:	8b 44 24 70          	mov    0x70(%esp),%eax
401f32:	50                   	push   %eax
401f33:	51                   	push   %ecx
401f34:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
401f38:	68 11 01 00 00       	push   $0x111
401f3d:	51                   	push   %ecx
401f3e:	ff 15 84 d1 40 00    	call   *0x40d184
401f44:	5f                   	pop    %edi
401f45:	5e                   	pop    %esi
401f46:	5d                   	pop    %ebp
401f47:	5b                   	pop    %ebx
401f48:	83 c4 50             	add    $0x50,%esp
401f4b:	c2 10 00             	ret    $0x10
401f4e:	a1 64 13 41 00       	mov    0x411364,%eax
401f53:	85 c0                	test   %eax,%eax
401f55:	0f 8e 24 04 00 00    	jle    0x40237f
401f5b:	8b 74 24 64          	mov    0x64(%esp),%esi
401f5f:	6a 00                	push   $0x0
401f61:	50                   	push   %eax
401f62:	56                   	push   %esi
401f63:	e8 a8 f5 ff ff       	call   0x401510
401f68:	a1 64 13 41 00       	mov    0x411364,%eax
401f6d:	83 c4 0c             	add    $0xc,%esp
401f70:	83 e8 0f             	sub    $0xf,%eax
401f73:	a3 64 13 41 00       	mov    %eax,0x411364
401f78:	79 0a                	jns    0x401f84
401f7a:	c7 05 64 13 41 00 00 	movl   $0x0,0x411364
401f81:	00 00 00
401f84:	8b 15 64 13 41 00    	mov    0x411364,%edx
401f8a:	6a 01                	push   $0x1
401f8c:	52                   	push   %edx
401f8d:	56                   	push   %esi
401f8e:	e8 7d f5 ff ff       	call   0x401510
401f93:	83 c4 0c             	add    $0xc,%esp
401f96:	33 c0                	xor    %eax,%eax
401f98:	5f                   	pop    %edi
401f99:	5e                   	pop    %esi
401f9a:	5d                   	pop    %ebp
401f9b:	5b                   	pop    %ebx
401f9c:	83 c4 50             	add    $0x50,%esp
401f9f:	c2 10 00             	ret    $0x10
401fa2:	a1 64 13 41 00       	mov    0x411364,%eax
401fa7:	3d 0e 01 00 00       	cmp    $0x10e,%eax
401fac:	0f 8d cd 03 00 00    	jge    0x40237f
401fb2:	8b 74 24 64          	mov    0x64(%esp),%esi
401fb6:	6a 00                	push   $0x0
401fb8:	50                   	push   %eax
401fb9:	56                   	push   %esi
401fba:	e8 51 f5 ff ff       	call   0x401510
401fbf:	a1 64 13 41 00       	mov    0x411364,%eax
401fc4:	83 c4 0c             	add    $0xc,%esp
401fc7:	83 c0 0f             	add    $0xf,%eax
401fca:	3d 0e 01 00 00       	cmp    $0x10e,%eax
401fcf:	a3 64 13 41 00       	mov    %eax,0x411364
401fd4:	7e 0a                	jle    0x401fe0
401fd6:	b8 0e 01 00 00       	mov    $0x10e,%eax
401fdb:	a3 64 13 41 00       	mov    %eax,0x411364
401fe0:	6a 01                	push   $0x1
401fe2:	50                   	push   %eax
401fe3:	56                   	push   %esi
401fe4:	e8 27 f5 ff ff       	call   0x401510
401fe9:	83 c4 0c             	add    $0xc,%esp
401fec:	33 c0                	xor    %eax,%eax
401fee:	5f                   	pop    %edi
401fef:	5e                   	pop    %esi
401ff0:	5d                   	pop    %ebp
401ff1:	5b                   	pop    %ebx
401ff2:	83 c4 50             	add    $0x50,%esp
401ff5:	c2 10 00             	ret    $0x10
401ff8:	a1 64 13 41 00       	mov    0x411364,%eax
401ffd:	85 c0                	test   %eax,%eax
401fff:	0f 8e 7a 03 00 00    	jle    0x40237f
402005:	8b 74 24 64          	mov    0x64(%esp),%esi
402009:	6a 00                	push   $0x0
40200b:	50                   	push   %eax
40200c:	56                   	push   %esi
40200d:	e8 fe f4 ff ff       	call   0x401510
402012:	a1 64 13 41 00       	mov    0x411364,%eax
402017:	48                   	dec    %eax
402018:	e9 d0 01 00 00       	jmp    0x4021ed
40201d:	8b 74 24 64          	mov    0x64(%esp),%esi
402021:	56                   	push   %esi
402022:	ff 15 88 d1 40 00    	call   *0x40d188
402028:	33 ff                	xor    %edi,%edi
40202a:	8b 4c 24 70          	mov    0x70(%esp),%ecx
40202e:	89 3d 6c 13 41 00    	mov    %edi,0x41136c
402034:	8b c1                	mov    %ecx,%eax
402036:	66 89 0d 56 12 41 00 	mov    %cx,0x411256
40203d:	c1 e8 10             	shr    $0x10,%eax
402040:	66 a3 54 12 41 00    	mov    %ax,0x411254
402046:	66 a3 50 12 41 00    	mov    %ax,0x411250
40204c:	0f bf d0             	movswl %ax,%edx
40204f:	0f bf c1             	movswl %cx,%eax
402052:	66 89 0d 52 12 41 00 	mov    %cx,0x411252
402059:	8b 0d 60 12 41 00    	mov    0x411260,%ecx
40205f:	3d b2 00 00 00       	cmp    $0xb2,%eax
402064:	89 3d a0 00 41 00    	mov    %edi,0x4100a0
40206a:	7c 3e                	jl     0x4020aa
40206c:	3d 11 01 00 00       	cmp    $0x111,%eax
402071:	7f 37                	jg     0x4020aa
402073:	bb 2d 00 00 00       	mov    $0x2d,%ebx
402078:	2b d9                	sub    %ecx,%ebx
40207a:	3b d3                	cmp    %ebx,%edx
40207c:	7e 2c                	jle    0x4020aa
40207e:	bb 47 00 00 00       	mov    $0x47,%ebx
402083:	2b d9                	sub    %ecx,%ebx
402085:	3b d3                	cmp    %ebx,%edx
402087:	7d 21                	jge    0x4020aa
402089:	6a 01                	push   $0x1
40208b:	56                   	push   %esi
40208c:	c7 05 5c 13 41 00 01 	movl   $0x1,0x41135c
402093:	00 00 00
402096:	e8 35 f4 ff ff       	call   0x4014d0
40209b:	83 c4 08             	add    $0x8,%esp
40209e:	33 c0                	xor    %eax,%eax
4020a0:	5f                   	pop    %edi
4020a1:	5e                   	pop    %esi
4020a2:	5d                   	pop    %ebp
4020a3:	5b                   	pop    %ebx
4020a4:	83 c4 50             	add    $0x50,%esp
4020a7:	c2 10 00             	ret    $0x10
4020aa:	3d b2 00 00 00       	cmp    $0xb2,%eax
4020af:	7c 3e                	jl     0x4020ef
4020b1:	3d 11 01 00 00       	cmp    $0x111,%eax
4020b6:	7f 37                	jg     0x4020ef
4020b8:	bb 51 00 00 00       	mov    $0x51,%ebx
4020bd:	2b d9                	sub    %ecx,%ebx
4020bf:	3b d3                	cmp    %ebx,%edx
4020c1:	7e 2c                	jle    0x4020ef
4020c3:	bb 6b 00 00 00       	mov    $0x6b,%ebx
4020c8:	2b d9                	sub    %ecx,%ebx
4020ca:	3b d3                	cmp    %ebx,%edx
4020cc:	7d 21                	jge    0x4020ef
4020ce:	6a 01                	push   $0x1
4020d0:	56                   	push   %esi
4020d1:	c7 05 60 13 41 00 01 	movl   $0x1,0x411360
4020d8:	00 00 00
4020db:	e8 b0 f3 ff ff       	call   0x401490
4020e0:	83 c4 08             	add    $0x8,%esp
4020e3:	33 c0                	xor    %eax,%eax
4020e5:	5f                   	pop    %edi
4020e6:	5e                   	pop    %esi
4020e7:	5d                   	pop    %ebp
4020e8:	5b                   	pop    %ebx
4020e9:	83 c4 50             	add    $0x50,%esp
4020ec:	c2 10 00             	ret    $0x10
4020ef:	83 f8 25             	cmp    $0x25,%eax
4020f2:	0f 8c bb 00 00 00    	jl     0x4021b3
4020f8:	83 f8 7d             	cmp    $0x7d,%eax
4020fb:	7f 32                	jg     0x40212f
4020fd:	bb 2b 00 00 00       	mov    $0x2b,%ebx
402102:	2b d9                	sub    %ecx,%ebx
402104:	3b d3                	cmp    %ebx,%edx
402106:	7c 27                	jl     0x40212f
402108:	bb 38 00 00 00       	mov    $0x38,%ebx
40210d:	2b d9                	sub    %ecx,%ebx
40210f:	3b d3                	cmp    %ebx,%edx