Function at 0x43332d
Capabilities:
Get common file path
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov dword [ebp - 8], 7
mov dword [ebp - 0x10], 7
push 0x567
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 4], eax
push 0xdc14e0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 4]
push eax
push 0x567
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 8], eax
cmp dword [0x469134], 0xd063
jne 0x4333b4
mov ecx, dword [0x4690b4]
add ecx, dword [0x469158]
mov dword [0x4690b4], ecx
mov edx, dword [0x4690b4]
sub edx, 0x14c4f
sub edx, dword [0x4690b4]
sub edx, dword [0x46912c]
mov dword [0x46912c], edx
mov eax, dword [ebp - 8]
push eax
call fcn.00433268
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [0x4690b4]
mov edx, dword [ebp - 8]
lea eax, [edx + ecx + 0x3dfb]
mov dword [0x4690b4], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x4690b4]
lea eax, [edx + ecx - 6]
mov dword [0x4690b8], eax
mov ecx, dword [0x469150]
cmp ecx, dword [0x4690b8]
jbe 0x43340a
mov edx, dword [0x469154]
sub edx, dword [0x4690b0]
mov dword [0x469154], edx
mov eax, dword [0x46912c]
add eax, 1
mov ecx, dword [ebp - 8]
and ecx, 0xff
sub eax, ecx
mov dword [0x4690b4], eax
mov edx, dword [0xdc14f0]
mov dword [0x4690b8], edx
mov eax, dword [0x4690b4]
mov ecx, dword [0x4690b0]
lea edx, [ecx + eax + 0x3dfb]
mov dword [0x4690b4], edx
mov eax, dword [ebp - 8]
push eax
call fcn.0043247c
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [0x4690b0]
add ecx, 1
mov edx, dword [ebp + 0xc]
and edx, 0xff
sub ecx, edx
mov dword [ebp - 0x10], ecx
mov eax, dword [0x4690b4]
add eax, 1
xor ecx, ecx
mov cl, byte [0x4690b0]
sub eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [0x46912c]
push edx
push 0x4b6024
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [0x4690b4]
push ecx
mov ecx, 0xdc20c0
call fcn.00434180
push eax
call fcn.004346b0
add esp, 8
push eax
call fcn.004346b0
add esp, 8
mov ecx, eax
call fcn.00434180
mov edx, dword [ebp - 8]
mov eax, dword [0x46912c]
lea ecx, [eax + edx - 0x4b]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [0x4690b0]
push eax
mov ecx, 0xdc20c0
call fcn.00434180
mov ecx, eax
call fcn.00434180
mov dword [0xdc201c], 0
jmp 0x433500
mov ecx, dword [0xdc201c]
add ecx, 1
mov dword [0xdc201c], ecx
cmp dword [0xdc201c], 8
jge 0x433533
mov edx, dword [0xdc201c]
mov eax, dword [0x46912c]
imul eax, dword [edx*4 + 0x469130]
mov dword [0x46912c], eax
mov ecx, dword [0x46912c]
cmp ecx, dword [str.d_28]
jne 0x433531
jmp 0x433533
jmp 0x4334f1
mov edx, dword [0x469150]
cmp edx, dword [0x4690b4]
jbe 0x433551
mov eax, dword [0x469154]
sub eax, dword [0x4690b0]
mov dword [0x469154], eax
mov ecx, dword [0x469150]
cmp ecx, dword [ebp - 8]
jbe 0x43356e
mov edx, dword [0x469154]
sub edx, dword [0x4690b4]
mov dword [0x469154], edx
mov eax, dword [0x469150]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 8
je 0x43358d
cmp dword [ebp - 0x14], 0xa
je 0x4335bf
cmp dword [ebp - 0x14], 0xcb
je 0x4335dd
jmp 0x4335fc
mov ecx, dword [0x46912c]
add ecx, 1
xor edx, edx
mov dl, byte [0x4690b4]
sub ecx, edx
mov dword [0x4690b0], ecx
mov eax, dword [0x46912c]
add eax, 1
xor ecx, ecx
mov cl, byte [0x4690b0]
sub eax, ecx
mov dword [0x4690b4], eax
jmp 0x433628
mov edx, dword [0x4690b4]
sub edx, dword [0x46912c]
xor eax, eax
mov ax, word [0x4690b0]
add edx, eax
mov dword [0x46912c], edx
jmp 0x433628
mov ecx, dword [0x4690b4]
sub ecx, dword [0x46912c]
xor edx, edx
mov dx, word [0x4690b0]
add ecx, edx
mov dword [0x46912c], ecx
jmp 0x433628
mov eax, dword [0x46912c]
mov ecx, dword [0x4690b4]
lea edx, [ecx + eax - 6]
mov dword [0x4690b4], edx
mov eax, dword [0x4690b4]
add eax, 1
xor ecx, ecx
mov cl, byte [0x4690b4]
sub eax, ecx
mov dword [0x46912c], eax
mov edx, dword [0x46912c]
sub edx, dword [0x4690b4]
xor eax, eax
mov ax, word [0x4690b0]
add edx, eax
mov dword [0x4690b4], edx
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00432962
add esp, 4
mov dword [0x46912c], eax
mov edx, dword [0x4690b4]
mov eax, dword [0x4690b0]
lea ecx, [eax + edx + 0x3dfb]
mov dword [0x4690b4], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [0x4690b0]
push eax
mov ecx, 0xdc20c0
call fcn.00434180
mov ecx, eax
call fcn.00434180
mov ecx, dword [0x469150]
cmp ecx, dword [0x4690b0]
jae 0x4336a2
mov edx, dword [0x4690b4]
mov dword [0x469144], edx
mov eax, dword [0x4690b0]
sub eax, 0x14c4f
sub eax, dword [0x4690b4]
sub eax, dword [0x46912c]
mov dword [0x46912c], eax
call fcn.0040107e
push 0x567
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0xc], eax
mov ecx, dword [0x469148]
imul ecx, dword [str.d_28]
cmp ecx, 0x6cd8
jne 0x433705
mov edx, dword [0x4690b4]
mov eax, dword [0x4690b8]
lea ecx, [eax + edx + 0x30]
mov dword [0x46912c], ecx
jmp 0x433723
mov edx, dword [0x4690b8]
sub edx, 0x14c4f
sub edx, dword [0x4690b4]
sub edx, dword [0x469148]
mov dword [0x469148], edx
mov eax, dword [0x4690b8]
sub eax, 0x14c4f
sub eax, dword [0x4690b4]
sub eax, dword [0x46912c]
mov dword [0x46912c], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x46912c]
lea eax, [edx + ecx - 0x4b]
mov dword [0x4690b8], eax
push 0x567
mov ecx, dword [ebp - 0xc]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 8], eax
mov dword [0xdc201c], 8
jmp 0x43377f
mov edx, dword [0xdc201c]
sub edx, 1
mov dword [0xdc201c], edx
cmp dword [0xdc201c], 3
jle 0x4337a9
mov eax, dword [0xdc201c]
mov ecx, dword [eax*4 + 0x469130]
add ecx, dword [0x46912c]
mov edx, dword [0xdc201c]
mov dword [edx*4 + 0x469130], ecx
jmp 0x433770
cmp dword [0x4690b0], 0x14adf5f1
jne 0x4337ba
mov eax, 0x6432d85
mov eax, dword [0x46912c]
mov ecx, dword [ebp - 8]
lea edx, [ecx + eax - 6]
mov dword [0x4690b4], edx
mov eax, dword [ebp - 8]
push eax
call fcn.0043247c
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [0x46912c]
mov edx, dword [ebp - 8]
lea eax, [edx + ecx - 6]
mov dword [0x4690b4], eax
mov ecx, dword [0x46912c]
sub ecx, 0x14c4f
sub ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc