Function at 0x4015ef
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x444
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push edi
push 0x4010ac
call esi
push 0x4010c8
call esi
call fcn.004012e8
lea eax, [esp + 0x10]
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ecx, eax
call fcn.00401305
pop ecx
lea eax, [esp + 0x14]
push eax
push 0x18
lea eax, [esp + 0x20]
push eax
push ebx
mov dword [esp + 0x24c], ebx
mov word [esp + 0x40], bx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [section..data]
mov edi, 0x80000000
and eax, edi
cmp eax, edi
jne 0x401679
mov esi, 0x402010
push 0x4010e0
mov eax, esi
call fcn.004018fd
push 0x401170
jmp 0x40181d
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x240]
call fcn.00401918
mov eax, esi
lea ecx, [esp + 0x240]
call fcn.00401861
push 0x401190
mov esi, ecx
call fcn.004018c4
mov eax, dword [esp + 0x10]
mov ecx, esi
call fcn.00401861
mov eax, esi
push eax
push 0x1000
push ebx
push 2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
cmp esi, ebx
je 0x40171c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40171c
push ebx
push ebx
push ebx
push 4
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, ebx
mov dword [esp + 0xc], eax
jne 0x401703
mov esi, 0x402010
push 0x4010e0
mov eax, esi
call fcn.004018fd
push 0x401198
jmp 0x40181d
add eax, 4
push eax
lea eax, [esp + 0x34]
call fcn.004018fd
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
jmp 0x40173d
push 0x104
lea eax, [esp + 0x34]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x30]
call fcn.00401850
mov dword [esp + 0x23c], eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push ebx
push ebx
push 3
push ebx
push 7
push edi
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x40177d
mov esi, 0x402010
push 0x4010e0
mov eax, esi
call fcn.004018fd
push 0x4011a8
jmp 0x40181d
push ebx
push ebx
push ebx
push 2
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push dword [esp + 0xc]
mov edi, eax
call esi
cmp edi, ebx
jne 0x4017ae
mov esi, 0x402010
push 0x4010e0
mov eax, esi
call fcn.004018fd
push 0x4011b8
jmp 0x40181d
push ebx
push ebx
push ebx
push 4
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
push edi
mov dword [esp + 0x10], eax
call esi
mov edi, dword [esp + 0xc]
cmp edi, ebx
jne 0x4017e1
mov esi, 0x402010
push 0x4010e0
mov eax, esi
call fcn.004018fd
push 0x4011c8
jmp 0x40181d
call fcn.00401328
mov edi, eax
call fcn.00401328
push edi
mov esi, eax
call fcn.004013dc
cmp eax, ebx
pop ecx
je 0x401836
push eax
call fcn.00401358
mov edi, eax
cmp edi, ebx
pop ecx
jne 0x401824
mov esi, 0x402010
push 0x4010e0
mov eax, esi
call fcn.004018fd
push 0x4011e0
call fcn.004018c4
jmp 0x401836
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push dword [esp + 0x10]
push esi
push eax
call edi
add esp, 0xc
push 0x10
push 0x4011f0
push 0x402010
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret