Function at 0x48bad0
Capabilities:
Get system information on windows
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov edx, dword [ebp + 0x24]
push ebx
mov ebx, dword [ebp + 0x20]
push esi
mov esi, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x30]
xor ecx, ecx
push ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x1c]
push 0x64
push eax
push esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
call fcn.004d90b0
mov ecx, dword [ebp + 0x24]
push ecx
push ebx
push edx
push eax
call fcn.004d90f0
mov ecx, 0x64
sub ecx, eax
mov eax, dword [ebp + 0x10]
push ecx
mov edx, esp
mov dword [esp + 0x24], esp
push ecx
push ebx
push esi
push eax
push str.Extract:_VfcPointer_d__CompSize_d__UncompSize_d__compression_ratio_d___
push edx
call fcn.00475230
add esp, 0x18
call fcn.0048b6b0
mov esi, dword [edi + 8]
mov ebx, dword [edi + 0xc]
xor eax, eax
add esi, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
adc ebx, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ebx
lea esp, [esp]
cmp dword [0x54d1b0], 0
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x18], ecx
jne 0x48bb8b
push 0x54d194
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [0x54d1b0]
push 0
push edx
push ebx
push esi
call fcn.004dfa00
mov ebx, esi
sub ebx, eax
mov eax, dword [esp + 0x44]
sbb eax, edx
mov edx, dword [esp + 0x18]
mov ecx, esi
sub ecx, ebx
add ecx, 0x10
push ecx
push ebx
push eax
push 4
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [esp + 0x18], eax
test eax, eax
je 0x48be20
mov ecx, dword [edi + 0x28]
mov edx, dword [ecx]
sub eax, ebx
lea ebx, [esp + 0xc]
push ebx
add eax, esi
lea ebx, [esp + 0x14]
push ebx
push eax
mov eax, dword [edx + 0x10]
call eax
or ecx, 0xffffffff
cmp dword [esp + 0x10], ecx
jne 0x48bc10
xor eax, eax
cmp eax, dword [esp + 0x2c]
jg 0x48bc08
jl 0x48bbfe
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x28]
jae 0x48bc08
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x48bc10
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
cmp dword [esp + 0xc], ecx
jne 0x48bc3c
xor eax, eax
cmp eax, dword [esp + 0x34]
jg 0x48bc34
jl 0x48bc2a
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x30]
jae 0x48bc34
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
jmp 0x48bc3c
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ebx, dword [esp + 0x10]
add ebx, 0x2000
xor eax, eax
mov ecx, ebx
sub ecx, dword [edi + 8]
sbb eax, dword [edi + 0xc]
add ecx, esi
adc eax, dword [esp + 0x44]
cmp eax, dword [edi + 0x14]
jb 0x48bc75
ja 0x48bc6d
cmp ecx, dword [edi + 0x10]
jbe 0x48bc75
mov ebx, dword [edi + 8]
sub ebx, esi
add ebx, dword [edi + 0x10]
cmp dword [0x54d1b0], 0
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x18], ecx
jne 0x48bc90
push 0x54d194
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [0x54d1b0]
mov eax, dword [esp + 0x44]
push 0
push edx
push eax
push esi
call fcn.004dfa00
mov ecx, dword [esp + 0x18]
mov edi, esi
sub edi, eax
mov eax, dword [esp + 0x44]
sbb eax, edx
sub ebx, edi
add ebx, esi
push ebx
push edi
push eax
push 4
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x48be57
sub eax, edi
mov edi, dword [esp + 0xc]
add eax, esi
cmp dword [0x54d1b0], 0
mov dword [esp + 0x18], eax
jne 0x48bcee
push 0x54d194
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [0x54d1b0]
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
push 0
push edx
push eax
push ebx
call fcn.004dfa00
mov ecx, dword [ebp + 0xc]
sub ebx, eax
mov eax, dword [esp + 0x3c]
sbb eax, edx
sub edi, ebx
add edi, dword [esp + 0x38]
push edi
push ebx
push eax
push 6
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [esp + 0x20], eax
test eax, eax
je 0x48be77
push ecx
mov edx, esp
mov edi, eax
mov dword [esp + 0x28], esp
sub edi, ebx
mov ebx, dword [esp + 0x3c]
push esi
push ebx
push str.DestCurOfs_d__VfcCurOfs_d
push edx
add edi, ebx
call fcn.00475230
add esp, 0x10
call fcn.0048b6b0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x24]
push esi
push edi
push eax
call edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
xor eax, eax
add esi, ecx
adc dword [esp + 0x44], eax
xor edi, edi
add ebx, edx
adc dword [esp + 0x3c], edi
cmp dword [esp + 0x2c], eax
mov dword [esp + 0x38], ebx
jl 0x48bdac
jg 0x48bda2
cmp dword [esp + 0x28], ecx
jbe 0x48bdac
sub dword [esp + 0x28], ecx
sbb dword [esp + 0x2c], eax
jmp 0x48bdb6
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x34], edi
jl 0x48bdce
jg 0x48bdc4
cmp dword [esp + 0x30], edx
jbe 0x48bdce
sub dword [esp + 0x30], edx
sbb dword [esp + 0x34], edi
jmp 0x48bdd8
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
add dword [esp + 0x48], ecx
adc dword [esp + 0x4c], eax
add dword [esp + 0x50], edx
mov eax, dword [esp + 0x1c]
push eax
adc dword [esp + 0x58], edi
mov edi, dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
call edi
mov ecx, dword [esp + 0x20]
push ecx
call edi
cmp dword [esp + 0x2c], 0
jl 0x48bea3
jg 0x48be14
cmp dword [esp + 0x28], 0
jbe 0x48bea3
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x44]
jmp 0x48bb70
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov ecx, dword [esp + 0x14]
mov edx, esp
mov dword [esp + 0x28], esp
push eax
mov eax, dword [esp + 0x14]
push eax
push ecx
push esi
push str._Extract:_Src_mapping_failed_a_:_VfcCurOfs_d__SrcMapSize_d__DestMapSize_d__LE_d
push edx
call fcn.00475230
add esp, 0x18
call fcn.0048b6b0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov ecx, dword [esp + 0x14]
mov edx, esp
mov dword [esp + 0x28], esp
push eax
mov eax, dword [esp + 0x14]
push eax
push ecx
push esi
push str._Extract:_Src_mapping_failed_b_:_VfcCurOfs_d__SrcMapSize_d__DestMapSize_d__LE_d
jmp 0x48be3e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov edx, esp
mov dword [esp + 0x28], esp
push eax
push str._Extract:_Dest_mapping_failed__LE_d
push edx
call fcn.00475230
add esp, 0xc
call fcn.0048b6b0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x20