Function at 0x1005c6f
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001870
push 0x10065d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
sub esp, 0x280
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor edi, edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x48], edi
or ebx, 0xffffffff
mov dword [ebp - 0x80], ebx
mov eax, dword [0x1008bd0]
cmp eax, ebx
jne 0x1005ccd
push dword [ebp + 8]
call fcn.010062f0
jmp 0x10061d0
lea ecx, [ebp - 0x7c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x84], esi
cmp eax, edi
jne 0x1005cf2
push dword [ebp + 8]
call fcn.010062f0
jmp 0x10061be
cmp esi, ebx
je 0x10061a2
cmp dword [ebp - 0x5c], edi
jne 0x10061a2
push dword [0x1008854]
call dword [sym.imp.USER32.dll_SetCursor]
cmp esi, edi
je 0x1005d4b
xor ebx, ebx
mov dword [ebp - 0x3c], ebx
push edi
push esi
push edi
push 2
push edi
push dword [0x1008bd0]
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x38], eax
cmp eax, edi
je 0x1005d58
push esi
push edi
push edi
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1005d55
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov word [ebp - 0x1c], di
mov ebx, dword [ebp - 0x3c]
push dword [0x1008bd0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [0x1008bd0], 0xffffffff
cmp ebx, edi
jne 0x1005d9c
push dword [0x1008f40]
call dword [sym.imp.USER32.dll_SetCursor]
push 0x30
push dword [ebp + 8]
push dword [0x1008044]
push dword [0x1008050]
push dword [0x10087d0]
call fcn.01002cf5
jmp 0x10061d0
mov dword [ebp - 4], edi
mov dword [ebp - 0x30], ebx
cmp dword [ebp + 0xc], 0xffffffff
jne 0x1005e57
movzx eax, word [ebx]
cmp eax, 0xbbef
je 0x1005de4
cmp eax, 0xfeff
je 0x1005dd4
cmp eax, 0xfffe
jne 0x1005e12
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x80], 2
jmp 0x1005ddd
push 1
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x80], eax
mov ebx, esi
shr ebx, 1
dec ebx
jmp 0x1005e2b
cmp esi, 2
jbe 0x1005e12
cmp byte [ebx + 2], 0xbf
jne 0x1005e12
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x48], 0xfde9
push 3
pop eax
mov dword [ebp - 0x80], eax
add ebx, eax
mov dword [ebp - 0x30], ebx
sub esi, eax
mov dword [ebp - 0x84], esi
jmp 0x1005e57
push esi
push ebx
call fcn.010063b4
mov dword [ebp - 0x24], eax
cmp eax, edi
je 0x1005e33
mov dword [ebp - 0x80], 1
mov ebx, esi
shr ebx, 1
mov dword [ebp - 0x8c], ebx
jmp 0x1005e5d
push esi
push ebx
call fcn.01006364
mov dword [ebp - 0x40], eax
cmp eax, edi
je 0x1005e51
mov dword [ebp - 0x80], 3
mov dword [ebp - 0x48], 0xfde9
jmp 0x1005e57
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x48], edi
mov ebx, dword [ebp - 0x8c]
cmp dword [ebp - 0x24], edi
jne 0x1005e7a
push edi
push edi
push esi
push dword [ebp - 0x30]
push edi
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov dword [ebp - 0x8c], ebx
push edi
push edi
push 0xb
push dword [0x10087d4]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
push edi
push edi
push 0xb1
push dword [0x10087d4]
call esi
push edi
push edi
push 0xb7
push dword [0x10087d4]
call esi
push 2
lea eax, [ebx + ebx + 2]
push eax
push dword [0x100895c]
call dword [sym.imp.KERNEL32.dll_LocalReAlloc]
mov dword [ebp - 0x34], eax
cmp eax, edi
jne 0x1005f2c
push dword [ebp + 8]
lea eax, [ebp - 0x298]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push edi
call fcn.010061e3
push dword [0x1008f40]
call dword [sym.imp.USER32.dll_SetCursor]
push 0x30
lea eax, [ebp - 0x298]
push eax
push dword [0x100804c]
push dword [0x1008050]
push dword [0x10087d0]
call fcn.01002cf5
lea eax, [ebp - 0x1c]
cmp dword [ebp - 0x3c], eax
je 0x1005f17
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
push edi
push 0xb
push dword [0x10087d4]
call esi
or dword [ebp - 4], 0xffffffff
jmp 0x10061d0
push eax
call dword [sym.imp.KERNEL32.dll_LocalLock]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x24], edi
je 0x1005f8c
mov edx, dword [ebp - 0x3c]
mov cx, word [edx]
cmp cx, 0xfeff
jne 0x1005f53
lea ecx, [ebx + ebx]
lea esi, [edx + 2]
jmp 0x1005f6c
cmp cx, 0xfffe
jne 0x1005f67
push ebx
add edx, 2
push edx
push eax
call fcn.01005887
jmp 0x1005fa9
lea ecx, [ebx + ebx]
mov esi, edx
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]
xor edi, edi
mov eax, dword [ebp - 0x88]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1005faf
push ebx
push eax
push dword [ebp - 0x84]
push dword [ebp - 0x30]
push edi
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov dword [ebp - 0x8c], ebx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x80]
mov dword [0x1008028], ecx
or dword [ebp - 4], 0xffffffff
jmp 0x1005ff5
lea ecx, [ebp - 0x1c]
cmp dword [ebp - 0x3c], ecx
je 0x100600c
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x88]
cmp eax, edi
je 0x1006062
mov ecx, eax
cmp ebx, edi
jbe 0x1006027
mov edx, ebx
cmp word [ecx], di
jne 0x1006022
mov word [ecx], 0x20
inc ecx
inc ecx
dec edx
jne 0x1006018
mov word [eax + ebx*2], di
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x2e
jne 0x100605c
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x4c
jne 0x100605c
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x4f
jne 0x100605c
cmp word [eax], 0x47
mov dword [ebp - 0x90], 1
je 0x1006062
mov dword [ebp - 0x90], edi
cmp dword [ebp - 0x34], edi
je 0x1006078
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LocalUnlock]
mov eax, dword [ebp - 0x34]
mov dword [0x100895c], eax
push dword [ebp + 8]
push 0x10089c0
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp + 8]
call fcn.01002a91
mov dword [0x1008014], edi
mov dword [0x10087dc], 1
push edi
push dword [0x100895c]
push 0xbc
push dword [0x10087d4]
call esi
cmp dword [0x10087dc], 2
jne 0x1006101
push dword [0x1008f40]
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x10087dc], edi
push 0x30
push dword [ebp + 8]
push dword [0x100804c]
push dword [0x1008050]
push dword [0x10087d0]
call fcn.01002cf5
push edi
call fcn.010061e3
push edi
push 1
push 0xb
push dword [0x10087d4]
call esi
jmp 0x10061d0
mov dword [0x10087dc], edi
push edi
push edi
push 0xc5
push dword [0x10087d4]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [ebp - 0x90], edi
je 0x1006147
push ebx
push ebx
push 0xb1
push dword [0x10087d4]
call esi
push edi
push edi
push 0xb7
push dword [0x10087d4]
call esi
push 1
call fcn.010051ee
push 1
pop ebx
push ebx
push edi
push 0xbe
push 0x115
push dword [0x10087d4]
call esi
push eax
push ebx
push dword [0x10087d0]
call dword [sym.imp.USER32.dll_SetScrollPos]
push edi
push ebx
push 0xb
push dword [0x10087d4]
call esi
push ebx
push edi
push dword [0x10087d4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x10087d4]
call dword [sym.imp.USER32.dll_UpdateWindow]
push dword [0x1008f40]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, ebx
jmp 0x10061d2
push 0x30
push dword [ebp + 8]
push dword [0x1008044]
push dword [0x1008050]
push dword [0x10087d0]
call fcn.01002cf5
push dword [0x1008bd0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x1008bd0], ebx
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 8