438676:	0f 85 ab 00 00 00    	jne    0x438727
43867c:	39 05 94 8c 4c 00    	cmp    %eax,0x4c8c94
438682:	74 4f                	je     0x4386d3
438684:	ff 15 30 e1 49 00    	call   *0x49e130
43868a:	8b 35 94 8c 4c 00    	mov    0x4c8c94,%esi
438690:	8b ce                	mov    %esi,%ecx
438692:	50                   	push   %eax
438693:	68 f8 54 4b 00       	push   $0x4b54f8
438698:	68 60 ea 4a 00       	push   $0x4aea60
43869d:	68 60 ea 4a 00       	push   $0x4aea60
4386a2:	68 64 54 4b 00       	push   $0x4b5464
4386a7:	68 10 0d 4b 00       	push   $0x4b0d10
4386ac:	6a 32                	push   $0x32
4386ae:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4386b4:	ff d6                	call   *%esi
4386b6:	83 c4 1c             	add    $0x1c,%esp
4386b9:	8b d7                	mov    %edi,%edx
4386bb:	8b cb                	mov    %ebx,%ecx
4386bd:	e8 4e fd ff ff       	call   0x438410
4386c2:	5f                   	pop    %edi
4386c3:	5e                   	pop    %esi
4386c4:	5b                   	pop    %ebx
4386c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4386c8:	33 cd                	xor    %ebp,%ecx
4386ca:	e8 fb 12 03 00       	call   0x4699ca
4386cf:	8b e5                	mov    %ebp,%esp
4386d1:	5d                   	pop    %ebp
4386d2:	c3                   	ret
4386d3:	8b 35 98 8c 4c 00    	mov    0x4c8c98,%esi
4386d9:	85 f6                	test   %esi,%esi
4386db:	74 30                	je     0x43870d
4386dd:	8b 36                	mov    (%esi),%esi
4386df:	ff 15 30 e1 49 00    	call   *0x49e130
4386e5:	8b 76 34             	mov    0x34(%esi),%esi
4386e8:	8b ce                	mov    %esi,%ecx
4386ea:	50                   	push   %eax
4386eb:	68 f8 54 4b 00       	push   $0x4b54f8
4386f0:	68 64 54 4b 00       	push   $0x4b5464
4386f5:	68 60 ea 4a 00       	push   $0x4aea60
4386fa:	6a 32                	push   $0x32
4386fc:	ff 35 98 8c 4c 00    	push   0x4c8c98
438702:	ff 15 d4 e2 49 00    	call   *0x49e2d4
438708:	ff d6                	call   *%esi
43870a:	83 c4 18             	add    $0x18,%esp
43870d:	8b d7                	mov    %edi,%edx
43870f:	8b cb                	mov    %ebx,%ecx
438711:	e8 fa fc ff ff       	call   0x438410
438716:	5f                   	pop    %edi
438717:	5e                   	pop    %esi
438718:	5b                   	pop    %ebx
438719:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43871c:	33 cd                	xor    %ebp,%ecx
43871e:	e8 a7 12 03 00       	call   0x4699ca
438723:	8b e5                	mov    %ebp,%esp
438725:	5d                   	pop    %ebp
438726:	c3                   	ret
438727:	66 83 7d f8 00       	cmpw   $0x0,-0x8(%ebp)
43872c:	74 06                	je     0x438734
43872e:	c7 03 40 00 00 00    	movl   $0x40,(%ebx)
438734:	66 8b 4d f4          	mov    -0xc(%ebp),%cx
438738:	b8 64 aa 00 00       	mov    $0xaa64,%eax
43873d:	66 3b c8             	cmp    %ax,%cx
438740:	75 19                	jne    0x43875b
438742:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
438748:	b0 01                	mov    $0x1,%al
43874a:	5f                   	pop    %edi
43874b:	5e                   	pop    %esi
43874c:	5b                   	pop    %ebx
43874d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438750:	33 cd                	xor    %ebp,%ecx
438752:	e8 73 12 03 00       	call   0x4699ca
438757:	8b e5                	mov    %ebp,%esp
438759:	5d                   	pop    %ebp
43875a:	c3                   	ret
43875b:	33 c0                	xor    %eax,%eax
43875d:	ba 64 86 00 00       	mov    $0x8664,%edx
438762:	66 3b ca             	cmp    %dx,%cx
438765:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438768:	0f 94 c0             	sete   %al
43876b:	33 cd                	xor    %ebp,%ecx
43876d:	89 07                	mov    %eax,(%edi)
43876f:	b0 01                	mov    $0x1,%al
438771:	5f                   	pop    %edi
438772:	5e                   	pop    %esi
438773:	5b                   	pop    %ebx
438774:	e8 51 12 03 00       	call   0x4699ca
438779:	8b e5                	mov    %ebp,%esp
43877b:	5d                   	pop    %ebp
43877c:	c3                   	ret
43877d:	cc                   	int3
43877e:	cc                   	int3
43877f:	cc                   	int3
438780:	55                   	push   %ebp
438781:	8b ec                	mov    %esp,%ebp
438783:	83 e4 f8             	and    $0xfffffff8,%esp
438786:	81 ec 2c 01 00 00    	sub    $0x12c,%esp
43878c:	a1 14 40 4c 00       	mov    0x4c4014,%eax
438791:	33 c4                	xor    %esp,%eax
438793:	89 84 24 28 01 00 00 	mov    %eax,0x128(%esp)
43879a:	53                   	push   %ebx
43879b:	8b d9                	mov    %ecx,%ebx
43879d:	56                   	push   %esi
43879e:	57                   	push   %edi
43879f:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
4387a3:	be 04 00 00 00       	mov    $0x4,%esi
4387a8:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4387ae:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
4387b5:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4387bc:	0f 1f 40 00          	nopl   0x0(%eax)
4387c0:	68 10 01 00 00       	push   $0x110
4387c5:	8d 44 24 18          	lea    0x18(%esp),%eax
4387c9:	c7 44 24 14 1c 01 00 	movl   $0x11c,0x14(%esp)
4387d0:	00
4387d1:	6a 00                	push   $0x0
4387d3:	50                   	push   %eax
4387d4:	e8 d7 33 03 00       	call   0x46bbb0
4387d9:	83 c4 0c             	add    $0xc,%esp
4387dc:	33 c0                	xor    %eax,%eax
4387de:	66 89 84 24 24 01 00 	mov    %ax,0x124(%esp)
4387e5:	00
4387e6:	89 84 24 26 01 00 00 	mov    %eax,0x126(%esp)
4387ed:	66 89 84 24 2a 01 00 	mov    %ax,0x12a(%esp)
4387f4:	00
4387f5:	6a 03                	push   $0x3
4387f7:	6a 20                	push   $0x20
4387f9:	6a 03                	push   $0x3
4387fb:	6a 01                	push   $0x1
4387fd:	6a 03                	push   $0x3
4387ff:	6a 02                	push   $0x2
438801:	50                   	push   %eax
438802:	50                   	push   %eax
438803:	ff 15 3c e2 49 00    	call   *0x49e23c
438809:	52                   	push   %edx
43880a:	50                   	push   %eax
43880b:	ff 15 3c e2 49 00    	call   *0x49e23c
438811:	52                   	push   %edx
438812:	50                   	push   %eax
438813:	ff 15 3c e2 49 00    	call   *0x49e23c
438819:	52                   	push   %edx
43881a:	50                   	push   %eax
43881b:	0f b7 ce             	movzwl %si,%ecx
43881e:	8d 44 24 18          	lea    0x18(%esp),%eax
438822:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
438826:	33 c9                	xor    %ecx,%ecx
438828:	6a 23                	push   $0x23
43882a:	50                   	push   %eax
43882b:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
438832:	00
438833:	66 89 8c 24 34 01 00 	mov    %cx,0x134(%esp)
43883a:	00
43883b:	ff 15 b8 e0 49 00    	call   *0x49e0b8
438841:	85 c0                	test   %eax,%eax
438843:	74 0c                	je     0x438851
438845:	46                   	inc    %esi
438846:	83 fe 0f             	cmp    $0xf,%esi
438849:	0f 8c 71 ff ff ff    	jl     0x4387c0
43884f:	eb 05                	jmp    0x438856
438851:	8d 46 ff             	lea    -0x1(%esi),%eax
438854:	89 03                	mov    %eax,(%ebx)
438856:	bf 01 00 00 00       	mov    $0x1,%edi
43885b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
438860:	0f b7 33             	movzwl (%ebx),%esi
438863:	8d 44 24 14          	lea    0x14(%esp),%eax
438867:	68 10 01 00 00       	push   $0x110
43886c:	6a 00                	push   $0x0
43886e:	50                   	push   %eax
43886f:	c7 44 24 1c 1c 01 00 	movl   $0x11c,0x1c(%esp)
438876:	00
438877:	e8 34 33 03 00       	call   0x46bbb0
43887c:	83 c4 0c             	add    $0xc,%esp
43887f:	33 c0                	xor    %eax,%eax
438881:	66 89 84 24 24 01 00 	mov    %ax,0x124(%esp)
438888:	00
438889:	89 84 24 26 01 00 00 	mov    %eax,0x126(%esp)
438890:	66 89 84 24 2a 01 00 	mov    %ax,0x12a(%esp)
438897:	00
438898:	6a 03                	push   $0x3
43889a:	6a 20                	push   $0x20
43889c:	6a 03                	push   $0x3
43889e:	6a 01                	push   $0x1
4388a0:	6a 03                	push   $0x3
4388a2:	6a 02                	push   $0x2
4388a4:	50                   	push   %eax
4388a5:	50                   	push   %eax
4388a6:	ff 15 3c e2 49 00    	call   *0x49e23c
4388ac:	52                   	push   %edx
4388ad:	50                   	push   %eax
4388ae:	ff 15 3c e2 49 00    	call   *0x49e23c
4388b4:	52                   	push   %edx
4388b5:	50                   	push   %eax
4388b6:	ff 15 3c e2 49 00    	call   *0x49e23c
4388bc:	52                   	push   %edx
4388bd:	8b ce                	mov    %esi,%ecx
4388bf:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4388c3:	50                   	push   %eax
4388c4:	0f b7 cf             	movzwl %di,%ecx
4388c7:	8d 44 24 18          	lea    0x18(%esp),%eax
4388cb:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4388cf:	33 c9                	xor    %ecx,%ecx
4388d1:	6a 23                	push   $0x23
4388d3:	50                   	push   %eax
4388d4:	66 89 8c 24 34 01 00 	mov    %cx,0x134(%esp)
4388db:	00
4388dc:	ff 15 b8 e0 49 00    	call   *0x49e0b8
4388e2:	85 c0                	test   %eax,%eax
4388e4:	74 0c                	je     0x4388f2
4388e6:	47                   	inc    %edi
4388e7:	83 ff 0a             	cmp    $0xa,%edi
4388ea:	0f 8c 70 ff ff ff    	jl     0x438860
4388f0:	eb 06                	jmp    0x4388f8
4388f2:	8d 47 ff             	lea    -0x1(%edi),%eax
4388f5:	89 43 04             	mov    %eax,0x4(%ebx)
4388f8:	bb 01 00 00 00       	mov    $0x1,%ebx
4388fd:	0f 1f 00             	nopl   (%eax)
438900:	8b 44 24 0c          	mov    0xc(%esp),%eax
438904:	68 10 01 00 00       	push   $0x110
438909:	6a 00                	push   $0x0
43890b:	c7 44 24 18 1c 01 00 	movl   $0x11c,0x18(%esp)
438912:	00
438913:	0f b7 78 04          	movzwl 0x4(%eax),%edi
438917:	0f b7 30             	movzwl (%eax),%esi
43891a:	8d 44 24 1c          	lea    0x1c(%esp),%eax
43891e:	50                   	push   %eax
43891f:	e8 8c 32 03 00       	call   0x46bbb0
438924:	83 c4 0c             	add    $0xc,%esp
438927:	33 c0                	xor    %eax,%eax
438929:	66 89 84 24 24 01 00 	mov    %ax,0x124(%esp)
438930:	00
438931:	89 84 24 26 01 00 00 	mov    %eax,0x126(%esp)
438938:	66 89 84 24 2a 01 00 	mov    %ax,0x12a(%esp)
43893f:	00
438940:	6a 03                	push   $0x3
438942:	6a 20                	push   $0x20
438944:	6a 03                	push   $0x3
438946:	6a 01                	push   $0x1
438948:	6a 03                	push   $0x3
43894a:	6a 02                	push   $0x2
43894c:	50                   	push   %eax
43894d:	50                   	push   %eax
43894e:	ff 15 3c e2 49 00    	call   *0x49e23c
438954:	52                   	push   %edx
438955:	50                   	push   %eax
438956:	ff 15 3c e2 49 00    	call   *0x49e23c
43895c:	52                   	push   %edx
43895d:	50                   	push   %eax
43895e:	ff 15 3c e2 49 00    	call   *0x49e23c
438964:	52                   	push   %edx
438965:	50                   	push   %eax
438966:	8b ce                	mov    %esi,%ecx
438968:	66 89 9c 24 2c 01 00 	mov    %bx,0x12c(%esp)
43896f:	00
438970:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
438974:	8d 44 24 18          	lea    0x18(%esp),%eax
438978:	6a 23                	push   $0x23
43897a:	8b cf                	mov    %edi,%ecx
43897c:	50                   	push   %eax
43897d:	89 4c 24 28          	mov    %ecx,0x28(%esp)
438981:	ff 15 b8 e0 49 00    	call   *0x49e0b8
438987:	85 c0                	test   %eax,%eax
438989:	74 21                	je     0x4389ac
43898b:	43                   	inc    %ebx
43898c:	83 fb 0a             	cmp    $0xa,%ebx
43898f:	0f 8c 6b ff ff ff    	jl     0x438900
438995:	b0 01                	mov    $0x1,%al
438997:	5f                   	pop    %edi
438998:	5e                   	pop    %esi
438999:	5b                   	pop    %ebx
43899a:	8b 8c 24 28 01 00 00 	mov    0x128(%esp),%ecx
4389a1:	33 cc                	xor    %esp,%ecx
4389a3:	e8 22 10 03 00       	call   0x4699ca
4389a8:	8b e5                	mov    %ebp,%esp
4389aa:	5d                   	pop    %ebp
4389ab:	c3                   	ret
4389ac:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4389b0:	8d 43 ff             	lea    -0x1(%ebx),%eax
4389b3:	5f                   	pop    %edi
4389b4:	5e                   	pop    %esi
4389b5:	5b                   	pop    %ebx
4389b6:	89 41 08             	mov    %eax,0x8(%ecx)
4389b9:	b0 01                	mov    $0x1,%al
4389bb:	8b 8c 24 28 01 00 00 	mov    0x128(%esp),%ecx
4389c2:	33 cc                	xor    %esp,%ecx
4389c4:	e8 01 10 03 00       	call   0x4699ca
4389c9:	8b e5                	mov    %ebp,%esp
4389cb:	5d                   	pop    %ebp
4389cc:	c3                   	ret
4389cd:	cc                   	int3
4389ce:	cc                   	int3
4389cf:	cc                   	int3
4389d0:	55                   	push   %ebp
4389d1:	8b ec                	mov    %esp,%ebp
4389d3:	83 e4 f8             	and    $0xfffffff8,%esp
4389d6:	81 ec 4c 03 00 00    	sub    $0x34c,%esp
4389dc:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4389e1:	33 c4                	xor    %esp,%eax
4389e3:	89 84 24 48 03 00 00 	mov    %eax,0x348(%esp)
4389ea:	56                   	push   %esi
4389eb:	8d 44 24 20          	lea    0x20(%esp),%eax
4389ef:	c7 44 24 20 1c 01 00 	movl   $0x11c,0x20(%esp)
4389f6:	00
4389f7:	50                   	push   %eax
4389f8:	8b f1                	mov    %ecx,%esi
4389fa:	ff 15 f0 e1 49 00    	call   *0x49e1f0
438a00:	85 c0                	test   %eax,%eax
438a02:	75 15                	jne    0x438a19
438a04:	32 c0                	xor    %al,%al
438a06:	5e                   	pop    %esi
438a07:	8b 8c 24 48 03 00 00 	mov    0x348(%esp),%ecx
438a0e:	33 cc                	xor    %esp,%ecx
438a10:	e8 b5 0f 03 00       	call   0x4699ca
438a15:	8b e5                	mov    %ebp,%esp
438a17:	5d                   	pop    %ebp
438a18:	c3                   	ret
438a19:	68 08 02 00 00       	push   $0x208
438a1e:	8d 84 24 44 01 00 00 	lea    0x144(%esp),%eax
438a25:	6a 00                	push   $0x0
438a27:	50                   	push   %eax
438a28:	e8 83 31 03 00       	call   0x46bbb0
438a2d:	83 c4 0c             	add    $0xc,%esp
438a30:	8d 84 24 40 01 00 00 	lea    0x140(%esp),%eax
438a37:	ff 74 24 2c          	push   0x2c(%esp)
438a3b:	68 3c 32 4b 00       	push   $0x4b323c
438a40:	50                   	push   %eax
438a41:	e8 ea 09 00 00       	call   0x439430
438a46:	8d 94 24 4c 01 00 00 	lea    0x14c(%esp),%edx
438a4d:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
438a54:	00
438a55:	83 c4 0c             	add    $0xc,%esp
438a58:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
438a5f:	00
438a60:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
438a67:	00
438a68:	8d 4a 02             	lea    0x2(%edx),%ecx
438a6b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
438a70:	66 8b 02             	mov    (%edx),%ax
438a73:	83 c2 02             	add    $0x2,%edx
438a76:	66 85 c0             	test   %ax,%ax
438a79:	75 f5                	jne    0x438a70
438a7b:	2b d1                	sub    %ecx,%edx
438a7d:	8d 84 24 40 01 00 00 	lea    0x140(%esp),%eax
438a84:	d1 fa                	sar    $1,%edx
438a86:	8d 4c 24 08          	lea    0x8(%esp),%ecx
438a8a:	52                   	push   %edx
438a8b:	50                   	push   %eax
438a8c:	e8 cf 95 fc ff       	call   0x402060
438a91:	8d 44 24 08          	lea    0x8(%esp),%eax
438a95:	8b ce                	mov    %esi,%ecx
438a97:	50                   	push   %eax
438a98:	e8 53 a2 fc ff       	call   0x402cf0
438a9d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx