405f22:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
405f26:	74 28                	je     0x405f50
405f28:	8b d3                	mov    %ebx,%edx
405f2a:	2b d0                	sub    %eax,%edx
405f2c:	b8 05 01 00 00       	mov    $0x105,%eax
405f31:	2b c2                	sub    %edx,%eax
405f33:	50                   	push   %eax
405f34:	8d 45 ee             	lea    -0x12(%ebp),%eax
405f37:	50                   	push   %eax
405f38:	53                   	push   %ebx
405f39:	e8 ce b3 ff ff       	call   0x40130c
405f3e:	6a 02                	push   $0x2
405f40:	6a 00                	push   $0x0
405f42:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405f48:	50                   	push   %eax
405f49:	e8 ae b3 ff ff       	call   0x4012fc
405f4e:	8b f0                	mov    %eax,%esi
405f50:	85 f6                	test   %esi,%esi
405f52:	75 6a                	jne    0x405fbe
405f54:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
405f58:	74 64                	je     0x405fbe
405f5a:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405f60:	8b d3                	mov    %ebx,%edx
405f62:	2b d0                	sub    %eax,%edx
405f64:	b8 05 01 00 00       	mov    $0x105,%eax
405f69:	2b c2                	sub    %edx,%eax
405f6b:	50                   	push   %eax
405f6c:	8d 45 f3             	lea    -0xd(%ebp),%eax
405f6f:	50                   	push   %eax
405f70:	53                   	push   %ebx
405f71:	e8 96 b3 ff ff       	call   0x40130c
405f76:	6a 02                	push   $0x2
405f78:	6a 00                	push   $0x0
405f7a:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405f80:	50                   	push   %eax
405f81:	e8 76 b3 ff ff       	call   0x4012fc
405f86:	8b f0                	mov    %eax,%esi
405f88:	85 f6                	test   %esi,%esi
405f8a:	75 32                	jne    0x405fbe
405f8c:	c6 45 f5 00          	movb   $0x0,-0xb(%ebp)
405f90:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405f96:	8b d3                	mov    %ebx,%edx
405f98:	2b d0                	sub    %eax,%edx
405f9a:	b8 05 01 00 00       	mov    $0x105,%eax
405f9f:	2b c2                	sub    %edx,%eax
405fa1:	50                   	push   %eax
405fa2:	8d 45 f3             	lea    -0xd(%ebp),%eax
405fa5:	50                   	push   %eax
405fa6:	53                   	push   %ebx
405fa7:	e8 60 b3 ff ff       	call   0x40130c
405fac:	6a 02                	push   $0x2
405fae:	6a 00                	push   $0x0
405fb0:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405fb6:	50                   	push   %eax
405fb7:	e8 40 b3 ff ff       	call   0x4012fc
405fbc:	8b f0                	mov    %eax,%esi
405fbe:	8b c6                	mov    %esi,%eax
405fc0:	5e                   	pop    %esi
405fc1:	5b                   	pop    %ebx
405fc2:	8b e5                	mov    %ebp,%esp
405fc4:	5d                   	pop    %ebp
405fc5:	c3                   	ret
405fc6:	00 00                	add    %al,(%eax)
405fc8:	53                   	push   %ebx
405fc9:	6f                   	outsl  %ds:(%esi),(%dx)
405fca:	66 74 77             	data16 je 0x406044
405fcd:	61                   	popa
405fce:	72 65                	jb     0x406035
405fd0:	5c                   	pop    %esp
405fd1:	42                   	inc    %edx
405fd2:	6f                   	outsl  %ds:(%esi),(%dx)
405fd3:	72 6c                	jb     0x406041
405fd5:	61                   	popa
405fd6:	6e                   	outsb  %ds:(%esi),(%dx)
405fd7:	64 5c                	fs pop %esp
405fd9:	4c                   	dec    %esp
405fda:	6f                   	outsl  %ds:(%esi),(%dx)
405fdb:	63 61 6c             	arpl   %esp,0x6c(%ecx)
405fde:	65 73 00             	gs jae 0x405fe1
405fe1:	00 00                	add    %al,(%eax)
405fe3:	00 53 6f             	add    %dl,0x6f(%ebx)
405fe6:	66 74 77             	data16 je 0x406060
405fe9:	61                   	popa
405fea:	72 65                	jb     0x406051
405fec:	5c                   	pop    %esp
405fed:	42                   	inc    %edx
405fee:	6f                   	outsl  %ds:(%esi),(%dx)
405fef:	72 6c                	jb     0x40605d
405ff1:	61                   	popa
405ff2:	6e                   	outsb  %ds:(%esi),(%dx)
405ff3:	64 5c                	fs pop %esp
405ff5:	44                   	inc    %esp
405ff6:	65 6c                	gs insb (%dx),%es:(%edi)
405ff8:	70 68                	jo     0x406062
405ffa:	69 5c 4c 6f 63 61 6c 	imul   $0x656c6163,0x6f(%esp,%ecx,2),%ebx
406001:	65
406002:	73 00                	jae    0x406004
406004:	00 00                	add    %al,(%eax)
406006:	00 00                	add    %al,(%eax)
406008:	e8 0b 00 00 00       	call   0x406018
40600d:	c3                   	ret
40600e:	8b c0                	mov    %eax,%eax
406010:	e8 23 00 00 00       	call   0x406038
406015:	c3                   	ret
406016:	8b c0                	mov    %eax,%eax
406018:	53                   	push   %ebx
406019:	8b d8                	mov    %eax,%ebx
40601b:	b8 08 00 00 00       	mov    $0x8,%eax
406020:	e8 d7 cc ff ff       	call   0x402cfc
406025:	8b 15 34 b0 49 00    	mov    0x49b034,%edx
40602b:	89 10                	mov    %edx,(%eax)
40602d:	89 58 04             	mov    %ebx,0x4(%eax)
406030:	a3 34 b0 49 00       	mov    %eax,0x49b034
406035:	5b                   	pop    %ebx
406036:	c3                   	ret
406037:	90                   	nop
406038:	53                   	push   %ebx
406039:	56                   	push   %esi
40603a:	57                   	push   %edi
40603b:	55                   	push   %ebp
40603c:	8b e8                	mov    %eax,%ebp
40603e:	8b 3d 34 b0 49 00    	mov    0x49b034,%edi
406044:	85 ff                	test   %edi,%edi
406046:	74 21                	je     0x406069
406048:	8b 47 04             	mov    0x4(%edi),%eax
40604b:	3b c5                	cmp    %ebp,%eax
40604d:	75 1a                	jne    0x406069
40604f:	a1 34 b0 49 00       	mov    0x49b034,%eax
406054:	8b 00                	mov    (%eax),%eax
406056:	a3 34 b0 49 00       	mov    %eax,0x49b034
40605b:	ba 08 00 00 00       	mov    $0x8,%edx
406060:	8b c7                	mov    %edi,%eax
406062:	e8 b1 cc ff ff       	call   0x402d18
406067:	eb 2d                	jmp    0x406096
406069:	8b df                	mov    %edi,%ebx
40606b:	85 db                	test   %ebx,%ebx
40606d:	74 27                	je     0x406096
40606f:	8b 33                	mov    (%ebx),%esi
406071:	85 f6                	test   %esi,%esi
406073:	74 1b                	je     0x406090
406075:	8b 46 04             	mov    0x4(%esi),%eax
406078:	3b c5                	cmp    %ebp,%eax
40607a:	75 14                	jne    0x406090
40607c:	8b fe                	mov    %esi,%edi
40607e:	8b 06                	mov    (%esi),%eax
406080:	89 03                	mov    %eax,(%ebx)
406082:	ba 08 00 00 00       	mov    $0x8,%edx
406087:	8b c7                	mov    %edi,%eax
406089:	e8 8a cc ff ff       	call   0x402d18
40608e:	eb 06                	jmp    0x406096
406090:	8b 1b                	mov    (%ebx),%ebx
406092:	85 db                	test   %ebx,%ebx
406094:	75 d9                	jne    0x40606f
406096:	5d                   	pop    %ebp
406097:	5f                   	pop    %edi
406098:	5e                   	pop    %esi
406099:	5b                   	pop    %ebx
40609a:	c3                   	ret
40609b:	90                   	nop
40609c:	55                   	push   %ebp
40609d:	8b ec                	mov    %esp,%ebp
40609f:	83 c4 f8             	add    $0xfffffff8,%esp
4060a2:	53                   	push   %ebx
4060a3:	56                   	push   %esi
4060a4:	57                   	push   %edi
4060a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4060a8:	a1 34 b0 49 00       	mov    0x49b034,%eax
4060ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
4060b0:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4060b4:	74 39                	je     0x4060ef
4060b6:	33 c0                	xor    %eax,%eax
4060b8:	55                   	push   %ebp
4060b9:	68 d7 60 40 00       	push   $0x4060d7
4060be:	64 ff 30             	push   %fs:(%eax)
4060c1:	64 89 20             	mov    %esp,%fs:(%eax)
4060c4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4060c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4060ca:	ff 53 04             	call   *0x4(%ebx)
4060cd:	33 c0                	xor    %eax,%eax
4060cf:	5a                   	pop    %edx
4060d0:	59                   	pop    %ecx
4060d1:	59                   	pop    %ecx
4060d2:	64 89 10             	mov    %edx,%fs:(%eax)
4060d5:	eb 0a                	jmp    0x4060e1
4060d7:	e9 20 dd ff ff       	jmp    0x403dfc
4060dc:	e8 2b e1 ff ff       	call   0x40420c
4060e1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4060e4:	8b 00                	mov    (%eax),%eax
4060e6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4060e9:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4060ed:	75 c7                	jne    0x4060b6
4060ef:	5f                   	pop    %edi
4060f0:	5e                   	pop    %esi
4060f1:	5b                   	pop    %ebx
4060f2:	59                   	pop    %ecx
4060f3:	59                   	pop    %ecx
4060f4:	5d                   	pop    %ebp
4060f5:	c3                   	ret
4060f6:	8b c0                	mov    %eax,%eax
4060f8:	8b 15 30 b0 49 00    	mov    0x49b030,%edx
4060fe:	89 10                	mov    %edx,(%eax)
406100:	a3 30 b0 49 00       	mov    %eax,0x49b030
406105:	c3                   	ret
406106:	8b c0                	mov    %eax,%eax
406108:	55                   	push   %ebp
406109:	8b ec                	mov    %esp,%ebp
40610b:	51                   	push   %ecx
40610c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40610f:	33 d2                	xor    %edx,%edx
406111:	55                   	push   %ebp
406112:	68 6c 61 40 00       	push   $0x40616c
406117:	64 ff 32             	push   %fs:(%edx)
40611a:	64 89 22             	mov    %esp,%fs:(%edx)
40611d:	8b 45 fc             	mov    -0x4(%ebp),%eax
406120:	8b 40 04             	mov    0x4(%eax),%eax
406123:	e8 74 ff ff ff       	call   0x40609c
406128:	33 c0                	xor    %eax,%eax
40612a:	5a                   	pop    %edx
40612b:	59                   	pop    %ecx
40612c:	59                   	pop    %ecx
40612d:	64 89 10             	mov    %edx,%fs:(%eax)
406130:	68 73 61 40 00       	push   $0x406173
406135:	8b 45 fc             	mov    -0x4(%ebp),%eax
406138:	3b 05 30 b0 49 00    	cmp    0x49b030,%eax
40613e:	75 0c                	jne    0x40614c
406140:	8b 45 fc             	mov    -0x4(%ebp),%eax
406143:	8b 00                	mov    (%eax),%eax
406145:	a3 30 b0 49 00       	mov    %eax,0x49b030
40614a:	eb 1f                	jmp    0x40616b
40614c:	a1 30 b0 49 00       	mov    0x49b030,%eax
406151:	85 c0                	test   %eax,%eax
406153:	74 16                	je     0x40616b
406155:	8b 10                	mov    (%eax),%edx
406157:	3b 55 fc             	cmp    -0x4(%ebp),%edx
40615a:	75 09                	jne    0x406165
40615c:	8b 55 fc             	mov    -0x4(%ebp),%edx
40615f:	8b 12                	mov    (%edx),%edx
406161:	89 10                	mov    %edx,(%eax)
406163:	eb 06                	jmp    0x40616b
406165:	8b 00                	mov    (%eax),%eax
406167:	85 c0                	test   %eax,%eax
406169:	75 ea                	jne    0x406155
40616b:	c3                   	ret
40616c:	e9 3f df ff ff       	jmp    0x4040b0
406171:	eb c2                	jmp    0x406135
406173:	59                   	pop    %ecx
406174:	5d                   	pop    %ebp
406175:	c3                   	ret
406176:	8b c0                	mov    %eax,%eax
406178:	8b 10                	mov    (%eax),%edx
40617a:	85 d2                	test   %edx,%edx
40617c:	74 0e                	je     0x40618c
40617e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
406184:	50                   	push   %eax
406185:	52                   	push   %edx
406186:	8b 02                	mov    (%edx),%eax
406188:	ff 50 08             	call   *0x8(%eax)
40618b:	58                   	pop    %eax
40618c:	c3                   	ret
40618d:	8d 40 00             	lea    0x0(%eax),%eax
406190:	85 d2                	test   %edx,%edx
406192:	74 19                	je     0x4061ad
406194:	52                   	push   %edx
406195:	50                   	push   %eax
406196:	8b 02                	mov    (%edx),%eax
406198:	52                   	push   %edx
406199:	ff 50 04             	call   *0x4(%eax)
40619c:	58                   	pop    %eax
40619d:	8b 08                	mov    (%eax),%ecx
40619f:	8f 00                	pop    (%eax)
4061a1:	85 c9                	test   %ecx,%ecx
4061a3:	75 01                	jne    0x4061a6
4061a5:	c3                   	ret
4061a6:	8b 01                	mov    (%ecx),%eax
4061a8:	51                   	push   %ecx
4061a9:	ff 50 08             	call   *0x8(%eax)
4061ac:	c3                   	ret
4061ad:	8b 08                	mov    (%eax),%ecx
4061af:	85 c9                	test   %ecx,%ecx
4061b1:	89 10                	mov    %edx,(%eax)
4061b3:	74 06                	je     0x4061bb
4061b5:	8b 01                	mov    (%ecx),%eax
4061b7:	51                   	push   %ecx
4061b8:	ff 50 08             	call   *0x8(%eax)
4061bb:	c3                   	ret
4061bc:	85 d2                	test   %edx,%edx
4061be:	0f 84 b4 ff ff ff    	je     0x406178
4061c4:	57                   	push   %edi
4061c5:	89 c7                	mov    %eax,%edi
4061c7:	6a 00                	push   $0x0
4061c9:	54                   	push   %esp
4061ca:	51                   	push   %ecx
4061cb:	52                   	push   %edx
4061cc:	8b 02                	mov    (%edx),%eax
4061ce:	ff 10                	call   *(%eax)
4061d0:	85 c0                	test   %eax,%eax
4061d2:	74 07                	je     0x4061db
4061d4:	b0 17                	mov    $0x17,%al
4061d6:	e9 71 cc ff ff       	jmp    0x402e4c
4061db:	8b 07                	mov    (%edi),%eax
4061dd:	85 c0                	test   %eax,%eax
4061df:	74 06                	je     0x4061e7
4061e1:	50                   	push   %eax
4061e2:	8b 00                	mov    (%eax),%eax
4061e4:	ff 50 08             	call   *0x8(%eax)
4061e7:	58                   	pop    %eax
4061e8:	89 07                	mov    %eax,(%edi)
4061ea:	5f                   	pop    %edi
4061eb:	c3                   	ret
4061ec:	85 c0                	test   %eax,%eax
4061ee:	74 06                	je     0x4061f6
4061f0:	50                   	push   %eax
4061f1:	8b 00                	mov    (%eax),%eax
4061f3:	ff 50 04             	call   *0x4(%eax)
4061f6:	c3                   	ret
4061f7:	90                   	nop
4061f8:	83 c0 04             	add    $0x4,%eax
4061fb:	50                   	push   %eax
4061fc:	e8 6b b1 ff ff       	call   0x40136c
406201:	c3                   	ret
406202:	8b c0                	mov    %eax,%eax
406204:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
406208:	74 07                	je     0x406211
40620a:	b0 02                	mov    $0x2,%al
40620c:	e8 3b cc ff ff       	call   0x402e4c
406211:	c3                   	ret
406212:	8b c0                	mov    %eax,%eax
406214:	e8 9b d6 ff ff       	call   0x4038b4
406219:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
406220:	c3                   	ret
406221:	8d 40 00             	lea    0x0(%eax),%eax
406224:	55                   	push   %ebp
406225:	8b ec                	mov    %esp,%ebp
406227:	53                   	push   %ebx
406228:	8b 5d 08             	mov    0x8(%ebp),%ebx
40622b:	8b 4d 10             	mov    0x10(%ebp),%ecx
40622e:	8b 55 0c             	mov    0xc(%ebp),%edx
406231:	8b c3                	mov    %ebx,%eax
406233:	e8 98 d7 ff ff       	call   0x4039d0
406238:	84 c0                	test   %al,%al
40623a:	74 04                	je     0x406240
40623c:	33 c0                	xor    %eax,%eax
40623e:	eb 05                	jmp    0x406245
406240:	b8 02 40 00 80       	mov    $0x80004002,%eax
406245:	5b                   	pop    %ebx
406246:	5d                   	pop    %ebp
406247:	c2 0c 00             	ret    $0xc
40624a:	8b c0                	mov    %eax,%eax
40624c:	55                   	push   %ebp
40624d:	8b ec                	mov    %esp,%ebp