Function at 0x42d000
Capabilities:
Get common file path
Get memory capacity
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x49fad6
mov eax, dword fs:[0]
push eax
sub esp, 0x568
mov eax, dword [0x4d6720]
xor eax, esp
mov dword [esp + 0x530], eax
push ebx
push esi
push edi
mov eax, dword [0x4d6720]
xor eax, esp
push eax
lea eax, [esp + 0x578]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [esp + 0x580], edi
mov dword [esp + 0x58], esi
mov dword [esp + 0x78], edi
call fcn.00468b49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d06e
push 0x80004005
call fcn.00401210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov esi, 1
push edi
mov dword [esp + 0x584], edi
mov dword [esp + 0x7c], esi
call fcn.00483d72
fldz
add esp, 4
fstp qword [esp + 0x18]
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x24], edi
call fcn.00405e20
lea edx, [esp + 0x80]
push edx
call fcn.00420e20
add esp, 4
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x20]
call fcn.00411b30
fldz
mov ecx, eax
fcomp qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x42d0f0
fld qword [0x4ab1b0]
jmp 0x42d0f6
fld qword [0x4aaf18]
fadd qword [ecx]
fmul qword [0x4a76d8]
call fcn.004833c0
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fst qword [esp + 0x44]
fabs
fdiv qword [0x4abec0]
fstp qword [esp + 0x64]
call fcn.00468b49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d135
push 0x80004005
call fcn.00401210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
fldz
fcomp qword [esp + 0x44]
mov dword [esp + 0x580], esi
fnstsw ax
test ah, 0x41
mov eax, 0x4ac364
jnp 0x42d163
mov eax, 0x4abcf8
fld qword [esp + 0x64]
sub esp, 8
fstp qword [esp]
push eax
lea ecx, [esp + 0x40]
push str._s_.3fh
push ecx
call fcn.00404580
add esp, 0x14
call fcn.00468b49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d19a
push 0x80004005
call fcn.00401210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x580], 2
call fcn.00468b49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d1cc
push 0x80004005
call fcn.00401210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
push 0x3c
lea ecx, [esp + 0xf4]
push edi
push ecx
mov byte [esp + 0x58c], 3
call fcn.00482db0
add esp, 0xc
lea edx, [esp + 0xec]
push edx
mov dword [esp + 0xf0], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x42d2e0
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
push esi
push edi
push 0x4ab5b8
push 0x4ab5b4
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00423850
add esp, 0x1c
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x584], 4
call fcn.00401a50
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x580], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d27b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xfc]
push esi
push edi
push 0x4ab5b8
push 0x4ab5b4
push ecx
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00423850
add esp, 0x1c
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x584], 5
call fcn.00401a50
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x580], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d30b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x42d30b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
lea ecx, [esp + 0x28]
push str.Err:_d
push ecx
call fcn.00404580
push esi
lea edx, [esp + 0x38]
push str.Err:_d
push edx
call fcn.00404580
add esp, 0x18
push 0x208
lea ecx, [esp + 0x130]
xor eax, eax
push ecx
mov word [esp + 0x134], ax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
call fcn.00468b49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d342
push 0x80004005
call fcn.00401210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0x580], 6
call fcn.00468b49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d374
push 0x80004005
call fcn.00401210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x134]
push eax
mov byte [esp + 0x58c], 7
call fcn.004258a0
add esp, 0xc
call fcn.00468b49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d3c0
push 0x80004005
call fcn.00401210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x584], 8
call fcn.004227a0
add esp, 4
lea edx, [esp + 0x44]
push edx
mov ecx, 0x4d7c58
call fcn.00427380
mov esi, eax
lea eax, [esp + 0x64]
push eax
mov ecx, 0x4d7c58
mov byte [esp + 0x584], 9
call fcn.004271b0
mov edi, eax
lea ecx, [esp + 0x5c]
push 0x400
push ecx
mov byte [esp + 0x588], 0xa
call fcn.0042aae0
mov ebx, eax
lea edx, [esp + 0x78]
push edx
mov byte [esp + 0x58c], 0xb
call fcn.004284e0
add esp, 0xc
cmp dword [esp + 0x20], 0
mov ecx, dword [edi]
mov edx, dword [ebx]
mov eax, dword [eax]
mov esi, dword [esi]
mov edi, dword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
mov byte [esp + 0x580], 0xc
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x60], eax
jne 0x42d48f
fld qword [esp + 0x18]
lea ecx, [esp + 0xcc]
push ecx
sub esp, 8
fstp qword [esp]
call edi
test eax, eax
je 0x42d48f
movzx edx, word [esp + 0xd8]
mov dword [esp + 0x40], edx
or ebx, 0xffffffff
jmp 0x42d496
or ebx, 0xffffffff
mov dword [esp + 0x40], ebx
cmp dword [esp + 0x20], 0
jne 0x42d4c3
fld qword [esp + 0x18]
lea eax, [esp + 0xac]
push eax
sub esp, 8
fstp qword [esp]
call edi
test eax, eax
je 0x42d4c3
movzx ecx, word [esp + 0xb6]
mov dword [esp + 0x3c], ecx
jmp 0x42d4c7
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x20], 0
jne 0x42d4f4
fld qword [esp + 0x18]
lea edx, [esp + 0xdc]
push edx
sub esp, 8
fstp qword [esp]
call edi
test eax, eax
je 0x42d4f4
movzx eax, word [esp + 0xe4]
mov dword [esp + 0x14], eax
jmp 0x42d4f8
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x20], 0
jne 0x42d548
fld qword [esp + 0x18]
lea ecx, [esp + 0x8c]
push ecx
sub esp, 8
fstp qword [esp]
call edi
test eax, eax
je 0x42d51f
movzx ebx, word [esp + 0x92]
cmp dword [esp + 0x20], 0
jne 0x42d548
fld qword [esp + 0x18]
lea edx, [esp + 0x9c]
push edx
sub esp, 8
fstp qword [esp]
call edi
test eax, eax
je 0x42d548
movzx edi, word [esp + 0x9e]
jmp 0x42d54b
or edi, 0xffffffff
cmp dword [esp + 0x20], 0
jne 0x42d578
fld qword [esp + 0x18]
lea eax, [esp + 0xbc]
push eax
sub esp, 8
fstp qword [esp]
call dword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x42d578
movzx eax, word [esp + 0xbc]
jmp 0x42d57b
or eax, 0xffffffff
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
push esi
push ecx
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x40]
push edx
movzx edx, word [esp + 0x138]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x7c]
push esi
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x44]
push ecx
push edx
push ebx
push edi
mov edi, dword [esp + 0x98]
push eax
push str.DATE:__04d__d__d__02d:_02d:_02d___s__nOS:__s_nLOCALE:__s_nLANGID:__s_nRAM:__s__Free:__s_nHDD__c_:__s__Free:__s_nPROC:__s_s
push edi
call fcn.00404580
mov eax, dword [esp + 0xbc]
add eax, 0xfffffff0
add esp, 0x4c
mov byte [esp + 0x580], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d607
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
mov byte [esp + 0x580], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d62f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
mov byte [esp + 0x580], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d657
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x580], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d67f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x580], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d6a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x580], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d6cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x580], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d6f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x580], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d71b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x580], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d743
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x580], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d76b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [esp + 0x578]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x530]
xor ecx, esp
call fcn.00482b5f
mov esp, ebp
pop ebp
ret