Function at 0x4101b0
Capabilities:
Get file size
Read file via mapping

Disassembly:
push 0xffffffffffffffff
push 0x4cd4c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
mov eax, dword [str.LoadFile__]
push ebx
push ebp
mov dx, word [0x4e1554]
push esi
xor ebp, ebp
push edi
mov esi, ecx
mov ecx, dword [0x4e1550]
push ebp
push 0x80
push 3
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xa0]
push ebp
mov dword [esp + 0x34], eax
mov al, byte [0x4e1556]
push 3
push 0x80000000
push ecx
mov dword [esp + 0x30], esi
mov word [esp + 0x48], dx
mov byte [esp + 0x4a], al
mov ebx, ebp
mov dword [esp + 0x50], ebp
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x410267
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x94]
mov ecx, dword [0x4f5074]
push eax
push edx
lea eax, [esp + 0x2c]
push 0x188
push eax
push ecx
push 0x4e150c
add esi, 0x10
push 0xfff
push esi
call fcn.00466ca7
add esp, 0x20
mov eax, 0x63
jmp 0x41062a
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4102bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x94]
mov ecx, dword [0x4f5074]
push eax
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push 0x190
push eax
push ecx
push 0x4e14c8
add edx, 0x10
push 0xfff
push edx
call fcn.00466ca7
add esp, 0x20
mov eax, 0x1c
jmp 0x41062a
test esi, esi
jbe 0x410460
push 0
push 0
push 0
push 2
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x18], ebx
jne 0x410329
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x4f5074]
push eax
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
push 0x19c
push ecx
push edx
push 0x4e1484
add eax, 0x10
push 0xfff
push eax
call fcn.00466ca7
add esp, 0x20
mov eax, 0x63
jmp 0x41062a
push 0
push 0
push 0
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ebp, eax
test ebp, ebp
jne 0x41038d
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
push edi
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x94]
push eax
mov eax, dword [0x4f5074]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
push 0x1a5
push edx
push eax
push 0x4e1440
add ecx, 0x10
push 0xfff
push ecx
call fcn.00466ca7
add esp, 0x20
mov eax, 0x10
jmp 0x41062a
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, 0x10624dd3
lea ecx, [esi + edx*8]
mul ecx
shr edx, 6
add edx, 0x80
push edx
mov dword [esp + 0x24], edx
call fcn.00467824
push esi
lea edx, [esp + 0x28]
mov ebx, eax
push ebp
push edx
push ebx
mov dword [esp + 0x48], esi
call fcn.004c3100
mov esi, eax
add esp, 0x14
test esi, esi
je 0x410445
push ebx
call fcn.00463c78
add esp, 4
push ebp
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [esp + 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call ebx
push edi
call ebx
mov ecx, dword [esp + 0x94]
mov eax, dword [0x4f5074]
push esi
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
push 0x1b4
push edx
push eax
push 0x4e1400
add ecx, 0x10
push 0xfff
push ecx
call fcn.00466ca7
add esp, 0x20
cmp esi, 0xfffffffc
jne 0x410431
mov eax, 0x12
jmp 0x41062a
mov eax, esi
sub eax, 0xfffffffb
neg eax
sbb eax, eax
and eax, 0x16
add eax, 0x1c
jmp 0x41062a
push ebp
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov edx, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
push edi
call esi
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x94]
push 0x5c
push edi
call fcn.00466c80
mov edx, eax
xor esi, esi
add esp, 8
cmp edx, esi
jne 0x41047e
mov edx, edi
jmp 0x41047f
inc edx
mov al, byte [esp + 0x13]
mov edi, edx
mov byte [esp + 0x3c], al
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x40], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x44], esi
push ecx
push edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x50], esi
call fcn.0040dc30
mov cl, byte [esp + 0x3c]
push esi
mov byte [esp + 0x50], cl
lea ecx, [esp + 0x50]
mov dword [esp + 0x90], esi
call fcn.00403b70
mov edx, dword [0x4d174c]
lea eax, [esp + 0x3c]
push edx
push esi
push eax
lea ecx, [esp + 0x58]
call fcn.004040a0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ebp
mov dl, byte [esp + 0x4c]
push esi
lea ecx, [esp + 0x6c]
mov byte [esp + 0x90], 1
mov byte [esp + 0x6c], dl
call fcn.00403b70
mov eax, dword [0x4d174c]
lea ecx, [esp + 0x4c]
push eax
push esi
push ecx
lea ecx, [esp + 0x74]
call fcn.004040a0
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x68]
lea eax, [esp + 0x18]
push edx
push eax
mov ecx, edi
mov byte [esp + 0x94], 2
call fcn.00415240
mov dl, byte [esp + 0x1c]
mov eax, dword [esp + 0x6c]
test dl, dl
sete byte [esp + 0x13]
cmp eax, esi
je 0x410580
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x410577
cmp al, 0xff
je 0x410577
dec al
mov byte [ecx], al
jmp 0x410580
push ecx
call fcn.00463c78
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x6c], esi
cmp eax, esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
je 0x4105b1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4105a8
cmp al, 0xff
je 0x4105a8
dec al
mov byte [ecx], al
jmp 0x4105b1
push ecx
call fcn.00463c78
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], esi
cmp eax, esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
je 0x4105e2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4105d9
cmp al, 0xff
je 0x4105d9
dec al
mov byte [ecx], al
jmp 0x4105e2
push ecx
call fcn.00463c78
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x410628
push ebx
call fcn.00463c78
mov ecx, dword [esp + 0x98]
mov eax, dword [0x4f5074]
add esp, 4
lea edx, [esp + 0x24]
add edi, 0x10
push ecx
push 0x1c5
push edx
push eax
push 0x4e13c0
push 0xfff
push edi
call fcn.00466ca7
add esp, 0x1c
mov eax, 0x40
jmp 0x41062a
xor eax, eax
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x80
ret 4