Function at 0x4026f0
Capabilities:
Get common file path
Get memory capacity

Disassembly:
push ebp
sub esp, 0x600
lea ebp, [esp - 4]
mov eax, dword [0x81c5a8]
xor eax, ebp
mov dword [ebp + 0x600], eax
push 0x70
mov eax, 0x710e76
call fcn.00648b1c
mov edi, ecx
mov esi, dword [ebp + 0x60c]
push 0xd90
call fcn.006484ac
pop ecx
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov dword [ebp - 4], eax
cmp ecx, eax
je 0x40273a
call fcn.00402de2
or dword [ebp - 4], 0xffffffff
mov dword [0x83229c], eax
lea eax, [ebp + 0x400]
push eax
mov ebx, 0x200
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x402776
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push eax
push str._bInit__GetTempPath_failed__error_code___d__0x_X__n
push edi
mov dword [ebp - 0x18], eax
call fcn.005151d0
add esp, 0x10
lea eax, [ebp + 0x400]
push eax
push str._bInit__GetTempPath___s_n
push edi
call fcn.005151d0
add esp, 0xc
test esi, esi
je 0x402792
push esi
jmp 0x4027a9
push ebx
lea eax, [ebp + 0x200]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp + 0x200]
push eax
mov ecx, dword [0x83229c]
call fcn.00402e96
mov eax, dword [0x83229c]
mov dword [eax + 0xd80], 0x6a
mov eax, dword [0x83229c]
mov dword [eax + 0xd84], 0x6b
mov eax, dword [0x83229c]
mov dword [eax + 0xd88], 0x6c
mov eax, dword [0x83229c]
mov dword [eax + 0xd8c], 0x6d
call fcn.00404d14
mov ecx, dword [0x83229c]
mov dword [0x8322a8], eax
mov dword [eax + 0x18], ecx
mov ecx, dword [0x83229c]
push 1
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x400]
push eax
call fcn.00403511
push dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
push dword [ebp - 0x18]
push str._bInit__bInitDriver_returned_error_code___d__0x_X__n
push edi
call fcn.005151d0
mov ecx, dword [0x8322a8]
add esp, 0x10
push 0x1388
lea eax, [ebp - 0x18]
push eax
call fcn.00403bef
test eax, eax
je 0x402dba
mov ecx, dword [0x8322a8]
call fcn.0040468d
test eax, eax
je 0x40286a
mov eax, dword [0x8322a8]
mov eax, dword [eax + 0x50]
mov dword [0x832294], eax
mov ecx, dword [0x83229c]
push 0x7d0
lea eax, [ebp - 0x18]
push eax
call reloc.KERNEL32.dll_SizeofResource
mov ecx, dword [0x8322a8]
or edi, 0xffffffff
call fcn.004044db
test eax, eax
je 0x402b3f
mov ecx, dword [0x8322a8]
push 0x1000
call fcn.00404824
test eax, eax
je 0x402b3f
push 2
mov ecx, eax
call fcn.0040ea68
mov esi, eax
test esi, esi
je 0x402b3f
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x402b3f
mov ecx, dword [0x8322a8]
push eax
call fcn.00403a62
push dword [esi + 0xc]
mov ecx, dword [0x8322a8]
mov dword [ebp - 0x1c], eax
call fcn.00403a79
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 8]
push 0x71f05c
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
je 0x402af5
mov eax, dword [esi + 0xc]
mov edi, str.MS_7A36
push edi
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402aee
mov eax, dword [esi + 0xc]
push str.MS_7A66
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402aee
mov eax, dword [esi + 0xc]
push str.MS_7A67
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402aee
mov eax, dword [esi + 0xc]
push str.MS_7A74
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402aee
mov eax, dword [esi + 0xc]
push str.MS_7A57
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A59
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A62
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A63
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A68
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A69
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A70
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A72
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402ae5
mov eax, dword [esi + 0xc]
push str.MS_7A31
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push str.MS_7A32
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push str.MS_7A33
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push str.MS_7A34
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push edi
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push str.MS_7A37
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push str.MS_7A38
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push str.MS_7A39
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
jne 0x402adc
mov eax, dword [esi + 0xc]
push str.MS_7B00
push eax
call fcn.00670c40
pop ecx
pop ecx
test eax, eax
je 0x402af5
mov dword [ebp - 0x10], 0xe5be7176
jmp 0x402af5
mov dword [ebp - 0x10], 0x6f5d97a1
jmp 0x402af5
mov dword [ebp - 0x10], 0x43f0e990
push dword [esi + 0xc]
lea eax, [ebp]
push dword [esi + 8]
push 0x74dc74
push ebx
push eax
call fcn.00527b3f
push 0x11c
call fcn.006484ac
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
test ecx, ecx
je 0x402b32
lea eax, [ebp]
push eax
call fcn.004126a2
jmp 0x402b34
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x10]
test eax, eax
jne 0x402b6c
push 0x11c
call fcn.006484ac
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
test ecx, ecx
je 0x402b66
push str.Mainboard
call fcn.004126a2
jmp 0x402b68
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp - 0x1c]
mov dword [eax + 0x110], edi
mov dword [eax + 0x114], ebx
mov ecx, dword [0x8322a8]
push eax
call fcn.004026d7
mov ecx, dword [0x8322a8]
call fcn.00404545
push 0x40c
call fcn.006484ac
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 3
test ecx, ecx
je 0x402bb6
call fcn.00410ce3
mov esi, eax
jmp 0x402bb8
xor esi, esi
mov eax, dword [esi]
or dword [ebp - 4], 0xffffffff
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ecx, dword [0x8322a8]
call fcn.004043b5
test eax, eax
je 0x402bf2
mov eax, dword [0x8322a8]
mov ecx, dword [eax + 0x34]
push 0x10
pop eax
cmp dword [ecx + 0x1c], eax
jl 0x402bed
mov dword [ecx + 0xc], eax
call fcn.0041072b
mov ecx, dword [0x8322a8]
push SysReAllocString
push ebx
push edi
call fcn.0040440f
mov ecx, dword [0x8322a8]
push 0x8400
call reloc.ADVAPI32.dll_RegQueryValueExW
mov ecx, dword [0x8322a8]
call reloc.GDI32.dll_GetBitmapDimensionEx
mov ecx, dword [0x8322a8]
push ebx
push edi
call fcn.0040460e
xor esi, esi
test eax, eax
je 0x402ca4
mov eax, dword [0x8322a8]
mov ecx, dword [eax + 0x3c]
cmp ecx, esi
je 0x402c5b
push esi
call fcn.0040a0db
cmp eax, esi
je 0x402c5b
mov ecx, eax
call fcn.0040b403
sub eax, 0x1000805
je 0x402ca4
sub eax, 5
je 0x402ca4
push 0x18
call fcn.006484ac
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 4
cmp ecx, esi
je 0x402c7a
call fcn.0040c406
jmp 0x402c7c
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [0x8322ac], eax
mov dword [eax + 0xc], edi
mov ecx, dword [0x8322ac]
push esi
call fcn.0040d85b
test eax, eax
je 0x402ca4
mov ecx, dword [0x8322ac]
push esi
call fcn.0040d860
mov ecx, dword [0x8322a8]
push esi
push ebx
push edi
call fcn.004046ef
mov ecx, dword [0x8322a8]
push 0xffff
call fcn.00404758
mov ecx, dword [0x8322a8]
push esi
push ebx
push edi
call fcn.004047bb
mov ecx, dword [0x83229c]
mov dword [ebp - 0x10], eax
call fcn.004030d0
mov ecx, dword [0x8322a8]
call fcn.0040376b
push 0x78d070
push 0x71efa0
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x40
pop esi
push esi
mov edi, eax
lea eax, [ebp - 0x5c]
push ebx
push eax
call fcn.0066f220
add esp, 0xc
mov dword [ebp - 0x5c], esi
test edi, edi
je 0x402d50
lea eax, [ebp - 0x5c]
push eax
call edi
test eax, eax
je 0x402d50
mov eax, dword [ebp - 0x50]
fild dword [ebp - 0x50]
test eax, eax
jge 0x402d36
fadd qword [0x78d820]
mov eax, dword [ebp - 0x54]
fmul qword [0x78d820]
fild dword [ebp - 0x54]
test eax, eax
jge 0x402d4c
fadd qword [0x78d820]
faddp st(1)
jmp 0x402d6a
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
fild dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
test eax, eax
jge 0x402d6a
fadd qword [0x78d820]
fmul qword [0x78d3f0]
fadd qword [str.ffffff]
call fcn.00648a30
test al, 1
je 0x402d80
inc eax
mov ecx, dword [0x8322ac]
test ecx, ecx
je 0x402dab
mov edx, dword [ecx + 4]
test edx, edx
jle 0x402dab
mov ecx, dword [ecx + 8]
add ecx, 0x1bc
mov esi, dword [ecx]
test esi, esi
jle 0x402da2
add ebx, esi
add ecx, 0x278
dec edx
jne 0x402d9a
cmp ebx, eax
mov dword [0x832290], ebx
jg 0x402dba
mov dword [0x832290], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x600]
xor ecx, ebp
call fcn.00647fba
add ebp, 0x604
leave
ret 4