Function at 0x1004d75
Capabilities:
Read file via mapping

Disassembly:
push 0x278
push 0x10017f0
call fcn.01006ca8
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov eax, dword [0x1009480]
cmp eax, 0xffffffff
je 0x1004e52
lea ecx, [ebp - 0x60]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x64], esi
cmp eax, ebx
jne 0x1004dc5
push dword [ebp + 8]
call fcn.01004a24
jmp 0x10052e6
cmp esi, 0x40000000
jae 0x10052ca
cmp dword [ebp - 0x40], ebx
jne 0x10052ca
push dword [0x1009b84]
call dword [sym.imp.USER32.dll_SetCursor]
cmp esi, ebx
je 0x1004e22
xor edi, edi
mov dword [ebp - 0x68], edi
push ebx
push esi
push ebx
push 2
push ebx
push dword [0x1009480]
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x6c], eax
cmp eax, ebx
je 0x1004e2f
push esi
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x68], eax
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1004e2c
lea eax, [ebp - 0x70]
mov dword [ebp - 0x68], eax
mov word [ebp - 0x70], bx
mov edi, dword [ebp - 0x68]
push dword [0x1009480]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [0x1009480], 0xffffffff
cmp edi, ebx
jne 0x1004e5f
push dword [0x1009b88]
call dword [sym.imp.USER32.dll_SetCursor]
push dword [ebp + 8]
call fcn.01004a24
jmp 0x10052f9
mov dword [ebp - 4], ebx
mov dword [ebp - 0x74], edi
mov eax, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x1004fe7
movzx eax, word [edi]
cmp eax, 0xbbef
je 0x1004eab
cmp eax, 0xfeff
je 0x1004ea0
cmp eax, 0xfffe
jne 0x1004ecf
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x78], 2
mov ebx, esi
shr ebx, 1
jmp 0x100506f
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x78], eax
jmp 0x1004e97
cmp esi, 2
jbe 0x1004ecf
cmp byte [edi + 2], 0xbf
jne 0x1004ecf
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x2c], 0xfde9
push 3
pop eax
mov dword [ebp - 0x78], eax
jmp 0x100502d
push esi
push edi
call fcn.010069ba
mov dword [ebp - 0x24], eax
cmp eax, ebx
je 0x1004eed
mov dword [ebp - 0x78], 1
mov ebx, esi
shr ebx, 1
jmp 0x1005070
push esi
push edi
call fcn.0100696a
mov dword [ebp - 0x80], eax
cmp eax, ebx
je 0x1004ff0
mov dword [ebp - 0x78], 3
mov dword [ebp - 0x2c], 0xfde9
mov ebx, dword [ebp - 0x7c]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1004f2e
push eax
push eax
push esi
push dword [ebp - 0x74]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov dword [ebp - 0x7c], ebx
xor eax, eax
push eax
push eax
push 0xb
push dword [0x1008818]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
push 0
push 0
push 0xb1
push dword [0x1008818]
call esi
push 0
push 0
push 0xb7
push dword [0x1008818]
call esi
push 2
lea eax, [ebx + ebx + 2]
push eax
push dword [0x1009b8c]
call dword [sym.imp.KERNEL32.dll_LocalReAlloc]
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x1005078
push dword [ebp + 8]
lea eax, [ebp - 0x288]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor ebx, ebx
push ebx
call fcn.01004917
push dword [0x1009b88]
call dword [sym.imp.USER32.dll_SetCursor]
push 0x30
lea eax, [ebp - 0x288]
push eax
push dword [0x1008038]
push dword [0x100803c]
push dword [0x1008810]
call fcn.01001f55
lea eax, [ebp - 0x70]
cmp edi, eax
je 0x1004fd2
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push ebx
push ebx
push 0xb
push dword [0x1008818]
call esi
or dword [ebp - 4], 0xffffffff
jmp 0x10052f9
dec eax
je 0x1005054
dec eax
je 0x100503d
dec eax
je 0x1004ffb
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x2c], ebx
jmp 0x1004f0d
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x2c], 0xfde9
push 3
pop eax
mov dword [ebp - 0x78], eax
cmp esi, 2
jbe 0x1004f0d
cmp word [edi], 0xbbef
jne 0x1004f0d
cmp byte [edi + 2], 0xbf
jne 0x1004f0d
lea ecx, [edi + 3]
mov dword [ebp - 0x74], ecx
sub esi, eax
mov dword [ebp - 0x64], esi
jmp 0x1004f0d
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x78], eax
mov ebx, esi
shr ebx, 1
mov dword [ebp - 0x7c], ebx
cmp word [edi], 0xfffe
jmp 0x1005069
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x78], eax
mov ebx, esi
shr ebx, 1
mov dword [ebp - 0x7c], ebx
cmp word [edi], 0xfeff
jne 0x1004f10
dec ebx
mov dword [ebp - 0x7c], ebx
jmp 0x1004f10
push eax
call dword [sym.imp.KERNEL32.dll_LocalLock]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x24], 0
je 0x10050cb
mov cx, word [edi]
cmp cx, 0xfeff
jne 0x1005097
lea esi, [edi + 2]
jmp 0x10050ad
cmp cx, 0xfffe
jne 0x10050ab
push ebx
lea ecx, [edi + 2]
push ecx
push eax
call fcn.01004796
jmp 0x10050e3
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 - 0x68]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x10050e3
push ebx
push eax
push dword [ebp - 0x64]
push dword [ebp - 0x74]
push 0
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov dword [ebp - 0x7c], ebx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x78]
mov dword [0x1008018], ecx
or dword [ebp - 4], 0xffffffff
jmp 0x100512a
lea ecx, [ebp - 0x70]
cmp edi, ecx
je 0x100513b
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x1c]
xor edi, edi
cmp eax, edi
je 0x100518d
mov ecx, eax
cmp ebx, edi
jbe 0x1005158
mov edx, ebx
cmp word [ecx], di
jne 0x1005153
mov word [ecx], 0x20
inc ecx
inc ecx
dec edx
jne 0x1005149
mov word [eax + ebx*2], di
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x2e
jne 0x100518a
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x4c
jne 0x100518a
mov cx, word [eax]
inc eax
inc eax
cmp cx, 0x4f
jne 0x100518a
cmp word [eax], 0x47
mov dword [ebp - 0x20], 1
je 0x100518d
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x28], edi
je 0x10051a3
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalUnlock]
mov eax, dword [ebp - 0x28]
mov dword [0x1009b8c], eax
push dword [ebp + 8]
push 0x1009900
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp + 8]
call fcn.01001c5b
mov dword [0x1008004], edi
mov dword [0x1008828], 1
push edi
push dword [0x1009b8c]
push 0xbc
push dword [0x1008818]
call esi
cmp dword [0x1008828], 2
jne 0x100522c
push dword [0x1009b88]
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x1008828], edi
push 0x30
push dword [ebp + 8]
push dword [0x1008038]
push dword [0x100803c]
push dword [0x1008810]
call fcn.01001f55
push edi
call fcn.01004917
push edi
push 1
push 0xb
push dword [0x1008818]
call esi
jmp 0x10052f9
mov dword [0x1008828], edi
push edi
push edi
push 0xc5
push dword [0x1008818]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [ebp - 0x20], edi
je 0x100526f
push ebx
push ebx
push 0xb1
push dword [0x1008818]
call esi
push edi
push edi
push 0xb7
push dword [0x1008818]
call esi
push 1
call fcn.01006841
xor ebx, ebx
inc ebx
push ebx
push edi
push 0xbe
push 0x115
push dword [0x1008818]
call esi
push eax
push ebx
push dword [0x1008810]
call dword [sym.imp.USER32.dll_SetScrollPos]
push edi
push ebx
push 0xb
push dword [0x1008818]
call esi
push ebx
push edi
push dword [0x1008818]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x1008818]
call dword [sym.imp.USER32.dll_UpdateWindow]
push dword [0x1009b88]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, ebx
jmp 0x10052fb
push 0x30
push dword [ebp + 8]
push dword [0x1008038]
push dword [0x100803c]
push dword [0x1008810]
call fcn.01001f55
push dword [0x1009480]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [0x1009480], 0xffffffff
xor eax, eax
call fcn.01006ce1
ret 8