Function at 0x1006f45
Capabilities:
Read file via mapping

Disassembly:
push ebp
sub esp, 0x208
push 0x70
push 0x1009078
call fcn.01008ff8
mov eax, dword [0x100b660]
mov dword [ebp + 0x208], eax
xor ebx, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], ebx
mov eax, dword [0x100c4e0]
cmp eax, 0xffffffff
je 0x1007036
lea ecx, [ebp - 0x80]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x44], esi
cmp eax, ebx
jne 0x1006fa7
push dword [ebp + 0x214]
call fcn.01006bfd
jmp 0x10074dc
cmp esi, 0x40000000
jae 0x10074bd
cmp dword [ebp - 0x60], ebx
jne 0x10074bd
push dword [0x100cbe4]
call dword [sym.imp.USER32.dll_SetCursor]
cmp esi, ebx
je 0x1007007
xor edi, edi
mov dword [ebp - 0x2c], edi
push ebx
push esi
push ebx
push 2
push ebx
push dword [0x100c4e0]
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x4c], eax
cmp eax, ebx
je 0x1007013
push esi
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0x2c]
jmp 0x1007013
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x3c], bx
mov edi, eax
push dword [0x100c4e0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [0x100c4e0], 0xffffffff
cmp edi, ebx
jne 0x1007046
push dword [0x100cbe8]
call dword [sym.imp.USER32.dll_SetCursor]
push dword [ebp + 0x214]
call fcn.01006bfd
jmp 0x10074ef
mov dword [ebp - 4], ebx
mov dword [ebp - 0x38], edi
mov eax, dword [ebp + 0x218]
cmp eax, 0xffffffff
jne 0x10071ce
movzx eax, word [edi]
cmp eax, 0xbbef
je 0x1007095
cmp eax, 0xfeff
je 0x100708a
cmp eax, 0xfffe
jne 0x10070b9
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x20], 2
mov ebx, esi
shr ebx, 1
jmp 0x1007256
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], eax
jmp 0x1007081
cmp esi, 2
jbe 0x10070b9
cmp byte [edi + 2], 0xbf
jne 0x10070b9
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x24], 0xfde9
push 3
pop eax
mov dword [ebp - 0x20], eax
jmp 0x1007214
push esi
push edi
call fcn.01008c08
mov dword [ebp - 0x30], eax
cmp eax, ebx
je 0x10070d7
mov dword [ebp - 0x20], 1
mov ebx, esi
shr ebx, 1
jmp 0x1007257
push esi
push edi
call fcn.01008bb8
mov dword [ebp - 0x48], eax
cmp eax, ebx
je 0x10071d7
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x24], 0xfde9
mov ebx, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x1007118
push eax
push eax
push esi
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
xor eax, eax
push eax
push eax
push 0xb
push dword [0x100baa0]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
push 0
push 0
push 0xb1
push dword [0x100baa0]
call esi
push 0
push 0
push 0xb7
push dword [0x100baa0]
call esi
push 2
lea eax, [ebx + ebx + 2]
push eax
push dword [0x100cbec]
call dword [sym.imp.KERNEL32.dll_LocalReAlloc]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x100725f
push dword [ebp + 0x214]
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor ebx, ebx
push ebx
call fcn.01006af0
push dword [0x100cbe8]
call dword [sym.imp.USER32.dll_SetCursor]
push 0x30
lea eax, [ebp]
push eax
push dword [0x100b0a0]
push dword [0x100b0a4]
push dword [0x100ba98]
call fcn.0100438f
lea eax, [ebp - 0x3c]
cmp edi, eax
je 0x10071b9
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push ebx
push ebx
push 0xb
push dword [0x100baa0]
call esi
or dword [ebp - 4], 0xffffffff
jmp 0x10074ef
dec eax
je 0x100723b
dec eax
je 0x1007224
dec eax
je 0x10071e2
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
jmp 0x10070f7
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x24], 0xfde9
push 3
pop eax
mov dword [ebp - 0x20], eax
cmp esi, 2
jbe 0x10070f7
cmp word [edi], 0xbbef
jne 0x10070f7
cmp byte [edi + 2], 0xbf
jne 0x10070f7
lea ecx, [edi + 3]
mov dword [ebp - 0x38], ecx
sub esi, eax
mov dword [ebp - 0x44], esi
jmp 0x10070f7
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], eax
mov ebx, esi
shr ebx, 1
mov dword [ebp - 0x1c], ebx
cmp word [edi], 0xfffe
jmp 0x1007250
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], eax
mov ebx, esi
shr ebx, 1
mov dword [ebp - 0x1c], ebx
cmp word [edi], 0xfeff
jne 0x10070fa
dec ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10070fa
push eax
call dword [sym.imp.KERNEL32.dll_LocalLock]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x30], 0
je 0x10072b2
mov cx, word [edi]
cmp cx, 0xfeff
jne 0x100727e
lea esi, [edi + 2]
jmp 0x1007294
cmp cx, 0xfffe
jne 0x1007292
push ebx
lea ecx, [edi + 2]
push ecx
push eax
call fcn.01006971
jmp 0x10072ca
mov esi, edi
lea ecx, [ebx + ebx]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x2c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x10072ca
push ebx
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x38]
push 0
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov dword [0x100b080], ecx
or dword [ebp - 4], 0xffffffff
jmp 0x1007314
lea ecx, [ebp - 0x3c]
cmp edi, ecx
je 0x1007325
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x28]
xor edi, edi
cmp eax, edi
je 0x1007377
mov ecx, eax
cmp ebx, edi
jbe 0x1007342
mov edx, ebx
cmp word [ecx], di
jne 0x100733d
mov word [ecx], 0x20
inc ecx
inc ecx
dec edx
jne 0x1007333
mov word [eax + ebx*2], di
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x2e
jne 0x1007374
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x4c
jne 0x1007374
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x4f
jne 0x1007374
cmp word [eax], 0x47
mov dword [ebp - 0x40], 1
je 0x1007377
mov dword [ebp - 0x40], edi
cmp dword [ebp - 0x34], edi
je 0x100738d
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LocalUnlock]
mov eax, dword [ebp - 0x34]
mov dword [0x100cbec], eax
push dword [ebp + 0x214]
push 0x100c960
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp + 0x214]
call fcn.01004a8c
mov dword [0x100b06c], edi
mov dword [0x100bab0], 1
push edi
push dword [0x100cbec]
push 0xbc
push dword [0x100baa0]
call esi
cmp dword [0x100bab0], 2
jne 0x100741f
push dword [0x100cbe8]
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x100bab0], edi
push 0x30
push dword [ebp + 0x214]
push dword [0x100b0a0]
push dword [0x100b0a4]
push dword [0x100ba98]
call fcn.0100438f
push edi
call fcn.01006af0
push edi
push 1
push 0xb
push dword [0x100baa0]
call esi
jmp 0x10074ef
mov dword [0x100bab0], edi
push edi
push edi
push 0xc5
push dword [0x100baa0]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [ebp - 0x40], edi
je 0x1007462
push ebx
push ebx
push 0xb1
push dword [0x100baa0]
call esi
push edi
push edi
push 0xb7
push dword [0x100baa0]
call esi
push 1
call fcn.01008a73
xor ebx, ebx
inc ebx
push ebx
push edi
push 0xbe
push 0x115
push dword [0x100baa0]
call esi
push eax
push ebx
push dword [0x100ba98]
call dword [sym.imp.USER32.dll_SetScrollPos]
push edi
push ebx
push 0xb
push dword [0x100baa0]
call esi
push ebx
push edi
push dword [0x100baa0]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x100baa0]
call dword [sym.imp.USER32.dll_UpdateWindow]
push dword [0x100cbe8]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, ebx
jmp 0x10074f1
push 0x30
push dword [ebp + 0x214]
push dword [0x100b0a0]
push dword [0x100b0a4]
push dword [0x100ba98]
call fcn.0100438f
push dword [0x100c4e0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [0x100c4e0], 0xffffffff
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov ecx, dword [ebp + 0x208]
call fcn.01008caa
pop edi
pop esi
pop ebx
add ebp, 0x20c
leave
ret 8