Function at 0x4032b0
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x45c2c0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c4
mov eax, dword [0x473ff0]
xor eax, esp
mov dword [esp + 0x3c0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x473ff0]
xor eax, esp
push eax
lea eax, [esp + 0x3d8]
mov dword fs:[0], eax
push 0x208
xor ebx, ebx
lea ecx, [esp + 0x1ca]
xor eax, eax
push ebx
push ecx
mov word [esp + 0x1d0], ax
call fcn.00445b20
add esp, 0xc
lea edx, [esp + 0x1c4]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [esp + 0x1c]
call fcn.00401000
mov ebp, 8
cmp dword [eax + 0x18], ebp
jb 0x403338
mov eax, dword [eax + 4]
jmp 0x40333b
add eax, 4
mov edx, eax
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x403340
lea edi, [esp + 0x1c4]
sub eax, edx
add edi, 0xfffffffe
jmp 0x403360
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x403360
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [esp + 0x34], ebp
jb 0x40338f
mov eax, dword [esp + 0x20]
push eax
call fcn.00443850
add esp, 4
lea edi, [esp + 0x1c4]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x4033a0
mov ecx, 6
mov esi, str.softlist.xml
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x11c]
push ecx
movsw word es:[edi], word [esi]
call fcn.00401760
mov dword [esp + 0x3e0], ebx
xor edx, edx
mov edi, 7
lea eax, [esp + 0x1c4]
mov word [esp + 0x20], dx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4033f0
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x1c8]
lea esi, [esp + 0x20]
call fcn.004011a0
mov byte [esp + 0x3e0], 1
xor eax, eax
mov word [esp + 0x3c], ax
push 0x26
mov eax, str.http:__install.5913.net_p2p_config.xml
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
call fcn.004011a0
lea ecx, [esp + 0x1c]
push ecx
mov edx, esi
lea ecx, [esp + 0x120]
mov byte [esp + 0x3e4], 2
call fcn.00402110
test al, al
sete byte [esp + 0x1b]
cmp dword [esp + 0x50], ebp
jb 0x40346c
mov edx, dword [esp + 0x3c]
push edx
call fcn.00443850
add esp, 4
xor eax, eax
mov byte [esp + 0x3e0], bl
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], ax
cmp dword [esp + 0x34], ebp
jb 0x403495
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00443850
add esp, 4
cmp byte [esp + 0x1b], bl
jne 0x4037b8
lea edx, [esp + 0x54]
push edx
call fcn.004044d0
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x1c8]
push ecx
lea edx, [esp + 0x78]
lea ecx, [esp + 0x5c]
mov byte [esp + 0x3e8], 3
call fcn.00406e80
add esp, 8
test al, al
je 0x4037a7
lea edx, [esp + 0x54]
push edx
call fcn.004077c0
cmp al, bl
je 0x4037a7
push ecx
mov eax, esp
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa4], ebx
lea esi, [esp + 0x58]
mov dword [esp + 0x18], esp
mov dword [eax], str.config
call fcn.00407090
cmp al, bl
je 0x4037a7
mov eax, esi
call fcn.00407480
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
mov dword [eax], str.soft
call fcn.00407090
cmp al, bl
je 0x40371d
mov eax, esi
call fcn.00407480
push ecx
mov eax, esp
lea esi, [esp + 0x58]
mov dword [esp + 0x18], esp
mov dword [eax], ebx
call fcn.00407090
cmp al, bl
je 0x403714
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xdc], edi
mov dword [esp + 0xd8], ebx
mov word [esp + 0xc8], ax
mov dword [esp + 0xf8], edi
mov dword [esp + 0xf4], ebx
mov word [esp + 0xe4], cx
mov dword [esp + 0x114], edi
mov dword [esp + 0x110], ebx
mov word [esp + 0x100], dx
push ecx
mov eax, esp
mov byte [esp + 0x3e4], 4
mov dword [eax], str.text
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
mov dword [esp + 0x18], esp
call fcn.00404310
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0xcc]
mov byte [esp + 0x3e8], 5
call fcn.00401640
mov byte [esp + 0x3e0], 4
cmp dword [esp + 0x34], ebp
jb 0x40360a
mov eax, dword [esp + 0x20]
push eax
call fcn.00443850
add esp, 4
push ecx
mov eax, esp
mov dword [eax], 0x469578
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
mov dword [esp + 0x18], esp
call fcn.00404310
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x104]
mov byte [esp + 0x3e8], 6
call fcn.00401640
mov byte [esp + 0x3e0], 4
cmp dword [esp + 0x34], ebp
jb 0x403656
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00443850
add esp, 4
push ecx
mov eax, esp
mov dword [eax], 0x469584
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
mov dword [esp + 0x18], esp
call fcn.00404310
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0xe8]
mov byte [esp + 0x3e8], 7
call fcn.00401640
mov byte [esp + 0x3e0], 4
cmp dword [esp + 0x34], ebp
jb 0x4036a2
mov edx, dword [esp + 0x20]
push edx
call fcn.00443850
add esp, 4
push ecx
mov eax, esp
mov dword [eax], 0x46958c
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
mov dword [esp + 0x18], esp
call fcn.00404310
cmp dword [eax + 0x18], ebp
jb 0x4036c6
mov eax, dword [eax + 4]
jmp 0x4036c9
add eax, 4
push eax
call fcn.00444094
add esp, 4
mov dword [esp + 0x118], eax
cmp dword [esp + 0x34], ebp
jb 0x4036ec
mov eax, dword [esp + 0x20]
push eax
call fcn.00443850
add esp, 4
lea ebx, [esp + 0xc4]
call fcn.00403870
mov esi, ebx
mov byte [esp + 0x3e0], 3
call fcn.004037f0
xor ebx, ebx
lea edi, [ebx + 7]
lea ebp, [ebx + 8]
jmp 0x403554
lea eax, [esp + 0x54]
call fcn.004074c0
push ecx
mov eax, esp
lea esi, [esp + 0x58]
mov dword [esp + 0x18], esp
mov dword [eax], str.homepage
call fcn.00407090
cmp al, bl
je 0x4037a7
push ecx
mov eax, esp
mov dword [eax], 0x469578
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
mov dword [esp + 0x18], esp
call fcn.00404310
push 0xffffffffffffffff
push ebx
mov ecx, 0x475318
mov byte [esp + 0x3e8], 8
call fcn.00401640
mov byte [esp + 0x3e0], 3
call fcn.00401730
push ecx
mov eax, esp
mov dword [eax], 0x469584
lea esi, [esp + 0x3c]
lea eax, [esp + 0x58]
mov dword [esp + 0x18], esp
call fcn.00404310
push 0xffffffffffffffff
push ebx
mov ecx, 0x475334
mov byte [esp + 0x3e8], 9
call fcn.00401640
call fcn.00401730
lea ecx, [esp + 0x54]
push ecx
mov byte [esp + 0x3e4], bl
call fcn.00404330
lea esi, [esp + 0x11c]
call fcn.00401860
mov ecx, dword [esp + 0x3d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c0]
xor ecx, esp
call fcn.004437f0
add esp, 0x3d0
ret