Function at 0x43922f
Capabilities:
Get common file path
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfb8
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x3f3]
push edi
xor ebx, ebx
mov dword [ebp - 0xfb4], ecx
push 0x3e7
push ebx
push eax
mov byte [ebp - 0x3f4], bl
call fcn.006390b0
add esp, 0xc
mov edi, 0x3e8
test esi, esi
je 0x4392cc
push esi
call fcn.00643470
pop ecx
cmp eax, 1
jb 0x4392cc
push esi
lea eax, [ebp - 0x3f4]
push edi
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x3f4]
push eax
call fcn.00643470
pop ecx
cmp byte [ebp + eax - 0x3f5], 0x5c
jne 0x4392c5
lea eax, [ebp - 0x3f4]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, edi
jae 0x4394ea
mov byte [ebp + eax - 0x3f4], bl
mov eax, str.AccountsRazerLoginData.xml
jmp 0x439300
lea eax, [ebp - 0x3f4]
push eax
push ebx
push ebx
push 0x1c
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x4392fb
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.RazerSynapseAccountsRazerLoginData.xml
push eax
lea eax, [ebp - 0x3f4]
push edi
push eax
call fcn.006500a8
add esp, 0xc
mov dword [ebp - 0xfb0], ebx
lea eax, [ebp - 0x3f4]
push 0x6c5e0c
push eax
lea eax, [ebp - 0xfb0]
push eax
call fcn.00649a00
add esp, 0xc
cmp dword [ebp - 0xfb0], ebx
je 0x4392e8
test eax, eax
jne 0x4392e8
push 2
push ebx
push dword [ebp - 0xfb0]
call fcn.00650f28
add esp, 0xc
push dword [ebp - 0xfb0]
call fcn.00650730
pop ecx
mov esi, eax
push esi
call fcn.0064f743
mov ebx, eax
mov dword [ebp - 0xfb8], ebx
pop ecx
push dword [ebp - 0xfb0]
test ebx, ebx
jne 0x439381
call fcn.00649273
pop ecx
jmp 0x4392e8
call fcn.0065128a
pop ecx
push dword [ebp - 0xfb0]
push 1
push esi
push ebx
call fcn.00651b3e
push dword [ebp - 0xfb0]
call fcn.00649273
mov esi, ebx
add esp, 0x14
mov ebx, dword [ebp - 0xfb4]
xor eax, eax
push str._Username_
push esi
mov byte [ebp - 0xbc4], al
mov byte [ebp - 0x7dc], al
mov byte [ebp - 0xfac], al
call fcn.00639500
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4393e6
push str._username_
push esi
call fcn.00639500
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x439424
push str._Username_
call fcn.00643470
pop ecx
push 0x3c
lea esi, [edi + eax]
push esi
call fcn.006393d0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x439423
mov ecx, edi
lea eax, [ebp - 0xfac]
sub ecx, esi
push ecx
push esi
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
lea esi, [edi + 1]
jmp 0x439424
inc esi
push str._Password_
push esi
call fcn.00639500
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x43944e
push str._password_
push esi
call fcn.00639500
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4394d5
push str._Password_
call fcn.00643470
pop ecx
push 0x3c
lea esi, [edi + eax]
push esi
call fcn.006393d0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x439488
mov ecx, edi
lea eax, [ebp - 0x7dc]
sub ecx, esi
push ecx
push esi
push 0x3e8
push eax
call fcn.00650b7d
add esp, 0x10
jmp 0x43948a
mov edi, esi
push ecx
lea eax, [ebp - 0xbc4]
push eax
lea eax, [ebp - 0x7dc]
push eax
lea esi, [edi + 1]
call fcn.00439068
cmp eax, 1
jne 0x4393ac
push 0xffffffffffffffff
mov ecx, 0x6c5bb9
lea eax, [ebp - 0xbc4]
push ecx
push eax
lea eax, [ebp - 0xfac]
push eax
push ecx
push ecx
push 0x2d9
push 7
mov ecx, ebx
call fcn.0043ee6b
jmp 0x4393ac
mov ebx, dword [ebp - 0xfb8]
push ebx
call fcn.006434fb
xor eax, eax
pop ecx
inc eax
jmp 0x4392ea
call fcn.00612782
int3