4163f1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4163f4:	8b c7                	mov    %edi,%eax
4163f6:	5f                   	pop    %edi
4163f7:	5e                   	pop    %esi
4163f8:	33 cd                	xor    %ebp,%ecx
4163fa:	5b                   	pop    %ebx
4163fb:	e8 30 07 00 00       	call   0x416b30
416400:	c9                   	leave
416401:	c2 04 00             	ret    $0x4
416404:	33 c9                	xor    %ecx,%ecx
416406:	8b f9                	mov    %ecx,%edi
416408:	eb c3                	jmp    0x4163cd
41640a:	8b ff                	mov    %edi,%edi
41640c:	55                   	push   %ebp
41640d:	8b ec                	mov    %esp,%ebp
41640f:	51                   	push   %ecx
416410:	51                   	push   %ecx
416411:	8d 45 0c             	lea    0xc(%ebp),%eax
416414:	33 c9                	xor    %ecx,%ecx
416416:	89 45 f8             	mov    %eax,-0x8(%ebp)
416419:	8d 45 f8             	lea    -0x8(%ebp),%eax
41641c:	50                   	push   %eax
41641d:	51                   	push   %ecx
41641e:	8d 45 fc             	lea    -0x4(%ebp),%eax
416421:	89 4d fc             	mov    %ecx,-0x4(%ebp)
416424:	50                   	push   %eax
416425:	51                   	push   %ecx
416426:	ff 75 08             	push   0x8(%ebp)
416429:	51                   	push   %ecx
41642a:	68 00 19 00 00       	push   $0x1900
41642f:	ff 15 88 a1 44 00    	call   *0x44a188
416435:	8b 45 fc             	mov    -0x4(%ebp),%eax
416438:	c9                   	leave
416439:	c3                   	ret
41643a:	8b ff                	mov    %edi,%edi
41643c:	55                   	push   %ebp
41643d:	8b ec                	mov    %esp,%ebp
41643f:	83 ec 0c             	sub    $0xc,%esp
416442:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
416446:	8d 45 fc             	lea    -0x4(%ebp),%eax
416449:	56                   	push   %esi
41644a:	57                   	push   %edi
41644b:	50                   	push   %eax
41644c:	6a 00                	push   $0x0
41644e:	6a 08                	push   $0x8
416450:	6a fe                	push   $0xfffffffe
416452:	8b fa                	mov    %edx,%edi
416454:	ff 15 80 a4 44 00    	call   *0x44a480
41645a:	8b f0                	mov    %eax,%esi
41645c:	81 fe 7c 00 00 c0    	cmp    $0xc000007c,%esi
416462:	75 10                	jne    0x416474
416464:	8d 45 fc             	lea    -0x4(%ebp),%eax
416467:	50                   	push   %eax
416468:	6a 08                	push   $0x8
41646a:	6a ff                	push   $0xffffffff
41646c:	ff 15 74 a4 44 00    	call   *0x44a474
416472:	8b f0                	mov    %eax,%esi
416474:	85 f6                	test   %esi,%esi
416476:	78 4c                	js     0x4164c4
416478:	53                   	push   %ebx
416479:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41647c:	8d 45 f4             	lea    -0xc(%ebp),%eax
41647f:	50                   	push   %eax
416480:	8d 55 f8             	lea    -0x8(%ebp),%edx
416483:	8b cb                	mov    %ebx,%ecx
416485:	e8 76 00 00 00       	call   0x416500
41648a:	8b f0                	mov    %eax,%esi
41648c:	85 f6                	test   %esi,%esi
41648e:	78 28                	js     0x4164b8
416490:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
416494:	0f 84 50 bb 00 00    	je     0x421fea
41649a:	83 27 00             	andl   $0x0,(%edi)
41649d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4164a0:	8d 55 f4             	lea    -0xc(%ebp),%edx
4164a3:	e8 22 00 00 00       	call   0x4164ca
4164a8:	8b f0                	mov    %eax,%esi
4164aa:	85 f6                	test   %esi,%esi
4164ac:	78 0a                	js     0x4164b8
4164ae:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4164b2:	0f 85 42 bb 00 00    	jne    0x421ffa
4164b8:	85 db                	test   %ebx,%ebx
4164ba:	74 07                	je     0x4164c3
4164bc:	53                   	push   %ebx
4164bd:	ff 15 7c a4 44 00    	call   *0x44a47c
4164c3:	5b                   	pop    %ebx
4164c4:	5f                   	pop    %edi
4164c5:	8b c6                	mov    %esi,%eax
4164c7:	5e                   	pop    %esi
4164c8:	c9                   	leave
4164c9:	c3                   	ret
4164ca:	8b ff                	mov    %edi,%edi
4164cc:	55                   	push   %ebp
4164cd:	8b ec                	mov    %esp,%ebp
4164cf:	51                   	push   %ecx
4164d0:	51                   	push   %ecx
4164d1:	56                   	push   %esi
4164d2:	6a 04                	push   $0x4
4164d4:	8b f2                	mov    %edx,%esi
4164d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4164d9:	5a                   	pop    %edx
4164da:	50                   	push   %eax
4164db:	52                   	push   %edx
4164dc:	83 26 00             	andl   $0x0,(%esi)
4164df:	8d 45 f8             	lea    -0x8(%ebp),%eax
4164e2:	50                   	push   %eax
4164e3:	6a 1a                	push   $0x1a
4164e5:	51                   	push   %ecx
4164e6:	89 55 fc             	mov    %edx,-0x4(%ebp)
4164e9:	ff 15 78 a4 44 00    	call   *0x44a478
4164ef:	85 c0                	test   %eax,%eax
4164f1:	78 0a                	js     0x4164fd
4164f3:	33 c9                	xor    %ecx,%ecx
4164f5:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
4164f8:	0f 95 c1             	setne  %cl
4164fb:	89 0e                	mov    %ecx,(%esi)
4164fd:	5e                   	pop    %esi
4164fe:	c9                   	leave
4164ff:	c3                   	ret
416500:	8b ff                	mov    %edi,%edi
416502:	55                   	push   %ebp
416503:	8b ec                	mov    %esp,%ebp
416505:	83 ec 0c             	sub    $0xc,%esp
416508:	53                   	push   %ebx
416509:	8b 5d 08             	mov    0x8(%ebp),%ebx
41650c:	33 c0                	xor    %eax,%eax
41650e:	56                   	push   %esi
41650f:	40                   	inc    %eax
416510:	8b f2                	mov    %edx,%esi
416512:	57                   	push   %edi
416513:	89 45 fc             	mov    %eax,-0x4(%ebp)
416516:	8b f9                	mov    %ecx,%edi
416518:	89 03                	mov    %eax,(%ebx)
41651a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41651d:	83 26 00             	andl   $0x0,(%esi)
416520:	50                   	push   %eax
416521:	6a 04                	push   $0x4
416523:	8d 45 fc             	lea    -0x4(%ebp),%eax
416526:	50                   	push   %eax
416527:	6a 12                	push   $0x12
416529:	57                   	push   %edi
41652a:	ff 15 78 a4 44 00    	call   *0x44a478
416530:	85 c0                	test   %eax,%eax
416532:	78 10                	js     0x416544
416534:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
416538:	0f 85 d0 ba 00 00    	jne    0x42200e
41653e:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
416544:	5f                   	pop    %edi
416545:	5e                   	pop    %esi
416546:	5b                   	pop    %ebx
416547:	c9                   	leave
416548:	c2 04 00             	ret    $0x4
41654b:	8b ff                	mov    %edi,%edi
41654d:	55                   	push   %ebp
41654e:	8b ec                	mov    %esp,%ebp
416550:	83 ec 14             	sub    $0x14,%esp
416553:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
416557:	53                   	push   %ebx
416558:	56                   	push   %esi
416559:	57                   	push   %edi
41655a:	6a 03                	push   $0x3
41655c:	8b f9                	mov    %ecx,%edi
41655e:	c7 45 ec 0c 00 00 00 	movl   $0xc,-0x14(%ebp)
416565:	5b                   	pop    %ebx
416566:	33 c9                	xor    %ecx,%ecx
416568:	8b f2                	mov    %edx,%esi
41656a:	41                   	inc    %ecx
41656b:	23 d3                	and    %ebx,%edx
41656d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
416570:	83 fa 02             	cmp    $0x2,%edx
416573:	77 09                	ja     0x41657e
416575:	8b c6                	mov    %esi,%eax
416577:	83 e0 09             	and    $0x9,%eax
41657a:	3c 09                	cmp    $0x9,%al
41657c:	75 0c                	jne    0x41658a
41657e:	83 ce ff             	or     $0xffffffff,%esi
416581:	5f                   	pop    %edi
416582:	8b c6                	mov    %esi,%eax
416584:	5e                   	pop    %esi
416585:	5b                   	pop    %ebx
416586:	c9                   	leave
416587:	c2 08 00             	ret    $0x8
41658a:	68 1c 24 40 00       	push   $0x40241c
41658f:	57                   	push   %edi
416590:	85 d2                	test   %edx,%edx
416592:	0f 85 ad ba 00 00    	jne    0x422045
416598:	be 00 00 00 80       	mov    $0x80000000,%esi
41659d:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4165a4:	ff 15 40 a4 44 00    	call   *0x44a440
4165aa:	59                   	pop    %ecx
4165ab:	59                   	pop    %ecx
4165ac:	85 c0                	test   %eax,%eax
4165ae:	74 4f                	je     0x4165ff
4165b0:	8b cf                	mov    %edi,%ecx
4165b2:	e8 a9 9a ff ff       	call   0x410060
4165b7:	8b c8                	mov    %eax,%ecx
4165b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4165bc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4165bf:	83 f8 02             	cmp    $0x2,%eax
4165c2:	0f 84 9d ba 00 00    	je     0x422065
4165c8:	6a 00                	push   $0x0
4165ca:	68 80 00 00 08       	push   $0x8000080
4165cf:	50                   	push   %eax
4165d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4165d3:	50                   	push   %eax
4165d4:	53                   	push   %ebx
4165d5:	56                   	push   %esi
4165d6:	51                   	push   %ecx
4165d7:	ff 15 ac a0 44 00    	call   *0x44a0ac
4165dd:	8b f8                	mov    %eax,%edi
4165df:	83 ff ff             	cmp    $0xffffffff,%edi
4165e2:	0f 84 b5 ba 00 00    	je     0x42209d
4165e8:	6a 08                	push   $0x8
4165ea:	57                   	push   %edi
4165eb:	ff 15 88 a3 44 00    	call   *0x44a388
4165f1:	8b f0                	mov    %eax,%esi
4165f3:	59                   	pop    %ecx
4165f4:	59                   	pop    %ecx
4165f5:	83 fe ff             	cmp    $0xffffffff,%esi
4165f8:	75 87                	jne    0x416581
4165fa:	e9 92 ba 00 00       	jmp    0x422091
4165ff:	33 db                	xor    %ebx,%ebx
416601:	43                   	inc    %ebx
416602:	eb ac                	jmp    0x4165b0
416604:	8b ff                	mov    %edi,%edi
416606:	55                   	push   %ebp
416607:	8b ec                	mov    %esp,%ebp
416609:	83 ec 0c             	sub    $0xc,%esp
41660c:	53                   	push   %ebx
41660d:	56                   	push   %esi
41660e:	8b 75 08             	mov    0x8(%ebp),%esi
416611:	8b d9                	mov    %ecx,%ebx
416613:	57                   	push   %edi
416614:	89 55 f8             	mov    %edx,-0x8(%ebp)
416617:	33 ff                	xor    %edi,%edi
416619:	8d 4e 02             	lea    0x2(%esi),%ecx
41661c:	66 8b 06             	mov    (%esi),%ax
41661f:	83 c6 02             	add    $0x2,%esi
416622:	66 3b c7             	cmp    %di,%ax
416625:	75 f5                	jne    0x41661c
416627:	2b f1                	sub    %ecx,%esi
416629:	d1 fe                	sar    $1,%esi
41662b:	8d 0c 75 28 00 00 00 	lea    0x28(,%esi,2),%ecx
416632:	89 4d f4             	mov    %ecx,-0xc(%ebp)
416635:	e8 96 76 ff ff       	call   0x40dcd0
41663a:	8b f0                	mov    %eax,%esi
41663c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41663f:	85 f6                	test   %esi,%esi
416641:	74 52                	je     0x416695
416643:	ff 75 08             	push   0x8(%ebp)
416646:	8b 45 f4             	mov    -0xc(%ebp),%eax
416649:	ff 75 f8             	push   -0x8(%ebp)
41664c:	d1 e8                	shr    $1,%eax
41664e:	50                   	push   %eax
41664f:	56                   	push   %esi
416650:	e8 6a 34 ff ff       	call   0x409abf
416655:	83 c4 10             	add    $0x10,%esp
416658:	8d 4e 02             	lea    0x2(%esi),%ecx
41665b:	66 8b 06             	mov    (%esi),%ax
41665e:	83 c6 02             	add    $0x2,%esi
416661:	66 3b c7             	cmp    %di,%ax
416664:	75 f5                	jne    0x41665b
416666:	8b 43 08             	mov    0x8(%ebx),%eax
416669:	2b f1                	sub    %ecx,%esi
41666b:	8b 53 0c             	mov    0xc(%ebx),%edx
41666e:	d1 fe                	sar    $1,%esi
416670:	03 c6                	add    %esi,%eax
416672:	3b c2                	cmp    %edx,%eax
416674:	73 24                	jae    0x41669a
416676:	ff 75 fc             	push   -0x4(%ebp)
416679:	8b 4b 10             	mov    0x10(%ebx),%ecx
41667c:	e8 bf 95 ff ff       	call   0x40fc40
416681:	01 73 08             	add    %esi,0x8(%ebx)
416684:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416687:	e8 d4 75 ff ff       	call   0x40dc60
41668c:	8b c7                	mov    %edi,%eax
41668e:	5f                   	pop    %edi
41668f:	5e                   	pop    %esi
416690:	5b                   	pop    %ebx
416691:	c9                   	leave
416692:	c2 04 00             	ret    $0x4
416695:	33 c0                	xor    %eax,%eax
416697:	40                   	inc    %eax
416698:	eb f4                	jmp    0x41668e
41669a:	33 ff                	xor    %edi,%edi
41669c:	47                   	inc    %edi
41669d:	eb e5                	jmp    0x416684
41669f:	8b ff                	mov    %edi,%edi
4166a1:	55                   	push   %ebp
4166a2:	8b ec                	mov    %esp,%ebp
4166a4:	51                   	push   %ecx
4166a5:	51                   	push   %ecx
4166a6:	53                   	push   %ebx
4166a7:	56                   	push   %esi
4166a8:	8b f1                	mov    %ecx,%esi
4166aa:	8b da                	mov    %edx,%ebx
4166ac:	57                   	push   %edi
4166ad:	0f b7 06             	movzwl (%esi),%eax
4166b0:	8b c8                	mov    %eax,%ecx
4166b2:	83 f8 3a             	cmp    $0x3a,%eax
4166b5:	0f 84 05 ba 00 00    	je     0x4220c0
4166bb:	8b 7b 0c             	mov    0xc(%ebx),%edi
4166be:	33 c0                	xor    %eax,%eax
4166c0:	66 85 c9             	test   %cx,%cx
4166c3:	74 59                	je     0x41671e
4166c5:	8d 43 10             	lea    0x10(%ebx),%eax
4166c8:	8d 04 f8             	lea    (%eax,%edi,8),%eax
4166cb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4166ce:	8d 43 14             	lea    0x14(%ebx),%eax
4166d1:	8d 04 f8             	lea    (%eax,%edi,8),%eax
4166d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4166d7:	33 c0                	xor    %eax,%eax
4166d9:	83 ff 06             	cmp    $0x6,%edi
4166dc:	73 40                	jae    0x41671e
4166de:	0f b7 06             	movzwl (%esi),%eax
4166e1:	50                   	push   %eax
4166e2:	ff 15 18 a4 44 00    	call   *0x44a418
4166e8:	59                   	pop    %ecx
4166e9:	6a 2d                	push   $0x2d
4166eb:	0f b7 c0             	movzwl %ax,%eax
4166ee:	59                   	pop    %ecx
4166ef:	2b c1                	sub    %ecx,%eax
4166f1:	0f 84 21 ba 00 00    	je     0x422118
4166f7:	83 e8 17             	sub    $0x17,%eax
4166fa:	0f 85 cb b9 00 00    	jne    0x4220cb
416700:	8b 45 fc             	mov    -0x4(%ebp),%eax
416703:	c7 00 20 a3 42 00    	movl   $0x42a320,(%eax)
416709:	83 45 f8 08          	addl   $0x8,-0x8(%ebp)
41670d:	83 c0 08             	add    $0x8,%eax
416710:	83 c6 02             	add    $0x2,%esi
416713:	89 45 fc             	mov    %eax,-0x4(%ebp)
416716:	33 c0                	xor    %eax,%eax
416718:	47                   	inc    %edi
416719:	66 39 06             	cmp    %ax,(%esi)
41671c:	75 bb                	jne    0x4166d9
41671e:	85 ff                	test   %edi,%edi
416720:	0f 84 2c ba 00 00    	je     0x422152
416726:	89 7b 0c             	mov    %edi,0xc(%ebx)
416729:	89 44 fb 14          	mov    %eax,0x14(%ebx,%edi,8)
41672d:	33 c0                	xor    %eax,%eax
41672f:	5f                   	pop    %edi
416730:	5e                   	pop    %esi
416731:	5b                   	pop    %ebx
416732:	c9                   	leave
416733:	c3                   	ret
416734:	cc                   	int3
416735:	cc                   	int3
416736:	cc                   	int3
416737:	cc                   	int3
416738:	cc                   	int3
416739:	cc                   	int3