405e9c:	eb e3                	jmp    0x405e81
405e9e:	83 ff 01             	cmp    $0x1,%edi
405ea1:	75 05                	jne    0x405ea8
405ea3:	83 c8 ff             	or     $0xffffffff,%eax
405ea6:	eb d9                	jmp    0x405e81
405ea8:	8b 46 04             	mov    0x4(%esi),%eax
405eab:	89 45 fc             	mov    %eax,-0x4(%ebp)
405eae:	8b 45 0c             	mov    0xc(%ebp),%eax
405eb1:	89 46 04             	mov    %eax,0x4(%esi)
405eb4:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
405eb8:	0f 85 bb 00 00 00    	jne    0x405f79
405ebe:	83 c2 24             	add    $0x24,%edx
405ec1:	8d 42 6c             	lea    0x6c(%edx),%eax
405ec4:	eb 07                	jmp    0x405ecd
405ec6:	83 62 08 00          	andl   $0x0,0x8(%edx)
405eca:	83 c2 0c             	add    $0xc,%edx
405ecd:	3b d0                	cmp    %eax,%edx
405ecf:	75 f5                	jne    0x405ec6
405ed1:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
405ed6:	53                   	push   %ebx
405ed7:	8b 5e 08             	mov    0x8(%esi),%ebx
405eda:	39 01                	cmp    %eax,(%ecx)
405edc:	77 47                	ja     0x405f25
405ede:	74 3e                	je     0x405f1e
405ee0:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
405ee6:	74 2f                	je     0x405f17
405ee8:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
405eee:	74 20                	je     0x405f10
405ef0:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
405ef6:	74 11                	je     0x405f09
405ef8:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
405efe:	8b c3                	mov    %ebx,%eax
405f00:	75 62                	jne    0x405f64
405f02:	b8 81 00 00 00       	mov    $0x81,%eax
405f07:	eb 58                	jmp    0x405f61
405f09:	b8 86 00 00 00       	mov    $0x86,%eax
405f0e:	eb 51                	jmp    0x405f61
405f10:	b8 83 00 00 00       	mov    $0x83,%eax
405f15:	eb 4a                	jmp    0x405f61
405f17:	b8 82 00 00 00       	mov    $0x82,%eax
405f1c:	eb 43                	jmp    0x405f61
405f1e:	b8 84 00 00 00       	mov    $0x84,%eax
405f23:	eb 3c                	jmp    0x405f61
405f25:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
405f2b:	74 2f                	je     0x405f5c
405f2d:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
405f33:	74 20                	je     0x405f55
405f35:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
405f3b:	74 11                	je     0x405f4e
405f3d:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
405f43:	8b c3                	mov    %ebx,%eax
405f45:	75 1d                	jne    0x405f64
405f47:	b8 8d 00 00 00       	mov    $0x8d,%eax
405f4c:	eb 13                	jmp    0x405f61
405f4e:	b8 8e 00 00 00       	mov    $0x8e,%eax
405f53:	eb 0c                	jmp    0x405f61
405f55:	b8 85 00 00 00       	mov    $0x85,%eax
405f5a:	eb 05                	jmp    0x405f61
405f5c:	b8 8a 00 00 00       	mov    $0x8a,%eax
405f61:	89 46 08             	mov    %eax,0x8(%esi)
405f64:	50                   	push   %eax
405f65:	6a 08                	push   $0x8
405f67:	8b cf                	mov    %edi,%ecx
405f69:	ff 15 18 f1 40 00    	call   *0x40f118
405f6f:	ff d7                	call   *%edi
405f71:	59                   	pop    %ecx
405f72:	59                   	pop    %ecx
405f73:	89 5e 08             	mov    %ebx,0x8(%esi)
405f76:	5b                   	pop    %ebx
405f77:	eb 12                	jmp    0x405f8b
405f79:	83 61 08 00          	andl   $0x0,0x8(%ecx)
405f7d:	ff 71 04             	push   0x4(%ecx)
405f80:	8b cf                	mov    %edi,%ecx
405f82:	ff 15 18 f1 40 00    	call   *0x40f118
405f88:	ff d7                	call   *%edi
405f8a:	59                   	pop    %ecx
405f8b:	8b 45 fc             	mov    -0x4(%ebp),%eax
405f8e:	89 46 04             	mov    %eax,0x4(%esi)
405f91:	e9 0d ff ff ff       	jmp    0x405ea3
405f96:	a1 94 6d 41 00       	mov    0x416d94,%eax
405f9b:	c3                   	ret
405f9c:	8b ff                	mov    %edi,%edi
405f9e:	55                   	push   %ebp
405f9f:	8b ec                	mov    %esp,%ebp
405fa1:	8b 45 08             	mov    0x8(%ebp),%eax
405fa4:	a3 94 6d 41 00       	mov    %eax,0x416d94
405fa9:	5d                   	pop    %ebp
405faa:	c3                   	ret
405fab:	8b ff                	mov    %edi,%edi
405fad:	55                   	push   %ebp
405fae:	8b ec                	mov    %esp,%ebp
405fb0:	a1 14 60 41 00       	mov    0x416014,%eax
405fb5:	83 e0 1f             	and    $0x1f,%eax
405fb8:	6a 20                	push   $0x20
405fba:	59                   	pop    %ecx
405fbb:	2b c8                	sub    %eax,%ecx
405fbd:	8b 45 08             	mov    0x8(%ebp),%eax
405fc0:	d3 c8                	ror    %cl,%eax
405fc2:	33 05 14 60 41 00    	xor    0x416014,%eax
405fc8:	5d                   	pop    %ebp
405fc9:	c3                   	ret
405fca:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
405fd0:	8b 15 98 6d 41 00    	mov    0x416d98,%edx
405fd6:	83 e1 1f             	and    $0x1f,%ecx
405fd9:	33 15 14 60 41 00    	xor    0x416014,%edx
405fdf:	d3 ca                	ror    %cl,%edx
405fe1:	85 d2                	test   %edx,%edx
405fe3:	0f 95 c0             	setne  %al
405fe6:	c3                   	ret
405fe7:	8b ff                	mov    %edi,%edi
405fe9:	55                   	push   %ebp
405fea:	8b ec                	mov    %esp,%ebp
405fec:	8b 45 08             	mov    0x8(%ebp),%eax
405fef:	a3 98 6d 41 00       	mov    %eax,0x416d98
405ff4:	5d                   	pop    %ebp
405ff5:	c3                   	ret
405ff6:	cc                   	int3
405ff7:	cc                   	int3
405ff8:	cc                   	int3
405ff9:	8b ff                	mov    %edi,%edi
405ffb:	55                   	push   %ebp
405ffc:	8b ec                	mov    %esp,%ebp
405ffe:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
406004:	56                   	push   %esi
406005:	8b 35 98 6d 41 00    	mov    0x416d98,%esi
40600b:	83 e1 1f             	and    $0x1f,%ecx
40600e:	33 35 14 60 41 00    	xor    0x416014,%esi
406014:	d3 ce                	ror    %cl,%esi
406016:	85 f6                	test   %esi,%esi
406018:	75 04                	jne    0x40601e
40601a:	33 c0                	xor    %eax,%eax
40601c:	eb 0e                	jmp    0x40602c
40601e:	ff 75 08             	push   0x8(%ebp)
406021:	8b ce                	mov    %esi,%ecx
406023:	ff 15 18 f1 40 00    	call   *0x40f118
406029:	ff d6                	call   *%esi
40602b:	59                   	pop    %ecx
40602c:	5e                   	pop    %esi
40602d:	5d                   	pop    %ebp
40602e:	c3                   	ret
40602f:	8b ff                	mov    %edi,%edi
406031:	55                   	push   %ebp
406032:	8b ec                	mov    %esp,%ebp
406034:	ff 75 08             	push   0x8(%ebp)
406037:	e8 6f ff ff ff       	call   0x405fab
40603c:	59                   	pop    %ecx
40603d:	a3 98 6d 41 00       	mov    %eax,0x416d98
406042:	5d                   	pop    %ebp
406043:	c3                   	ret
406044:	8b ff                	mov    %edi,%edi
406046:	55                   	push   %ebp
406047:	8b ec                	mov    %esp,%ebp
406049:	83 ec 0c             	sub    $0xc,%esp
40604c:	57                   	push   %edi
40604d:	8b 7d 08             	mov    0x8(%ebp),%edi
406050:	85 ff                	test   %edi,%edi
406052:	75 07                	jne    0x40605b
406054:	33 c0                	xor    %eax,%eax
406056:	e9 23 01 00 00       	jmp    0x40617e
40605b:	56                   	push   %esi
40605c:	83 ff 02             	cmp    $0x2,%edi
40605f:	74 1b                	je     0x40607c
406061:	83 ff 01             	cmp    $0x1,%edi
406064:	74 16                	je     0x40607c
406066:	e8 e5 18 00 00       	call   0x407950
40606b:	6a 16                	push   $0x16
40606d:	5e                   	pop    %esi
40606e:	89 30                	mov    %esi,(%eax)
406070:	e8 a7 fc ff ff       	call   0x405d1c
406075:	8b c6                	mov    %esi,%eax
406077:	e9 01 01 00 00       	jmp    0x40617d
40607c:	53                   	push   %ebx
40607d:	e8 08 29 00 00       	call   0x40898a
406082:	68 04 01 00 00       	push   $0x104
406087:	bb a0 6d 41 00       	mov    $0x416da0,%ebx
40608c:	33 f6                	xor    %esi,%esi
40608e:	53                   	push   %ebx
40608f:	56                   	push   %esi
406090:	e8 d8 22 00 00       	call   0x40836d
406095:	89 1d 58 70 41 00    	mov    %ebx,0x417058
40609b:	83 c4 0c             	add    $0xc,%esp
40609e:	8b 1d 68 70 41 00    	mov    0x417068,%ebx
4060a4:	85 db                	test   %ebx,%ebx
4060a6:	74 05                	je     0x4060ad
4060a8:	80 3b 00             	cmpb   $0x0,(%ebx)
4060ab:	75 05                	jne    0x4060b2
4060ad:	bb a0 6d 41 00       	mov    $0x416da0,%ebx
4060b2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4060b5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4060b8:	50                   	push   %eax
4060b9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4060bc:	89 75 f4             	mov    %esi,-0xc(%ebp)
4060bf:	50                   	push   %eax
4060c0:	56                   	push   %esi
4060c1:	56                   	push   %esi
4060c2:	53                   	push   %ebx
4060c3:	e8 b9 00 00 00       	call   0x406181
4060c8:	6a 01                	push   $0x1
4060ca:	ff 75 f4             	push   -0xc(%ebp)
4060cd:	ff 75 fc             	push   -0x4(%ebp)
4060d0:	e8 20 02 00 00       	call   0x4062f5
4060d5:	8b f0                	mov    %eax,%esi
4060d7:	83 c4 20             	add    $0x20,%esp
4060da:	85 f6                	test   %esi,%esi
4060dc:	75 0c                	jne    0x4060ea
4060de:	e8 6d 18 00 00       	call   0x407950
4060e3:	6a 0c                	push   $0xc
4060e5:	5e                   	pop    %esi
4060e6:	89 30                	mov    %esi,(%eax)
4060e8:	eb 2f                	jmp    0x406119
4060ea:	8d 45 f4             	lea    -0xc(%ebp),%eax
4060ed:	50                   	push   %eax
4060ee:	8d 45 fc             	lea    -0x4(%ebp),%eax
4060f1:	50                   	push   %eax
4060f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4060f5:	8d 04 86             	lea    (%esi,%eax,4),%eax
4060f8:	50                   	push   %eax
4060f9:	56                   	push   %esi
4060fa:	53                   	push   %ebx
4060fb:	e8 81 00 00 00       	call   0x406181
406100:	83 c4 14             	add    $0x14,%esp
406103:	83 ff 01             	cmp    $0x1,%edi
406106:	75 1c                	jne    0x406124
406108:	8b 45 fc             	mov    -0x4(%ebp),%eax
40610b:	48                   	dec    %eax
40610c:	89 35 60 70 41 00    	mov    %esi,0x417060
406112:	a3 5c 70 41 00       	mov    %eax,0x41705c
406117:	33 f6                	xor    %esi,%esi
406119:	6a 00                	push   $0x0
40611b:	e8 59 17 00 00       	call   0x407879
406120:	8b c6                	mov    %esi,%eax
406122:	eb 57                	jmp    0x40617b
406124:	8d 45 f8             	lea    -0x8(%ebp),%eax
406127:	33 db                	xor    %ebx,%ebx
406129:	50                   	push   %eax
40612a:	56                   	push   %esi
40612b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40612e:	e8 32 21 00 00       	call   0x408265
406133:	8b f8                	mov    %eax,%edi
406135:	59                   	pop    %ecx
406136:	59                   	pop    %ecx
406137:	85 ff                	test   %edi,%edi
406139:	74 0a                	je     0x406145
40613b:	ff 75 f8             	push   -0x8(%ebp)
40613e:	e8 36 17 00 00       	call   0x407879
406143:	eb 2a                	jmp    0x40616f
406145:	8b 55 f8             	mov    -0x8(%ebp),%edx
406148:	8b cb                	mov    %ebx,%ecx
40614a:	8b c2                	mov    %edx,%eax
40614c:	39 1a                	cmp    %ebx,(%edx)
40614e:	74 08                	je     0x406158
406150:	8d 40 04             	lea    0x4(%eax),%eax
406153:	41                   	inc    %ecx
406154:	39 18                	cmp    %ebx,(%eax)
406156:	75 f8                	jne    0x406150
406158:	53                   	push   %ebx
406159:	89 0d 5c 70 41 00    	mov    %ecx,0x41705c
40615f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
406162:	89 15 60 70 41 00    	mov    %edx,0x417060
406168:	e8 0c 17 00 00       	call   0x407879
40616d:	8b fb                	mov    %ebx,%edi
40616f:	59                   	pop    %ecx
406170:	56                   	push   %esi
406171:	89 5d f8             	mov    %ebx,-0x8(%ebp)
406174:	e8 00 17 00 00       	call   0x407879
406179:	8b c7                	mov    %edi,%eax
40617b:	59                   	pop    %ecx
40617c:	5b                   	pop    %ebx
40617d:	5e                   	pop    %esi
40617e:	5f                   	pop    %edi
40617f:	c9                   	leave
406180:	c3                   	ret
406181:	8b ff                	mov    %edi,%edi
406183:	55                   	push   %ebp
406184:	8b ec                	mov    %esp,%ebp
406186:	51                   	push   %ecx
406187:	51                   	push   %ecx
406188:	8b 4d 18             	mov    0x18(%ebp),%ecx
40618b:	8b 45 14             	mov    0x14(%ebp),%eax
40618e:	53                   	push   %ebx
40618f:	56                   	push   %esi
406190:	83 21 00             	andl   $0x0,(%ecx)
406193:	8b 75 10             	mov    0x10(%ebp),%esi
406196:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40619c:	8b 45 0c             	mov    0xc(%ebp),%eax
40619f:	57                   	push   %edi
4061a0:	8b 7d 08             	mov    0x8(%ebp),%edi
4061a3:	85 c0                	test   %eax,%eax
4061a5:	74 08                	je     0x4061af
4061a7:	89 30                	mov    %esi,(%eax)
4061a9:	83 c0 04             	add    $0x4,%eax
4061ac:	89 45 0c             	mov    %eax,0xc(%ebp)
4061af:	32 ff                	xor    %bh,%bh
4061b1:	80 3f 22             	cmpb   $0x22,(%edi)
4061b4:	89 7d f8             	mov    %edi,-0x8(%ebp)
4061b7:	75 0a                	jne    0x4061c3
4061b9:	84 ff                	test   %bh,%bh
4061bb:	b3 22                	mov    $0x22,%bl
4061bd:	0f 94 c7             	sete   %bh
4061c0:	47                   	inc    %edi
4061c1:	eb 34                	jmp    0x4061f7
4061c3:	ff 01                	incl   (%ecx)
4061c5:	85 f6                	test   %esi,%esi
4061c7:	74 05                	je     0x4061ce
4061c9:	8a 07                	mov    (%edi),%al
4061cb:	88 06                	mov    %al,(%esi)
4061cd:	46                   	inc    %esi
4061ce:	8a 1f                	mov    (%edi),%bl
4061d0:	47                   	inc    %edi
4061d1:	0f be c3             	movsbl %bl,%eax
4061d4:	50                   	push   %eax
4061d5:	e8 e1 2a 00 00       	call   0x408cbb
4061da:	59                   	pop    %ecx
4061db:	8b 4d 18             	mov    0x18(%ebp),%ecx
4061de:	85 c0                	test   %eax,%eax
4061e0:	74 11                	je     0x4061f3
4061e2:	ff 01                	incl   (%ecx)
4061e4:	85 f6                	test   %esi,%esi
4061e6:	74 05                	je     0x4061ed
4061e8:	8a 07                	mov    (%edi),%al
4061ea:	88 06                	mov    %al,(%esi)
4061ec:	46                   	inc    %esi
4061ed:	8b 7d f8             	mov    -0x8(%ebp),%edi
4061f0:	83 c7 02             	add    $0x2,%edi
4061f3:	84 db                	test   %bl,%bl
4061f5:	74 18                	je     0x40620f
4061f7:	84 ff                	test   %bh,%bh
4061f9:	75 b6                	jne    0x4061b1
4061fb:	80 fb 20             	cmp    $0x20,%bl
4061fe:	74 05                	je     0x406205
406200:	80 fb 09             	cmp    $0x9,%bl
406203:	75 ac                	jne    0x4061b1
406205:	85 f6                	test   %esi,%esi
406207:	74 07                	je     0x406210
406209:	c6 46 ff 00          	movb   $0x0,-0x1(%esi)
40620d:	eb 01                	jmp    0x406210
40620f:	4f                   	dec    %edi
406210:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
406214:	8a 07                	mov    (%edi),%al
406216:	84 c0                	test   %al,%al
406218:	0f 84 c3 00 00 00    	je     0x4062e1
40621e:	3c 20                	cmp    $0x20,%al
406220:	74 04                	je     0x406226
406222:	3c 09                	cmp    $0x9,%al
406224:	75 05                	jne    0x40622b
406226:	47                   	inc    %edi
406227:	8a 07                	mov    (%edi),%al
406229:	eb f3                	jmp    0x40621e
40622b:	84 c0                	test   %al,%al
40622d:	0f 84 ae 00 00 00    	je     0x4062e1