4182c9:	e8 16 f6 fe ff       	call   0x4078e4
4182ce:	8b 7c 24 20          	mov    0x20(%esp),%edi
4182d2:	83 c4 0c             	add    $0xc,%esp
4182d5:	8b 74 24 18          	mov    0x18(%esp),%esi
4182d9:	83 64 24 3c 00       	andl   $0x0,0x3c(%esp)
4182de:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4182e2:	89 44 24 10          	mov    %eax,0x10(%esp)
4182e6:	85 f6                	test   %esi,%esi
4182e8:	0f 8e 50 01 00 00    	jle    0x41843e
4182ee:	83 fe 50             	cmp    $0x50,%esi
4182f1:	7e 05                	jle    0x4182f8
4182f3:	6a 50                	push   $0x50
4182f5:	5f                   	pop    %edi
4182f6:	eb 0a                	jmp    0x418302
4182f8:	8b fe                	mov    %esi,%edi
4182fa:	85 f6                	test   %esi,%esi
4182fc:	0f 84 38 01 00 00    	je     0x41843a
418302:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
418309:	0f 85 cf 01 00 00    	jne    0x4184de
41830f:	8b cb                	mov    %ebx,%ecx
418311:	e8 fb 16 ff ff       	call   0x409a11
418316:	85 c0                	test   %eax,%eax
418318:	74 3e                	je     0x418358
41831a:	6a 00                	push   $0x0
41831c:	8d 44 24 20          	lea    0x20(%esp),%eax
418320:	50                   	push   %eax
418321:	57                   	push   %edi
418322:	ff 74 24 1c          	push   0x1c(%esp)
418326:	6a f5                	push   $0xfffffff5
418328:	ff 15 bc a1 44 00    	call   *0x44a1bc
41832e:	50                   	push   %eax
41832f:	ff 15 0c a0 44 00    	call   *0x44a00c
418335:	8b c8                	mov    %eax,%ecx
418337:	89 4c 24 40          	mov    %ecx,0x40(%esp)
41833b:	85 c9                	test   %ecx,%ecx
41833d:	74 29                	je     0x418368
41833f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
418343:	3b cf                	cmp    %edi,%ecx
418345:	75 21                	jne    0x418368
418347:	2b f1                	sub    %ecx,%esi
418349:	03 c9                	add    %ecx,%ecx
41834b:	01 4c 24 10          	add    %ecx,0x10(%esp)
41834f:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
418353:	e9 98 00 00 00       	jmp    0x4183f0
418358:	80 3d 50 90 44 00 00 	cmpb   $0x0,0x449050
41835f:	75 37                	jne    0x418398
418361:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
418366:	75 3d                	jne    0x4183a5
418368:	6a 00                	push   $0x0
41836a:	8d 44 24 20          	lea    0x20(%esp),%eax
41836e:	50                   	push   %eax
41836f:	57                   	push   %edi
418370:	ff 74 24 1c          	push   0x1c(%esp)
418374:	53                   	push   %ebx
418375:	ff 15 2c a4 44 00    	call   *0x44a42c
41837b:	59                   	pop    %ecx
41837c:	50                   	push   %eax
41837d:	ff 15 b0 a0 44 00    	call   *0x44a0b0
418383:	8b d0                	mov    %eax,%edx
418385:	8b 44 24 1c          	mov    0x1c(%esp),%eax
418389:	2b f0                	sub    %eax,%esi
41838b:	01 44 24 10          	add    %eax,0x10(%esp)
41838f:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
418392:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
418396:	eb 5c                	jmp    0x4183f4
418398:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
41839d:	75 06                	jne    0x4183a5
41839f:	8b 44 24 10          	mov    0x10(%esp),%eax
4183a3:	eb 12                	jmp    0x4183b7
4183a5:	8b 44 24 10          	mov    0x10(%esp),%eax
4183a9:	0f b7 0c 78          	movzwl (%eax,%edi,2),%ecx
4183ad:	89 4c 24 44          	mov    %ecx,0x44(%esp)
4183b1:	33 c9                	xor    %ecx,%ecx
4183b3:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
4183b7:	8d 54 24 1c          	lea    0x1c(%esp),%edx
4183bb:	52                   	push   %edx
4183bc:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
4183bf:	8b d0                	mov    %eax,%edx
4183c1:	51                   	push   %ecx
4183c2:	8b cb                	mov    %ebx,%ecx
4183c4:	e8 72 17 ff ff       	call   0x409b3b
4183c9:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
4183ce:	8b 54 24 10          	mov    0x10(%esp),%edx
4183d2:	89 44 24 40          	mov    %eax,0x40(%esp)
4183d6:	74 08                	je     0x4183e0
4183d8:	8b 44 24 44          	mov    0x44(%esp),%eax
4183dc:	66 89 04 7a          	mov    %ax,(%edx,%edi,2)
4183e0:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4183e4:	8b c1                	mov    %ecx,%eax
4183e6:	d1 e8                	shr    $1,%eax
4183e8:	2b f0                	sub    %eax,%esi
4183ea:	03 d1                	add    %ecx,%edx
4183ec:	89 54 24 10          	mov    %edx,0x10(%esp)
4183f0:	8b 54 24 40          	mov    0x40(%esp),%edx
4183f4:	85 d2                	test   %edx,%edx
4183f6:	74 07                	je     0x4183ff
4183f8:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4183fb:	3b c8                	cmp    %eax,%ecx
4183fd:	74 33                	je     0x418432
4183ff:	ff 15 80 a0 44 00    	call   *0x44a080
418405:	a3 a8 67 43 00       	mov    %eax,0x4367a8
41840a:	85 c0                	test   %eax,%eax
41840c:	75 0a                	jne    0x418418
41840e:	c7 05 a8 67 43 00 70 	movl   $0x70,0x4367a8
418415:	00 00 00
418418:	8b cb                	mov    %ebx,%ecx
41841a:	e8 79 59 ff ff       	call   0x40dd98
41841f:	85 c0                	test   %eax,%eax
418421:	0f 84 91 00 00 00    	je     0x4184b8
418427:	6a 00                	push   $0x0
418429:	6a 1d                	push   $0x1d
41842b:	e8 b4 f4 fe ff       	call   0x4078e4
418430:	59                   	pop    %ecx
418431:	59                   	pop    %ecx
418432:	85 f6                	test   %esi,%esi
418434:	0f 8f b4 fe ff ff    	jg     0x4182ee
41843a:	8b 7c 24 14          	mov    0x14(%esp),%edi
41843e:	8b 54 24 30          	mov    0x30(%esp),%edx
418442:	8b c2                	mov    %edx,%eax
418444:	8b 4c 24 34          	mov    0x34(%esp),%ecx
418448:	0b c1                	or     %ecx,%eax
41844a:	8b 74 24 20          	mov    0x20(%esp),%esi
41844e:	74 25                	je     0x418475
418450:	53                   	push   %ebx
418451:	8d 44 24 34          	lea    0x34(%esp),%eax
418455:	50                   	push   %eax
418456:	6a 00                	push   $0x0
418458:	6a 00                	push   $0x0
41845a:	56                   	push   %esi
41845b:	ff 15 2c a4 44 00    	call   *0x44a42c
418461:	59                   	pop    %ecx
418462:	50                   	push   %eax
418463:	ff 15 b4 a0 44 00    	call   *0x44a0b4
418469:	8b 4c 24 34          	mov    0x34(%esp),%ecx
41846d:	8b 54 24 30          	mov    0x30(%esp),%edx
418471:	8b 7c 24 14          	mov    0x14(%esp),%edi
418475:	3b 7c 24 28          	cmp    0x28(%esp),%edi
418479:	0f 85 d5 c3 fe ff    	jne    0x404854
41847f:	39 4c 24 4c          	cmp    %ecx,0x4c(%esp)
418483:	0f 8c cb c3 fe ff    	jl     0x404854
418489:	0f 8f 85 c3 fe ff    	jg     0x404814
41848f:	39 54 24 48          	cmp    %edx,0x48(%esp)
418493:	0f 86 bb c3 fe ff    	jbe    0x404854
418499:	e9 76 c3 fe ff       	jmp    0x404814
41849e:	ff 15 80 a0 44 00    	call   *0x44a080
4184a4:	6a 00                	push   $0x0
4184a6:	50                   	push   %eax
4184a7:	a3 a8 67 43 00       	mov    %eax,0x4367a8
4184ac:	e8 33 f4 fe ff       	call   0x4078e4
4184b1:	59                   	pop    %ecx
4184b2:	59                   	pop    %ecx
4184b3:	e9 9c c3 fe ff       	jmp    0x404854
4184b8:	8b cb                	mov    %ebx,%ecx
4184ba:	e8 10 1b 01 00       	call   0x429fcf
4184bf:	85 c0                	test   %eax,%eax
4184c1:	74 10                	je     0x4184d3
4184c3:	6a 00                	push   $0x0
4184c5:	68 64 23 00 00       	push   $0x2364
4184ca:	e8 15 f4 fe ff       	call   0x4078e4
4184cf:	59                   	pop    %ecx
4184d0:	59                   	pop    %ecx
4184d1:	eb 0b                	jmp    0x4184de
4184d3:	8b 0d a8 67 43 00    	mov    0x4367a8,%ecx
4184d9:	e8 fd 19 01 00       	call   0x429edb
4184de:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4184e2:	e8 85 1c ff ff       	call   0x40a16c
4184e7:	e9 71 c3 fe ff       	jmp    0x40485d
4184ec:	8b 74 24 20          	mov    0x20(%esp),%esi
4184f0:	e9 5f c3 fe ff       	jmp    0x404854
4184f5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4184f8:	85 c0                	test   %eax,%eax
4184fa:	75 06                	jne    0x418502
4184fc:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
418502:	50                   	push   %eax
418503:	ff 15 68 a3 44 00    	call   *0x44a368
418509:	59                   	pop    %ecx
41850a:	e9 1a c4 fe ff       	jmp    0x404929
41850f:	56                   	push   %esi
418510:	6a 2e                	push   $0x2e
418512:	5a                   	pop    %edx
418513:	e8 dd 7c ff ff       	call   0x4101f5
418518:	8b f0                	mov    %eax,%esi
41851a:	85 f6                	test   %esi,%esi
41851c:	74 13                	je     0x418531
41851e:	6a 20                	push   $0x20
418520:	5a                   	pop    %edx
418521:	8b ce                	mov    %esi,%ecx
418523:	e8 07 21 ff ff       	call   0x40a62f
418528:	85 c0                	test   %eax,%eax
41852a:	74 05                	je     0x418531
41852c:	33 c0                	xor    %eax,%eax
41852e:	66 89 06             	mov    %ax,(%esi)
418531:	5e                   	pop    %esi
418532:	e9 54 c4 fe ff       	jmp    0x40498b
418537:	33 c9                	xor    %ecx,%ecx
418539:	41                   	inc    %ecx
41853a:	e8 d2 14 ff ff       	call   0x409a11
41853f:	8b 73 10             	mov    0x10(%ebx),%esi
418542:	85 c0                	test   %eax,%eax
418544:	0f 84 db 00 00 00    	je     0x418625
41854a:	8b 43 08             	mov    0x8(%ebx),%eax
41854d:	8d 04 46             	lea    (%esi,%eax,2),%eax
418550:	89 45 f8             	mov    %eax,-0x8(%ebp)
418553:	3b f0                	cmp    %eax,%esi
418555:	0f 83 4b c4 fe ff    	jae    0x4049a6
41855b:	b9 22 20 00 00       	mov    $0x2022,%ecx
418560:	8b fe                	mov    %esi,%edi
418562:	3b f0                	cmp    %eax,%esi
418564:	0f 83 3c c4 fe ff    	jae    0x4049a6
41856a:	66 39 0f             	cmp    %cx,(%edi)
41856d:	74 07                	je     0x418576
41856f:	83 c7 02             	add    $0x2,%edi
418572:	3b f8                	cmp    %eax,%edi
418574:	72 f4                	jb     0x41856a
418576:	3b fe                	cmp    %esi,%edi
418578:	74 49                	je     0x4185c3
41857a:	6a 00                	push   $0x0
41857c:	8b c7                	mov    %edi,%eax
41857e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418581:	2b c6                	sub    %esi,%eax
418583:	51                   	push   %ecx
418584:	d1 f8                	sar    $1,%eax
418586:	50                   	push   %eax
418587:	56                   	push   %esi
418588:	6a 01                	push   $0x1
41858a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41858d:	ff 15 2c a4 44 00    	call   *0x44a42c
418593:	59                   	pop    %ecx
418594:	50                   	push   %eax
418595:	ff 15 0c a0 44 00    	call   *0x44a00c
41859b:	85 c0                	test   %eax,%eax
41859d:	0f 84 a8 00 00 00    	je     0x41864b
4185a3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4185a6:	39 45 fc             	cmp    %eax,-0x4(%ebp)
4185a9:	0f 85 9c 00 00 00    	jne    0x41864b
4185af:	8b 45 f8             	mov    -0x8(%ebp),%eax
4185b2:	8b f7                	mov    %edi,%esi
4185b4:	b9 22 20 00 00       	mov    $0x2022,%ecx
4185b9:	eb 08                	jmp    0x4185c3
4185bb:	66 39 0f             	cmp    %cx,(%edi)
4185be:	75 07                	jne    0x4185c7
4185c0:	83 c7 02             	add    $0x2,%edi
4185c3:	3b f8                	cmp    %eax,%edi
4185c5:	72 f4                	jb     0x4185bb
4185c7:	3b fe                	cmp    %esi,%edi
4185c9:	74 48                	je     0x418613
4185cb:	83 3b 00             	cmpl   $0x0,(%ebx)
4185ce:	74 0a                	je     0x4185da
4185d0:	6a 02                	push   $0x2
4185d2:	ff 33                	push   (%ebx)
4185d4:	ff 15 14 a0 44 00    	call   *0x44a014
4185da:	6a 00                	push   $0x0
4185dc:	8b c7                	mov    %edi,%eax
4185de:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4185e1:	2b c6                	sub    %esi,%eax
4185e3:	51                   	push   %ecx
4185e4:	d1 f8                	sar    $1,%eax
4185e6:	50                   	push   %eax
4185e7:	56                   	push   %esi
4185e8:	6a 01                	push   $0x1
4185ea:	89 45 f4             	mov    %eax,-0xc(%ebp)
4185ed:	ff 15 2c a4 44 00    	call   *0x44a42c
4185f3:	59                   	pop    %ecx
4185f4:	50                   	push   %eax
4185f5:	ff 15 0c a0 44 00    	call   *0x44a00c
4185fb:	8b f0                	mov    %eax,%esi
4185fd:	e8 0e 5d ff ff       	call   0x40e310
418602:	85 f6                	test   %esi,%esi
418604:	74 45                	je     0x41864b
418606:	8b 45 f4             	mov    -0xc(%ebp),%eax
418609:	39 45 fc             	cmp    %eax,-0x4(%ebp)
41860c:	75 3d                	jne    0x41864b
41860e:	8b 45 f8             	mov    -0x8(%ebp),%eax
418611:	8b f7                	mov    %edi,%esi
418613:	b9 22 20 00 00       	mov    $0x2022,%ecx
418618:	3b f0                	cmp    %eax,%esi
41861a:	0f 82 40 ff ff ff    	jb     0x418560
418620:	e9 81 c3 fe ff       	jmp    0x4049a6
418625:	8d 45 f0             	lea    -0x10(%ebp),%eax
418628:	33 c9                	xor    %ecx,%ecx
41862a:	50                   	push   %eax
41862b:	8b 43 08             	mov    0x8(%ebx),%eax
41862e:	8b d6                	mov    %esi,%edx
418630:	03 c0                	add    %eax,%eax
418632:	41                   	inc    %ecx
418633:	50                   	push   %eax
418634:	e8 02 15 ff ff       	call   0x409b3b
418639:	85 c0                	test   %eax,%eax
41863b:	74 0e                	je     0x41864b
41863d:	8b 43 08             	mov    0x8(%ebx),%eax
418640:	03 c0                	add    %eax,%eax
418642:	39 45 f0             	cmp    %eax,-0x10(%ebp)
418645:	0f 83 5b c3 fe ff    	jae    0x4049a6
41864b:	33 c9                	xor    %ecx,%ecx
41864d:	41                   	inc    %ecx
41864e:	e8 45 57 ff ff       	call   0x40dd98
418653:	85 c0                	test   %eax,%eax
418655:	74 06                	je     0x41865d
418657:	6a 00                	push   $0x0
418659:	6a 1d                	push   $0x1d
41865b:	eb 0f                	jmp    0x41866c
41865d:	33 c9                	xor    %ecx,%ecx
41865f:	41                   	inc    %ecx
418660:	e8 6a 19 01 00       	call   0x429fcf
418665:	85 c0                	test   %eax,%eax
418667:	75 0a                	jne    0x418673
418669:	50                   	push   %eax
41866a:	6a 70                	push   $0x70
41866c:	e8 73 f2 fe ff       	call   0x4078e4
418671:	59                   	pop    %ecx
418672:	59                   	pop    %ecx
418673:	e8 aa 12 01 00       	call   0x429922
418678:	6a 01                	push   $0x1
41867a:	68 30 0a 44 00       	push   $0x440a30
41867f:	ff 15 30 a4 44 00    	call   *0x44a430
418685:	cc                   	int3
418686:	8b c1                	mov    %ecx,%eax
418688:	2b c7                	sub    %edi,%eax
41868a:	d1 f8                	sar    $1,%eax
41868c:	eb 04                	jmp    0x418692
41868e:	2b 43 20             	sub    0x20(%ebx),%eax
418691:	46                   	inc    %esi
418692:	3b 43 20             	cmp    0x20(%ebx),%eax
418695:	77 f7                	ja     0x41868e
418697:	46                   	inc    %esi
418698:	8d 79 02             	lea    0x2(%ecx),%edi
41869b:	e9 30 c3 fe ff       	jmp    0x4049d0
4186a0:	8b 47 08             	mov    0x8(%edi),%eax
4186a3:	8d 04 46             	lea    (%esi,%eax,2),%eax
4186a6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4186a9:	3b f0                	cmp    %eax,%esi
4186ab:	0f 83 96 c3 fe ff    	jae    0x404a47
4186b1:	b9 22 20 00 00       	mov    $0x2022,%ecx
4186b6:	8b de                	mov    %esi,%ebx
4186b8:	3b f0                	cmp    %eax,%esi
4186ba:	0f 83 87 c3 fe ff    	jae    0x404a47
4186c0:	66 39 0b             	cmp    %cx,(%ebx)
4186c3:	74 07                	je     0x4186cc
4186c5:	83 c3 02             	add    $0x2,%ebx
4186c8:	3b d8                	cmp    %eax,%ebx
4186ca:	72 f4                	jb     0x4186c0
4186cc:	3b de                	cmp    %esi,%ebx
4186ce:	74 49                	je     0x418719
4186d0:	6a 00                	push   $0x0
4186d2:	8b c3                	mov    %ebx,%eax
4186d4:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4186d7:	2b c6                	sub    %esi,%eax
4186d9:	51                   	push   %ecx
4186da:	d1 f8                	sar    $1,%eax
4186dc:	50                   	push   %eax