406fb3:	8b ec                	mov    %esp,%ebp
406fb5:	81 ec 88 01 00 00    	sub    $0x188,%esp
406fbb:	53                   	push   %ebx
406fbc:	56                   	push   %esi
406fbd:	57                   	push   %edi
406fbe:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406fc1:	ff 75 08             	push   0x8(%ebp)
406fc4:	51                   	push   %ecx
406fc5:	e8 7e 20 00 00       	call   0x409048
406fca:	a1 30 cc 40 00       	mov    0x40cc30,%eax
406fcf:	59                   	pop    %ecx
406fd0:	85 c0                	test   %eax,%eax
406fd2:	59                   	pop    %ecx
406fd3:	bb 02 00 00 80       	mov    $0x80000002,%ebx
406fd8:	74 2c                	je     0x407006
406fda:	be 30 cc 40 00       	mov    $0x40cc30,%esi
406fdf:	8b fe                	mov    %esi,%edi
406fe1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406fe4:	50                   	push   %eax
406fe5:	53                   	push   %ebx
406fe6:	e8 a9 05 00 00       	call   0x407594
406feb:	ff 37                	push   (%edi)
406fed:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406ff0:	68 01 00 00 80       	push   $0x80000001
406ff5:	e8 9a 05 00 00       	call   0x407594
406ffa:	8b 46 04             	mov    0x4(%esi),%eax
406ffd:	83 c6 04             	add    $0x4,%esi
407000:	85 c0                	test   %eax,%eax
407002:	8b fe                	mov    %esi,%edi
407004:	75 db                	jne    0x406fe1
407006:	6a 0d                	push   $0xd
407008:	be b4 ce 40 00       	mov    $0x40ceb4,%esi
40700d:	59                   	pop    %ecx
40700e:	8d 7d b4             	lea    -0x4c(%ebp),%edi
407011:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
407013:	a1 b0 ce 40 00       	mov    0x40ceb0,%eax
407018:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40701b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40701e:	8d 45 08             	lea    0x8(%ebp),%eax
407021:	50                   	push   %eax
407022:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
407028:	a4                   	movsb  %ds:(%esi),%es:(%edi)
407029:	be a8 ce 40 00       	mov    $0x40cea8,%esi
40702e:	8d 7d ec             	lea    -0x14(%ebp),%edi
407031:	50                   	push   %eax
407032:	8d 45 f8             	lea    -0x8(%ebp),%eax
407035:	a5                   	movsl  %ds:(%esi),%es:(%edi)
407036:	50                   	push   %eax
407037:	8d 45 f4             	lea    -0xc(%ebp),%eax
40703a:	50                   	push   %eax
40703b:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40703e:	a4                   	movsb  %ds:(%esi),%es:(%edi)
40703f:	be 04 01 00 00       	mov    $0x104,%esi
407044:	50                   	push   %eax
407045:	53                   	push   %ebx
407046:	89 75 08             	mov    %esi,0x8(%ebp)
407049:	e8 aa 01 00 00       	call   0x4071f8
40704e:	8d 45 08             	lea    0x8(%ebp),%eax
407051:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407054:	50                   	push   %eax
407055:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
40705b:	50                   	push   %eax
40705c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40705f:	50                   	push   %eax
407060:	8d 45 ec             	lea    -0x14(%ebp),%eax
407063:	50                   	push   %eax
407064:	8d 45 b4             	lea    -0x4c(%ebp),%eax
407067:	50                   	push   %eax
407068:	53                   	push   %ebx
407069:	89 75 08             	mov    %esi,0x8(%ebp)
40706c:	e8 87 01 00 00       	call   0x4071f8
407071:	8d 45 08             	lea    0x8(%ebp),%eax
407074:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407077:	50                   	push   %eax
407078:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
40707e:	50                   	push   %eax
40707f:	8d 45 f8             	lea    -0x8(%ebp),%eax
407082:	50                   	push   %eax
407083:	8d 45 f4             	lea    -0xc(%ebp),%eax
407086:	50                   	push   %eax
407087:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40708a:	bf 01 00 00 80       	mov    $0x80000001,%edi
40708f:	50                   	push   %eax
407090:	57                   	push   %edi
407091:	89 75 08             	mov    %esi,0x8(%ebp)
407094:	e8 5f 01 00 00       	call   0x4071f8
407099:	8d 45 08             	lea    0x8(%ebp),%eax
40709c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40709f:	50                   	push   %eax
4070a0:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4070a6:	50                   	push   %eax
4070a7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4070aa:	50                   	push   %eax
4070ab:	8d 45 ec             	lea    -0x14(%ebp),%eax
4070ae:	50                   	push   %eax
4070af:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4070b2:	50                   	push   %eax
4070b3:	57                   	push   %edi
4070b4:	89 75 08             	mov    %esi,0x8(%ebp)
4070b7:	e8 3c 01 00 00       	call   0x4071f8
4070bc:	8d 45 08             	lea    0x8(%ebp),%eax
4070bf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4070c2:	50                   	push   %eax
4070c3:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4070c9:	50                   	push   %eax
4070ca:	8d 45 f8             	lea    -0x8(%ebp),%eax
4070cd:	50                   	push   %eax
4070ce:	68 a0 ce 40 00       	push   $0x40cea0
4070d3:	68 68 ce 40 00       	push   $0x40ce68
4070d8:	89 75 08             	mov    %esi,0x8(%ebp)
4070db:	53                   	push   %ebx
4070dc:	e8 17 01 00 00       	call   0x4071f8
4070e1:	8d 45 08             	lea    0x8(%ebp),%eax
4070e4:	89 75 08             	mov    %esi,0x8(%ebp)
4070e7:	50                   	push   %eax
4070e8:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4070ee:	50                   	push   %eax
4070ef:	8d 45 f8             	lea    -0x8(%ebp),%eax
4070f2:	50                   	push   %eax
4070f3:	68 60 ce 40 00       	push   $0x40ce60
4070f8:	68 1c ce 40 00       	push   $0x40ce1c
4070fd:	57                   	push   %edi
4070fe:	8b 7d fc             	mov    -0x4(%ebp),%edi
407101:	8b cf                	mov    %edi,%ecx
407103:	e8 f0 00 00 00       	call   0x4071f8
407108:	85 c0                	test   %eax,%eax
40710a:	74 0e                	je     0x40711a
40710c:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
407112:	8b cf                	mov    %edi,%ecx
407114:	50                   	push   %eax
407115:	e8 39 05 00 00       	call   0x407653
40711a:	8d 45 08             	lea    0x8(%ebp),%eax
40711d:	8b cf                	mov    %edi,%ecx
40711f:	50                   	push   %eax
407120:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
407126:	50                   	push   %eax
407127:	8d 45 f8             	lea    -0x8(%ebp),%eax
40712a:	50                   	push   %eax
40712b:	68 0c ce 40 00       	push   $0x40ce0c
407130:	68 1c ce 40 00       	push   $0x40ce1c
407135:	53                   	push   %ebx
407136:	89 75 08             	mov    %esi,0x8(%ebp)
407139:	e8 ba 00 00 00       	call   0x4071f8
40713e:	85 c0                	test   %eax,%eax
407140:	74 0e                	je     0x407150
407142:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
407148:	8b cf                	mov    %edi,%ecx
40714a:	50                   	push   %eax
40714b:	e8 03 05 00 00       	call   0x407653
407150:	6a 0d                	push   $0xd
407152:	be d4 cd 40 00       	mov    $0x40cdd4,%esi
407157:	59                   	pop    %ecx
407158:	8d bd 78 fe ff ff    	lea    -0x188(%ebp),%edi
40715e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
407160:	a4                   	movsb  %ds:(%esi),%es:(%edi)
407161:	8b 7d fc             	mov    -0x4(%ebp),%edi
407164:	6a 00                	push   $0x0
407166:	8d 85 78 fe ff ff    	lea    -0x188(%ebp),%eax
40716c:	68 c8 cd 40 00       	push   $0x40cdc8
407171:	50                   	push   %eax
407172:	53                   	push   %ebx
407173:	8b cf                	mov    %edi,%ecx
407175:	e8 b1 02 00 00       	call   0x40742b
40717a:	8d 45 08             	lea    0x8(%ebp),%eax
40717d:	be 04 01 00 00       	mov    $0x104,%esi
407182:	50                   	push   %eax
407183:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
407189:	50                   	push   %eax
40718a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40718d:	50                   	push   %eax
40718e:	68 b8 cd 40 00       	push   $0x40cdb8
407193:	68 a0 cd 40 00       	push   $0x40cda0
407198:	68 01 00 00 80       	push   $0x80000001
40719d:	8b cf                	mov    %edi,%ecx
40719f:	89 75 08             	mov    %esi,0x8(%ebp)
4071a2:	e8 51 00 00 00       	call   0x4071f8
4071a7:	8d 45 08             	lea    0x8(%ebp),%eax
4071aa:	8b cf                	mov    %edi,%ecx
4071ac:	50                   	push   %eax
4071ad:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4071b3:	50                   	push   %eax
4071b4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4071b7:	50                   	push   %eax
4071b8:	68 94 cd 40 00       	push   $0x40cd94
4071bd:	68 3c cd 40 00       	push   $0x40cd3c
4071c2:	53                   	push   %ebx
4071c3:	89 75 08             	mov    %esi,0x8(%ebp)
4071c6:	e8 2d 00 00 00       	call   0x4071f8
4071cb:	be 28 cd 40 00       	mov    $0x40cd28,%esi
4071d0:	8b cf                	mov    %edi,%ecx
4071d2:	56                   	push   %esi
4071d3:	6a 00                	push   $0x0
4071d5:	68 14 cd 40 00       	push   $0x40cd14
4071da:	53                   	push   %ebx
4071db:	e8 4b 02 00 00       	call   0x40742b
4071e0:	56                   	push   %esi
4071e1:	6a 00                	push   $0x0
4071e3:	6a 00                	push   $0x0
4071e5:	68 00 00 00 80       	push   $0x80000000
4071ea:	8b cf                	mov    %edi,%ecx
4071ec:	e8 3a 02 00 00       	call   0x40742b
4071f1:	5f                   	pop    %edi
4071f2:	5e                   	pop    %esi
4071f3:	5b                   	pop    %ebx
4071f4:	c9                   	leave
4071f5:	c2 04 00             	ret    $0x4
4071f8:	55                   	push   %ebp
4071f9:	8b ec                	mov    %esp,%ebp
4071fb:	51                   	push   %ecx
4071fc:	53                   	push   %ebx
4071fd:	8d 45 fc             	lea    -0x4(%ebp),%eax
407200:	56                   	push   %esi
407201:	50                   	push   %eax
407202:	68 19 00 02 00       	push   $0x20019
407207:	6a 00                	push   $0x0
407209:	ff 75 0c             	push   0xc(%ebp)
40720c:	8b d9                	mov    %ecx,%ebx
40720e:	ff 75 08             	push   0x8(%ebp)
407211:	ff 15 04 a0 40 00    	call   *0x40a004
407217:	85 c0                	test   %eax,%eax
407219:	75 50                	jne    0x40726b
40721b:	8b 75 1c             	mov    0x1c(%ebp),%esi
40721e:	57                   	push   %edi
40721f:	56                   	push   %esi
407220:	ff 75 18             	push   0x18(%ebp)
407223:	ff 75 14             	push   0x14(%ebp)
407226:	50                   	push   %eax
407227:	ff 75 10             	push   0x10(%ebp)
40722a:	ff 75 fc             	push   -0x4(%ebp)
40722d:	ff 15 30 a0 40 00    	call   *0x40a030
407233:	ff 75 fc             	push   -0x4(%ebp)
407236:	8b f8                	mov    %eax,%edi
407238:	ff 15 00 a0 40 00    	call   *0x40a000
40723e:	85 ff                	test   %edi,%edi
407240:	5f                   	pop    %edi
407241:	75 28                	jne    0x40726b
407243:	ff 36                	push   (%esi)
407245:	8b cb                	mov    %ebx,%ecx
407247:	ff 75 18             	push   0x18(%ebp)
40724a:	e8 24 00 00 00       	call   0x407273
40724f:	84 c0                	test   %al,%al
407251:	74 13                	je     0x407266
407253:	ff 75 18             	push   0x18(%ebp)
407256:	8b cb                	mov    %ebx,%ecx
407258:	ff 75 10             	push   0x10(%ebp)
40725b:	ff 75 0c             	push   0xc(%ebp)
40725e:	ff 75 08             	push   0x8(%ebp)
407261:	e8 57 00 00 00       	call   0x4072bd
407266:	8b 45 10             	mov    0x10(%ebp),%eax
407269:	eb 02                	jmp    0x40726d
40726b:	33 c0                	xor    %eax,%eax
40726d:	5e                   	pop    %esi
40726e:	5b                   	pop    %ebx
40726f:	c9                   	leave
407270:	c2 18 00             	ret    $0x18
407273:	55                   	push   %ebp
407274:	8b ec                	mov    %esp,%ebp
407276:	51                   	push   %ecx
407277:	53                   	push   %ebx
407278:	56                   	push   %esi
407279:	8b d9                	mov    %ecx,%ebx
40727b:	57                   	push   %edi
40727c:	53                   	push   %ebx
40727d:	e8 cc 1d 00 00       	call   0x40904e
407282:	59                   	pop    %ecx
407283:	33 f6                	xor    %esi,%esi
407285:	8b 4d 0c             	mov    0xc(%ebp),%ecx
407288:	89 45 fc             	mov    %eax,-0x4(%ebp)
40728b:	2b c8                	sub    %eax,%ecx
40728d:	8d 79 01             	lea    0x1(%ecx),%edi
407290:	85 ff                	test   %edi,%edi
407292:	7e 1c                	jle    0x4072b0
407294:	ff 75 fc             	push   -0x4(%ebp)
407297:	8b 45 08             	mov    0x8(%ebp),%eax
40729a:	03 c6                	add    %esi,%eax
40729c:	53                   	push   %ebx
40729d:	50                   	push   %eax
40729e:	ff 15 28 a1 40 00    	call   *0x40a128
4072a4:	83 c4 0c             	add    $0xc,%esp
4072a7:	85 c0                	test   %eax,%eax
4072a9:	74 0e                	je     0x4072b9
4072ab:	46                   	inc    %esi
4072ac:	3b f7                	cmp    %edi,%esi
4072ae:	7c e4                	jl     0x407294
4072b0:	32 c0                	xor    %al,%al
4072b2:	5f                   	pop    %edi
4072b3:	5e                   	pop    %esi
4072b4:	5b                   	pop    %ebx
4072b5:	c9                   	leave
4072b6:	c2 08 00             	ret    $0x8
4072b9:	b0 01                	mov    $0x1,%al
4072bb:	eb f5                	jmp    0x4072b2
4072bd:	55                   	push   %ebp
4072be:	8b ec                	mov    %esp,%ebp
4072c0:	81 ec 0c 03 00 00    	sub    $0x30c,%esp
4072c6:	8b 45 08             	mov    0x8(%ebp),%eax
4072c9:	56                   	push   %esi
4072ca:	57                   	push   %edi
4072cb:	6a 0d                	push   $0xd
4072cd:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4072d2:	8b f1                	mov    %ecx,%esi
4072d4:	5f                   	pop    %edi
4072d5:	0f 84 80 00 00 00    	je     0x40735b
4072db:	3d 01 00 00 80       	cmp    $0x80000001,%eax
4072e0:	74 72                	je     0x407354
4072e2:	3d 02 00 00 80       	cmp    $0x80000002,%eax
4072e7:	74 64                	je     0x40734d
4072e9:	3d 03 00 00 80       	cmp    $0x80000003,%eax
4072ee:	74 56                	je     0x407346
4072f0:	3d 99 00 00 80       	cmp    $0x80000099,%eax
4072f5:	0f 85 2a 01 00 00    	jne    0x407425
4072fb:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
407301:	68 64 cf 40 00       	push   $0x40cf64
407306:	50                   	push   %eax
407307:	e8 3c 1d 00 00       	call   0x409048
40730c:	ff 75 0c             	push   0xc(%ebp)
40730f:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
407315:	50                   	push   %eax
407316:	e8 27 1c 00 00       	call   0x408f42
40731b:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
407321:	68 60 cf 40 00       	push   $0x40cf60
407326:	50                   	push   %eax
407327:	e8 16 1c 00 00       	call   0x408f42
40732c:	ff 75 10             	push   0x10(%ebp)
40732f:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
407335:	50                   	push   %eax
407336:	e8 07 1c 00 00       	call   0x408f42
40733b:	83 c4 20             	add    $0x20,%esp
40733e:	6a 13                	push   $0x13
407340:	5f                   	pop    %edi
407341:	e9 93 00 00 00       	jmp    0x4073d9
407346:	68 54 cf 40 00       	push   $0x40cf54
40734b:	eb 13                	jmp    0x407360
40734d:	68 40 cf 40 00       	push   $0x40cf40
407352:	eb 0c                	jmp    0x407360
407354:	68 2c cf 40 00       	push   $0x40cf2c
407359:	eb 05                	jmp    0x407360
40735b:	68 18 cf 40 00       	push   $0x40cf18
407360:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
407366:	50                   	push   %eax
407367:	e8 dc 1c 00 00       	call   0x409048
40736c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
407370:	59                   	pop    %ecx
407371:	59                   	pop    %ecx
407372:	74 11                	je     0x407385
407374:	ff 75 0c             	push   0xc(%ebp)
407377:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
40737d:	50                   	push   %eax
40737e:	e8 bf 1b 00 00       	call   0x408f42
407383:	59                   	pop    %ecx