Function at 0x46f8e0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
xor edx, edx
push esi
push ebx
sub esp, 0x96c
mov dword [ebp - 0x95c], eax
mov eax, dword [0x4a49e8]
cmp word [eax + 8], 0
je 0x46f90f
add esp, 0x96c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x400
mov edi, 0x1a4
mov dword [esp + 8], eax
mov eax, 0x872cb0
mov dword [esp + 4], eax
lea eax, [ebp - 0x418]
mov dword [esp], eax
call fcn.00498050
mov eax, 0x400
lea edx, [ebp - 0x418]
mov dword [esp + 8], eax
mov eax, str..new
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004980b0
call fcn.004300a0
lea eax, [ebp - 0x418]
mov dword [esp], eax
call fcn.0047ee10
call fcn.00430090
mov byte [ebp - 0x95d], 0
xor eax, eax
mov dword [0x4c5240], eax
call fcn.004300a0
mov dword [esp + 4], edi
lea edx, [ebp - 0x418]
mov dword [esp], edx
call fcn.0047ef40
mov ebx, eax
call fcn.00430090
test ebx, ebx
js 0x46f9f8
mov dword [esp], ebx
mov esi, 0x4b67a6
call fcn.0047f190
call fcn.004300a0
mov dword [esp + 4], esi
lea eax, [ebp - 0x418]
mov dword [esp], eax
call fcn.0047ec20
mov dword [0x4c5240], eax
call fcn.00430090
mov ebx, dword [0x4c5240]
test ebx, ebx
jne 0x46fac5
call fcn.004300a0
cmp byte [ebp - 0x95d], 0
je 0x46fab2
call fcn.00430090
cmp byte [ebp - 0x95d], 0
jne 0x46fa12
xor eax, eax
test al, al
jne 0x46fa20
movsx edx, byte [ebp - 0x95c]
add esp, 0x96c
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
mov byte [0x4f3230], 1
mov eax, 1
jmp 0x46f9fa
mov edx, 0x400
lea ebx, [ebp - 0x958]
mov eax, 0x872cb0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00498050
mov dword [esp], ebx
mov eax, 0x400
mov dword [esp + 8], eax
mov eax, str..old
mov dword [esp + 4], eax
call fcn.004980b0
call fcn.004300a0
mov dword [esp], ebx
call fcn.0047ee10
mov dword [esp + 4], ebx
mov dword [esp], 0x872cb0
call fcn.0047ee60
mov eax, 0x872cb0
mov dword [esp + 4], eax
lea eax, [ebp - 0x418]
mov dword [esp], eax
call fcn.0047ee60
mov dword [esp], ebx
call fcn.0047ee10
call fcn.00430090
mov byte [0x4f3b10], 1
mov eax, 1
mov dword [ebp - 0x95c], eax
jmp 0x46f9fe
lea edx, [ebp - 0x418]
mov dword [esp], edx
call fcn.0047ee10
jmp 0x46f9ea
mov dword [esp], 0
call sub.msvcrt.dll_time
mov dword [0x8732b0], eax
movzx eax, word [0x8732f0]
xor ecx, ecx
xor ebx, ebx
mov dword [0x873390], ecx
mov byte [0x4c5250], 0
inc eax
mov word [0x8732f0], ax
mov eax, 1
call fcn.0046f2e0
mov byte [0x4c5250], 0
mov eax, 3
call fcn.0046f2e0
mov byte [0x4c5250], 0
xor eax, eax
call fcn.0046f2e0
mov byte [0x4c5250], 0
xor eax, eax
call fcn.0046f2e0
xor eax, eax
xor edx, edx
mov dword [0x4c5220], eax
mov eax, dword [0x873390]
mov dword [0x4c5230], edx
call fcn.0046f330
mov eax, dword [0x8732b0]
call fcn.0046f330
movzx eax, word [0x4d8f00]
call fcn.0046f2f0
movzx eax, word [0x8732f0]
call fcn.0046f2f0
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
movzx eax, word [0x873840]
call fcn.0046f2f0
nop
mov eax, dword [ebx*4 + 0x873740]
inc ebx
call fcn.0046f330
cmp ebx, 0x3e
jle 0x46fb90
mov eax, dword [0x4a49ec]
xor ebx, ebx
movzx eax, byte [eax + 0x161]
call fcn.0046f2e0
mov eax, dword [0x4a49ec]
movzx eax, byte [eax + 0x160]
call fcn.0046f2e0
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
xor eax, eax
mov dword [ebp + ebx*4 - 0x438], eax
xor eax, eax
mov dword [ebp + ebx*4 - 0x458], eax
inc ebx
cmp ebx, 7
jle 0x46fbd4
mov esi, dword [0x4a49ec]
xor ebx, ebx
mov edi, 1
jmp 0x46fc3f
mov edx, eax
mov ecx, ebx
sar edx, 5
mov eax, edx
shl eax, 5
sub ecx, eax
mov eax, dword [ebx*4 + 0x4a3da0]
test eax, eax
je 0x46fc36
cmp byte [ebx + esi + 0x40], 0
je 0x46fc2b
mov eax, edi
shl eax, cl
or dword [ebp + edx*4 - 0x438], eax
mov eax, edi
shl eax, cl
or dword [ebp + edx*4 - 0x458], eax
inc ebx
cmp ebx, 0xff
jg 0x46fc4a
test ebx, ebx
mov eax, ebx
jns 0x46fc00
lea eax, [ebx + 0x1f]
jmp 0x46fc00
xor ebx, ebx
mov eax, dword [ebp + ebx*4 - 0x438]
inc ebx
call fcn.0046f330
cmp ebx, 7
jle 0x46fc4c
xor ebx, ebx
mov eax, dword [ebp + ebx*4 - 0x458]
inc ebx
call fcn.0046f330
cmp ebx, 7
jle 0x46fc60
mov esi, dword [0x4a49ec]
xor ebx, ebx
mov edx, 1
mov eax, dword [esi + ebx*4 + 0x140]
xor ecx, ecx
mov dword [ebp + ebx*4 - 0x478], eax
xor eax, eax
mov dword [ebp + ebx*4 - 0x498], eax
nop
lea esi, [esi]
mov eax, dword [ecx*4 + 0x4a41a0]
test eax, eax
je 0x46fcb6
mov eax, edx
shl eax, cl
or dword [ebp + ebx*4 - 0x498], eax
inc ecx
cmp ecx, 0x1f
jle 0x46fca0
inc ebx
cmp ebx, 7
jle 0x46fc7f
xor ebx, ebx
mov eax, dword [ebp + ebx*4 - 0x478]
inc ebx
call fcn.0046f330
cmp ebx, 7
jle 0x46fcc4
xor ebx, ebx
mov eax, dword [ebp + ebx*4 - 0x498]
inc ebx
call fcn.0046f330
cmp ebx, 7
jle 0x46fcd8
call fcn.004806f0
movzx eax, ax
mov dword [ebp - 0x964], eax
call fcn.0046f2f0
mov esi, dword [ebp - 0x964]
jmp 0x46fd25
movsx ebx, si
mov dword [esp], ebx
call fcn.00480bf0
call fcn.0046f380
mov dword [esp], ebx
call fcn.00480c80
movzx eax, ax
call fcn.0046f2f0
dec esi
jns 0x46fd05
mov eax, dword [0x872c90]
xor esi, esi
movzx eax, word [eax + 0x12]
mov dword [ebp - 0x964], eax
call fcn.0046f2f0
cmp dword [ebp - 0x964], 0
jle 0x46fe19
mov edx, dword [0x4f2a70]
lea eax, [esi + esi*4]
xor ebx, ebx
lea eax, [esi + eax*4]
lea eax, [edx + eax*4]
lea edx, [esi + esi*8]
mov dword [ebp - 0x968], eax
mov eax, dword [0x4f1660]
lea edi, [eax + edx*4]
movsx eax, word [edi]
call fcn.0046f320
movsx eax, word [edi + 2]
call fcn.0046f320
movsx eax, word [edi + 4]
call fcn.0046f320
movsx eax, word [edi + 6]
call fcn.0046f320
movsx eax, word [edi + 8]
call fcn.0046f320
movzx eax, byte [edi + 0xa]
call fcn.0046f2e0
movzx eax, byte [edi + 0xb]
call fcn.0046f2e0
movzx eax, byte [edi + 0xc]
call fcn.0046f2e0
movzx eax, byte [edi + 0xd]
call fcn.0046f2e0
lea esi, [esi]
movzx eax, byte [ebx + edi + 0x10]
inc ebx
call fcn.0046f2e0
cmp ebx, 3
jle 0x46fdc0
mov eax, dword [edi + 0x14]
inc esi
call fcn.0046f330
mov eax, dword [edi + 0x18]
call fcn.0046f330
mov eax, dword [edi + 0x1c]
call fcn.0046f330
mov eax, dword [edi + 0x20]
call fcn.0046f330
mov edx, dword [ebp - 0x968]
movzx eax, byte [edx + 0x52]
call fcn.0046f2e0
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
cmp dword [ebp - 0x964], esi
jmp 0x46fd45
mov eax, dword [0x872c90]
xor esi, esi
movzx eax, word [eax + 0xa]
mov dword [ebp - 0x964], eax
call fcn.0046f2f0
cmp dword [ebp - 0x964], 0
jmp 0x46fe77
mov eax, dword [0x4f33c0]
lea edx, [esi + esi*8]
xor ecx, ecx
lea ebx, [eax + edx*8]
cmp byte [ebx + 0x42], 0
je 0x46fe4d
mov cl, 1
cmp byte [ebx + 0x43], 0
je 0x46fe56
or cl, 2
cmp byte [ebx + 0x45], 0
je 0x46fe5f
or cl, 8
movzx eax, cl
inc esi
call fcn.0046f2e0
movzx eax, byte [ebx + 0x44]
call fcn.0046f2e0
cmp dword [ebp - 0x964], esi
jg 0x46fe38
mov eax, dword [0x872c90]
xor esi, esi
movzx eax, word [eax + 0xe]
mov dword [ebp - 0x964], eax
call fcn.0046f2f0
cmp dword [ebp - 0x964], 0
jmp 0x46febc
imul ebx, esi, 0x5c
mov edi, dword [0x873500]
inc esi
add ebx, edi
movzx eax, byte [ebx + 0x46]
call fcn.0046f2e0
movzx eax, byte [ebx + 0x47]
call fcn.0046f2e0
cmp dword [ebp - 0x964], esi
jg 0x46fe98
mov eax, dword [0x4a49ec]
xor edi, edi
call fcn.0046f380
mov eax, dword [0x4a49e8]
add eax, 0x24e
call fcn.0046f380
mov eax, dword [0x4a49e8]
add eax, 0x29e
call fcn.0046f380
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 5]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 6]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 4]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 8]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0xa]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0xc]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0xe]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + edi*2 + 0x3c]
inc edi
call fcn.0046f320
cmp edi, 3
jle 0x46ff4a
xor edi, edi
mov eax, dword [0x4a49e8]
movsx eax, word [eax + edi*2 + 0x44]
inc edi
call fcn.0046f320
cmp edi, 3
jle 0x46ff61
xor edi, edi
mov eax, dword [0x4a49e8]
movsx eax, word [eax + edi*2 + 0x4c]
inc edi
call fcn.0046f320
cmp edi, 7
jle 0x46ff78
xor edi, edi
lea eax, [edi + edi*4]
xor ebx, ebx
lea esi, [eax*4]
nop
lea esi, [esi]
mov ecx, dword [0x4a49e8]
mov eax, esi
add eax, ecx
movzx eax, byte [eax + ebx + 0x5c]
call fcn.0046f2e0
mov edx, dword [0x4a49e8]
mov eax, esi
add eax, edx
movzx eax, byte [eax + ebx + 0xfc]
inc ebx
call fcn.0046f2e0
cmp ebx, 0x13
jle 0x46ffa0
inc edi
cmp edi, 7
jle 0x46ff8f
mov eax, dword [0x4a49e8]
xor edi, edi
movsx eax, word [eax + 0x19c]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x19e]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1a0]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movzx eax, byte [edi + eax + 0x1a2]
inc edi
call fcn.0046f2e0
cmp edi, 5
jle 0x47000c
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x1a8]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
mov eax, dword [eax + 0x18]
call fcn.0046f370
mov eax, dword [0x4a49e8]
mov eax, dword [eax + 0x1c]
call fcn.0046f370
mov eax, dword [0x4a49e8]
mov eax, dword [eax + 0x20]
call fcn.0046f370
mov eax, dword [0x4a49e8]
mov eax, dword [eax + 0x24]
call fcn.0046f370
mov eax, dword [0x4a49e8]
mov eax, dword [eax + 0x28]
call fcn.0046f370
mov eax, dword [0x4a49e8]
mov eax, dword [eax + 0x2c]
call fcn.0046f370
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x30]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x32]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x34]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x36]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x38]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x3a]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x12]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x1da]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x10]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x1e3]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x1e4]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1e8]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1e6]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1ae]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1b0]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1b2]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1d6]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x1d8]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x1dc]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x1de]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1d4]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1aa]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1ac]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1b4]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1ba]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1bc]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1b8]
call fcn.0046f320
mov eax, dword [0x4a49e8]
xor edi, edi
movsx eax, word [eax + 0x1b6]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1c0]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1c2]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1c4]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1c6]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1c8]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1ca]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1d2]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1be]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1cc]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1ce]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x1d0]
call fcn.0046f320
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x1e0]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x1e2]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x1e1]
call fcn.0046f2e0
xor eax, eax
call fcn.0046f2e0
xor eax, eax
call fcn.0046f2e0
xor eax, eax
call fcn.0046f2e0
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
xor eax, eax
call fcn.0046f330
movzx eax, byte [edi + 0x873710]
inc edi
call fcn.0046f2e0
cmp edi, 0x17
jle 0x470368
mov eax, 0x4f3430
xor edi, edi
call fcn.0046f380
mov eax, dword [0x872c90]
movzx eax, word [eax + 0x10]
call fcn.0046f2f0
mov eax, dword [0x872c90]
cmp word [eax + 0x10], 0
je 0x4703df
mov eax, edi
mov edx, dword [0x873290]
shl eax, 4
sub eax, edi
lea edx, [edx + eax*4]
movzx eax, byte [edx + 0x39]
test al, al
setne al
cmp byte [edx + 0x38], 0
je 0x4703c1
or al, 2
cmp byte [edx + 0x37], 0
je 0x4703c9
or al, 4
movzx eax, al
inc edi
call fcn.0046f2e0
mov eax, dword [0x872c90]
movzx eax, word [eax + 0x10]
cmp eax, edi
jg 0x4703a0
movzx eax, word [0x4c5a5c]
xor edi, edi
call fcn.0046f2f0
cmp word [0x4c5a5c], 0
je 0x470428
mov eax, dword [0x4c5a60]
movsx eax, word [eax + edi*4]
call fcn.0046f320
mov eax, dword [0x4c5a60]
movsx eax, word [eax + edi*4 + 2]
inc edi
mov dword [esp], eax
call fcn.004805f0
call fcn.0046f380
movzx eax, word [0x4c5a5c]
cmp eax, edi
jg 0x4703f7
xor edi, edi
mov eax, dword [0x4a49e8]
movsx eax, word [eax + edi*2 + 0x3ac]
inc edi
call fcn.0046f320
cmp edi, 7
jle 0x47042a
mov eax, 0x3e
call fcn.0046f330
mov eax, dword [0x873150]
call fcn.0046f330
mov eax, dword [0x4f34a0]
call fcn.0046f330
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x3a2]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x398]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x39e]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x399]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x39a]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x39b]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x39c]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x39d]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x3a0]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x3a4]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movzx eax, word [eax + 0x3a8]
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x3aa]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x3ab]
call fcn.0046f2e0
mov eax, dword [0x4a49e8]
movzx eax, byte [eax + 0x3a6]
call fcn.0046f2e0
movzx eax, byte [0x873260]
call fcn.0046f2e0
movzx eax, byte [0x8730f0]
call fcn.0046f2e0
mov eax, dword [0x8736b0]
call fcn.0046f370
mov eax, dword [0x4f5a50]
call fcn.0046f370
mov eax, dword [0x872c90]
movzx ebx, word [eax + 0x26]
movzx eax, bx
mov esi, ebx
call fcn.0046f2f0
mov eax, dword [0x872c90]
movzx eax, word [eax + 0xe]
call fcn.0046f2f0
mov eax, dword [0x872c90]
movzx eax, word [eax + 0x26]
call fcn.0046f2f0
mov eax, dword [0x872c90]
movzx eax, word [eax + 0xe]
cmp eax, esi
jle 0x470684
imul ebx, esi, 0x5c
mov eax, dword [0x873500]
inc esi
add ebx, eax
mov eax, ebx
call fcn.0046f380
movzx eax, byte [ebx + 0x24]
call fcn.0046f2e0
movzx eax, byte [ebx + 0x25]
call fcn.0046f2e0
movsx eax, word [ebx + 0x26]
call fcn.0046f320
movsx eax, word [ebx + 0x28]
call fcn.0046f320
movzx eax, byte [ebx + 0x2c]
call fcn.0046f2e0
movzx eax, byte [ebx + 0x2d]
call fcn.0046f2e0
movsx eax, word [ebx + 0x2a]
call fcn.0046f320
movzx eax, byte [ebx + 0x2e]
call fcn.0046f2e0
movzx eax, byte [ebx + 0x2f]
call fcn.0046f2e0
movsx eax, word [ebx + 0x30]
call fcn.0046f320
mov eax, dword [ebx + 0x34]
call fcn.0046f370
mov eax, dword [ebx + 0x38]
call fcn.0046f330
mov eax, dword [ebx + 0x3c]
call fcn.0046f330
mov eax, dword [ebx + 0x40]
call fcn.0046f330
movzx eax, byte [ebx + 0x44]
call fcn.0046f2e0
movzx eax, byte [ebx + 0x45]
call fcn.0046f2e0
movzx eax, byte [ebx + 0x49]
call fcn.0046f2e0
movzx eax, word [ebx + 0x4a]
call fcn.0046f2f0
movzx eax, word [ebx + 0x4c]
call fcn.0046f2f0
mov eax, dword [0x872c90]
movzx eax, word [eax + 0xe]
cmp eax, esi
jg 0x4705ba
xor ebx, ebx
xor edx, edx
movzx eax, byte [ebx + 0x4d8fb0]
inc ebx
mov byte [ebp + edx - 0x558], al
inc edx
cmp al, 0xa
je 0x470788
test al, al
jne 0x470688
mov ebx, 0x50
mov ecx, str.________No_more_notes________
xor esi, esi
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x4e8]
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.00498050
mov eax, ebx
call fcn.0046f380
mov eax, dword [0x4a2168]
call fcn.0046f3b0
jmp 0x4706e6
inc esi
cmp esi, 0x25
jg 0x47070d
mov eax, esi
mov edx, dword [0x4f3410]
shl eax, 4
sub eax, esi
lea ebx, [edx + eax*4]
cmp word [ebx], 0
je 0x4706e0
movzx eax, si
call fcn.0046f2f0
mov eax, ebx
call fcn.0046f3b0
jmp 0x4706e0
mov eax, 0xffff
call fcn.0046f2f0
mov eax, dword [0x4a49e8]
cmp byte [eax + 0x3a6], 0
je 0x4707ab
mov eax, dword [0x4c5230]
call fcn.0046f330
mov eax, dword [0x4c5220]
call fcn.0046f330
mov edx, dword [0x4c5240]
test byte [edx + 0xc], 0x20
je 0x470770
xor eax, eax
test al, al
je 0x470756
mov byte [ebp - 0x95d], 1
mov dword [esp], edx
call fcn.0047ec70
test eax, eax
sete al
neg al
and byte [ebp - 0x95d], al
jmp 0x46f9d8
mov dword [esp], edx
call sub.msvcrt.dll_fflush
inc eax
je 0x4707b5
mov edx, dword [0x4c5240]
mov eax, 1
jmp 0x47074b
xor eax, eax
mov byte [ebp + edx - 0x559], al
lea eax, [ebp - 0x558]
call fcn.0046f380
xor eax, eax
test al, al
je 0x470686
jmp 0x4706a4
call fcn.0046f500
jmp 0x470729
mov edx, dword [0x4c5240]
jmp 0x470749