4011c5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4011cc:	68 04 01 00 00       	push   $0x104
4011d1:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
4011d7:	50                   	push   %eax
4011d8:	6a 00                	push   $0x0
4011da:	ff 15 30 b0 41 00    	call   *0x41b030
4011e0:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4011e6:	8d 51 02             	lea    0x2(%ecx),%edx
4011e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4011f0:	66 8b 01             	mov    (%ecx),%ax
4011f3:	83 c1 02             	add    $0x2,%ecx
4011f6:	66 85 c0             	test   %ax,%ax
4011f9:	75 f5                	jne    0x4011f0
4011fb:	2b ca                	sub    %edx,%ecx
4011fd:	d1 f9                	sar    $1,%ecx
4011ff:	89 8d b0 d9 ff ff    	mov    %ecx,-0x2650(%ebp)
401205:	85 c9                	test   %ecx,%ecx
401207:	78 18                	js     0x401221
401209:	66 83 bc 4d e4 fd ff 	cmpw   $0x5c,-0x21c(%ebp,%ecx,2)
401210:	ff 5c
401212:	74 0d                	je     0x401221
401214:	33 c0                	xor    %eax,%eax
401216:	66 89 84 4d e4 fd ff 	mov    %ax,-0x21c(%ebp,%ecx,2)
40121d:	ff
40121e:	49                   	dec    %ecx
40121f:	eb de                	jmp    0x4011ff
401221:	68 28 0a 42 00       	push   $0x420a28
401226:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
40122c:	50                   	push   %eax
40122d:	68 50 0a 42 00       	push   $0x420a50
401232:	68 04 01 00 00       	push   $0x104
401237:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
40123d:	50                   	push   %eax
40123e:	e8 9d fe ff ff       	call   0x4010e0
401243:	6a 00                	push   $0x0
401245:	e8 d3 67 00 00       	call   0x407a1d
40124a:	89 85 a4 d9 ff ff    	mov    %eax,-0x265c(%ebp)
401250:	89 95 a8 d9 ff ff    	mov    %edx,-0x2658(%ebp)
401256:	8d 85 a4 d9 ff ff    	lea    -0x265c(%ebp),%eax
40125c:	50                   	push   %eax
40125d:	8d 85 b8 d9 ff ff    	lea    -0x2648(%ebp),%eax
401263:	50                   	push   %eax
401264:	e8 52 5f 00 00       	call   0x4071bb
401269:	ff b5 b8 d9 ff ff    	push   -0x2648(%ebp)
40126f:	ff b5 bc d9 ff ff    	push   -0x2644(%ebp)
401275:	ff b5 c0 d9 ff ff    	push   -0x2640(%ebp)
40127b:	ff b5 c4 d9 ff ff    	push   -0x263c(%ebp)
401281:	8b 85 c8 d9 ff ff    	mov    -0x2638(%ebp),%eax
401287:	40                   	inc    %eax
401288:	50                   	push   %eax
401289:	8b 85 cc d9 ff ff    	mov    -0x2634(%ebp),%eax
40128f:	05 6c 07 00 00       	add    $0x76c,%eax
401294:	50                   	push   %eax
401295:	68 5c 0a 42 00       	push   $0x420a5c
40129a:	68 00 01 00 00       	push   $0x100
40129f:	8d 85 dc d9 ff ff    	lea    -0x2624(%ebp),%eax
4012a5:	50                   	push   %eax
4012a6:	e8 35 fe ff ff       	call   0x4010e0
4012ab:	83 c4 44             	add    $0x44,%esp
4012ae:	56                   	push   %esi
4012af:	68 00 11 00 00       	push   $0x1100
4012b4:	8d 85 dc d9 ff ff    	lea    -0x2624(%ebp),%eax
4012ba:	50                   	push   %eax
4012bb:	e8 d9 63 00 00       	call   0x407699
4012c0:	68 88 0a 42 00       	push   $0x420a88
4012c5:	68 00 11 00 00       	push   $0x1100
4012ca:	8d 85 dc d9 ff ff    	lea    -0x2624(%ebp),%eax
4012d0:	50                   	push   %eax
4012d1:	e8 c3 63 00 00       	call   0x407699
4012d6:	83 c4 18             	add    $0x18,%esp
4012d9:	c7 85 b4 d9 ff ff 00 	movl   $0x0,-0x264c(%ebp)
4012e0:	00 00 00
4012e3:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
4012e9:	50                   	push   %eax
4012ea:	e8 21 fe ff ff       	call   0x401110
4012ef:	85 d2                	test   %edx,%edx
4012f1:	7c 10                	jl     0x401303
4012f3:	7f 07                	jg     0x4012fc
4012f5:	3d 00 00 02 00       	cmp    $0x20000,%eax
4012fa:	76 07                	jbe    0x401303
4012fc:	68 8c 0a 42 00       	push   $0x420a8c
401301:	eb 05                	jmp    0x401308
401303:	68 a4 0a 42 00       	push   $0x420aa4
401308:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
40130e:	50                   	push   %eax
40130f:	8d 85 b4 d9 ff ff    	lea    -0x264c(%ebp),%eax
401315:	50                   	push   %eax
401316:	e8 6c 5f 00 00       	call   0x407287
40131b:	83 c4 0c             	add    $0xc,%esp
40131e:	8b 85 b4 d9 ff ff    	mov    -0x264c(%ebp),%eax
401324:	85 c0                	test   %eax,%eax
401326:	74 4a                	je     0x401372
401328:	6a 02                	push   $0x2
40132a:	6a 00                	push   $0x0
40132c:	50                   	push   %eax
40132d:	e8 4c 63 00 00       	call   0x40767e
401332:	83 c4 0c             	add    $0xc,%esp
401335:	8d 8d dc d9 ff ff    	lea    -0x2624(%ebp),%ecx
40133b:	8d 51 02             	lea    0x2(%ecx),%edx
40133e:	66 90                	xchg   %ax,%ax
401340:	66 8b 01             	mov    (%ecx),%ax
401343:	83 c1 02             	add    $0x2,%ecx
401346:	66 85 c0             	test   %ax,%ax
401349:	75 f5                	jne    0x401340
40134b:	2b ca                	sub    %edx,%ecx
40134d:	d1 f9                	sar    $1,%ecx
40134f:	ff b5 b4 d9 ff ff    	push   -0x264c(%ebp)
401355:	51                   	push   %ecx
401356:	6a 02                	push   $0x2
401358:	8d 85 dc d9 ff ff    	lea    -0x2624(%ebp),%eax
40135e:	50                   	push   %eax
40135f:	e8 e2 65 00 00       	call   0x407946
401364:	ff b5 b4 d9 ff ff    	push   -0x264c(%ebp)
40136a:	e8 d5 5f 00 00       	call   0x407344
40136f:	83 c4 14             	add    $0x14,%esp
401372:	68 4c 47 42 00       	push   $0x42474c
401377:	ff 15 34 b0 41 00    	call   *0x41b034
40137d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
401384:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401387:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40138e:	59                   	pop    %ecx
40138f:	5f                   	pop    %edi
401390:	5e                   	pop    %esi
401391:	5b                   	pop    %ebx
401392:	8b 4d ec             	mov    -0x14(%ebp),%ecx
401395:	33 cd                	xor    %ebp,%ecx
401397:	e8 ba 1b 00 00       	call   0x402f56
40139c:	8b e5                	mov    %ebp,%esp
40139e:	5d                   	pop    %ebp
40139f:	c2 08 00             	ret    $0x8
4013a2:	ff b5 ac d9 ff ff    	push   -0x2654(%ebp)
4013a8:	ff 15 34 b0 41 00    	call   *0x41b034
4013ae:	b8 7d 13 40 00       	mov    $0x40137d,%eax
4013b3:	c3                   	ret
4013b4:	cc                   	int3
4013b5:	cc                   	int3
4013b6:	cc                   	int3
4013b7:	cc                   	int3
4013b8:	cc                   	int3
4013b9:	cc                   	int3
4013ba:	cc                   	int3
4013bb:	cc                   	int3
4013bc:	cc                   	int3
4013bd:	cc                   	int3
4013be:	cc                   	int3
4013bf:	cc                   	int3
4013c0:	55                   	push   %ebp
4013c1:	8b ec                	mov    %esp,%ebp
4013c3:	8b 45 08             	mov    0x8(%ebp),%eax
4013c6:	89 45 08             	mov    %eax,0x8(%ebp)
4013c9:	8d 45 08             	lea    0x8(%ebp),%eax
4013cc:	68 e8 1f 42 00       	push   $0x421fe8
4013d1:	50                   	push   %eax
4013d2:	e8 60 31 00 00       	call   0x404537
4013d7:	cc                   	int3
4013d8:	cc                   	int3
4013d9:	cc                   	int3
4013da:	cc                   	int3
4013db:	cc                   	int3
4013dc:	cc                   	int3
4013dd:	cc                   	int3
4013de:	cc                   	int3
4013df:	cc                   	int3
4013e0:	55                   	push   %ebp
4013e1:	8b ec                	mov    %esp,%ebp
4013e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4013e6:	83 f9 50             	cmp    $0x50,%ecx
4013e9:	77 26                	ja     0x401411
4013eb:	0f b6 81 2c 14 40 00 	movzbl 0x40142c(%ecx),%eax
4013f2:	ff 24 85 1c 14 40 00 	jmp    *0x40141c(,%eax,4)
4013f9:	8b c1                	mov    %ecx,%eax
4013fb:	5d                   	pop    %ebp
4013fc:	c3                   	ret
4013fd:	68 0e 00 07 80       	push   $0x8007000e
401402:	e8 b9 ff ff ff       	call   0x4013c0
401407:	68 57 00 07 80       	push   $0x80070057
40140c:	e8 af ff ff ff       	call   0x4013c0
401411:	68 05 40 00 80       	push   $0x80004005
401416:	e8 a5 ff ff ff       	call   0x4013c0
40141b:	90                   	nop
40141c:	f9                   	stc
40141d:	13 40 00             	adc    0x0(%eax),%eax
401420:	fd                   	std
401421:	13 40 00             	adc    0x0(%eax),%eax
401424:	07                   	pop    %es
401425:	14 40                	adc    $0x40,%al
401427:	00 11                	add    %dl,(%ecx)
401429:	14 40                	adc    $0x40,%al
40142b:	00 00                	add    %al,(%eax)
40142d:	03 03                	add    (%ebx),%eax
40142f:	03 03                	add    (%ebx),%eax
401431:	03 03                	add    (%ebx),%eax
401433:	03 03                	add    (%ebx),%eax
401435:	03 03                	add    (%ebx),%eax
401437:	03 01                	add    (%ecx),%eax
401439:	03 03                	add    (%ebx),%eax
40143b:	03 03                	add    (%ebx),%eax
40143d:	03 03                	add    (%ebx),%eax
40143f:	03 03                	add    (%ebx),%eax
401441:	03 02                	add    (%edx),%eax
401443:	03 03                	add    (%ebx),%eax
401445:	03 03                	add    (%ebx),%eax
401447:	03 03                	add    (%ebx),%eax
401449:	03 03                	add    (%ebx),%eax
40144b:	03 03                	add    (%ebx),%eax
40144d:	03 02                	add    (%edx),%eax
40144f:	03 03                	add    (%ebx),%eax
401451:	03 03                	add    (%ebx),%eax
401453:	03 03                	add    (%ebx),%eax
401455:	03 03                	add    (%ebx),%eax
401457:	03 03                	add    (%ebx),%eax
401459:	03 03                	add    (%ebx),%eax
40145b:	03 03                	add    (%ebx),%eax
40145d:	03 03                	add    (%ebx),%eax
40145f:	03 03                	add    (%ebx),%eax
401461:	03 03                	add    (%ebx),%eax
401463:	03 03                	add    (%ebx),%eax
401465:	03 03                	add    (%ebx),%eax
401467:	03 03                	add    (%ebx),%eax
401469:	03 03                	add    (%ebx),%eax
40146b:	03 03                	add    (%ebx),%eax
40146d:	03 03                	add    (%ebx),%eax
40146f:	03 03                	add    (%ebx),%eax
401471:	03 03                	add    (%ebx),%eax
401473:	03 03                	add    (%ebx),%eax
401475:	03 03                	add    (%ebx),%eax
401477:	03 03                	add    (%ebx),%eax
401479:	03 03                	add    (%ebx),%eax
40147b:	03 00                	add    (%eax),%eax
40147d:	cc                   	int3
40147e:	cc                   	int3
40147f:	cc                   	int3
401480:	6a 00                	push   $0x0
401482:	6a 00                	push   $0x0
401484:	51                   	push   %ecx
401485:	ff 15 4c b0 41 00    	call   *0x41b04c
40148b:	85 c0                	test   %eax,%eax
40148d:	75 13                	jne    0x4014a2
40148f:	ff 15 48 b0 41 00    	call   *0x41b048
401495:	85 c0                	test   %eax,%eax
401497:	7e 0b                	jle    0x4014a4
401499:	0f b7 c0             	movzwl %ax,%eax
40149c:	0d 00 00 07 80       	or     $0x80070000,%eax
4014a1:	c3                   	ret
4014a2:	33 c0                	xor    %eax,%eax
4014a4:	c3                   	ret
4014a5:	cc                   	int3
4014a6:	cc                   	int3
4014a7:	cc                   	int3
4014a8:	cc                   	int3
4014a9:	cc                   	int3
4014aa:	cc                   	int3
4014ab:	cc                   	int3
4014ac:	cc                   	int3
4014ad:	cc                   	int3
4014ae:	cc                   	int3
4014af:	cc                   	int3
4014b0:	55                   	push   %ebp
4014b1:	8b ec                	mov    %esp,%ebp
4014b3:	53                   	push   %ebx
4014b4:	57                   	push   %edi
4014b5:	8b fa                	mov    %edx,%edi
4014b7:	8b d9                	mov    %ecx,%ebx
4014b9:	57                   	push   %edi
4014ba:	53                   	push   %ebx
4014bb:	ff 15 50 b0 41 00    	call   *0x41b050
4014c1:	85 c0                	test   %eax,%eax
4014c3:	75 04                	jne    0x4014c9
4014c5:	5f                   	pop    %edi
4014c6:	5b                   	pop    %ebx
4014c7:	5d                   	pop    %ebp
4014c8:	c3                   	ret
4014c9:	56                   	push   %esi
4014ca:	50                   	push   %eax
4014cb:	ff 15 54 b0 41 00    	call   *0x41b054
4014d1:	8b f0                	mov    %eax,%esi
4014d3:	85 f6                	test   %esi,%esi
4014d5:	74 2f                	je     0x401506
4014d7:	57                   	push   %edi
4014d8:	53                   	push   %ebx
4014d9:	ff 15 58 b0 41 00    	call   *0x41b058
4014df:	8b 4d 08             	mov    0x8(%ebp),%ecx
4014e2:	8d 14 06             	lea    (%esi,%eax,1),%edx
4014e5:	83 e1 0f             	and    $0xf,%ecx
4014e8:	76 18                	jbe    0x401502
4014ea:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4014f0:	3b f2                	cmp    %edx,%esi
4014f2:	73 12                	jae    0x401506
4014f4:	0f b7 06             	movzwl (%esi),%eax
4014f7:	8d 34 46             	lea    (%esi,%eax,2),%esi
4014fa:	83 c6 02             	add    $0x2,%esi
4014fd:	83 e9 01             	sub    $0x1,%ecx
401500:	75 ee                	jne    0x4014f0
401502:	3b f2                	cmp    %edx,%esi
401504:	72 07                	jb     0x40150d
401506:	5e                   	pop    %esi
401507:	5f                   	pop    %edi
401508:	33 c0                	xor    %eax,%eax
40150a:	5b                   	pop    %ebx
40150b:	5d                   	pop    %ebp
40150c:	c3                   	ret
40150d:	33 c0                	xor    %eax,%eax
40150f:	66 39 06             	cmp    %ax,(%esi)
401512:	0f 44 f0             	cmove  %eax,%esi
401515:	8b c6                	mov    %esi,%eax
401517:	5e                   	pop    %esi
401518:	5f                   	pop    %edi
401519:	5b                   	pop    %ebx
40151a:	5d                   	pop    %ebp
40151b:	c3                   	ret
40151c:	cc                   	int3
40151d:	cc                   	int3
40151e:	cc                   	int3
40151f:	cc                   	int3
401520:	55                   	push   %ebp
401521:	8b ec                	mov    %esp,%ebp
401523:	51                   	push   %ecx
401524:	53                   	push   %ebx
401525:	56                   	push   %esi
401526:	57                   	push   %edi
401527:	8b d9                	mov    %ecx,%ebx
401529:	b9 38 3e 42 00       	mov    $0x423e38,%ecx
40152e:	6a 00                	push   $0x0
401530:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401533:	e8 fa 28 00 00       	call   0x403e32
401538:	8b f0                	mov    %eax,%esi
40153a:	bf 01 00 00 00       	mov    $0x1,%edi
40153f:	85 f6                	test   %esi,%esi
401541:	74 3e                	je     0x401581
401543:	c1 eb 04             	shr    $0x4,%ebx
401546:	6a 00                	push   $0x0
401548:	8d 43 01             	lea    0x1(%ebx),%eax
40154b:	0f b7 c0             	movzwl %ax,%eax
40154e:	50                   	push   %eax
40154f:	6a 06                	push   $0x6
401551:	56                   	push   %esi
401552:	ff 15 60 b0 41 00    	call   *0x41b060
401558:	85 c0                	test   %eax,%eax
40155a:	74 13                	je     0x40156f
40155c:	ff 75 fc             	push   -0x4(%ebp)
40155f:	8b d0                	mov    %eax,%edx
401561:	8b ce                	mov    %esi,%ecx
401563:	e8 48 ff ff ff       	call   0x4014b0
401568:	83 c4 04             	add    $0x4,%esp
40156b:	85 c0                	test   %eax,%eax
40156d:	75 1b                	jne    0x40158a
40156f:	57                   	push   %edi
401570:	b9 38 3e 42 00       	mov    $0x423e38,%ecx
401575:	e8 b8 28 00 00       	call   0x403e32
40157a:	8b f0                	mov    %eax,%esi