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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfa8
mov eax, dword [0x708c34]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x3eb]
push edi
xor ebx, ebx
push 0x3e7
push ebx
push eax
mov byte [ebp - 0x3ec], bl
call fcn.00626f50
test esi, esi
mov eax, 0x66ae5d
mov edi, str.RecoverRazerSynapsePasswords
cmovne eax, esi
push eax
push edi
push str._n__s_Entered_____s_
call fcn.00449974
add esp, 0x18
test esi, esi
je 0x4388d0
push esi
call fcn.00631510
pop ecx
cmp eax, 1
jb 0x4388d0
push esi
mov esi, 0x3e8
lea eax, [ebp - 0x3ec]
push esi
push eax
call fcn.006311ec
lea eax, [ebp - 0x3ec]
push eax
call fcn.00631510
add esp, 0x10
cmp byte [ebp + eax - 0x3ed], 0x5c
jne 0x4388c9
lea eax, [ebp - 0x3ec]
push eax
call fcn.00631510
dec eax
pop ecx
cmp eax, esi
jae 0x438b68
mov byte [ebp + eax - 0x3ec], bl
mov eax, str.AccountsRazerLoginData.xml
jmp 0x43890a
lea eax, [ebp - 0x3ec]
push eax
push ebx
push ebx
push 0x1c
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x438900
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str._s_Failed_to_find_appdata_folder__Error0x_.8x
call fcn.00449974
add esp, 0xc
jmp 0x438b57
mov eax, str.RazerSynapseAccountsRazerLoginData.xml
mov esi, 0x3e8
push eax
lea eax, [ebp - 0x3ec]
push esi
push eax
call fcn.00631246
lea eax, [ebp - 0x3ec]
push eax
push edi
push str._n_s_Final_account_file_path__s
call fcn.00449974
push 0x670244
lea eax, [ebp - 0x3ec]
mov dword [ebp - 0xfa8], ebx
push eax
lea eax, [ebp - 0xfa8]
push eax
call fcn.00632119
add esp, 0x24
cmp dword [ebp - 0xfa8], ebx
je 0x438b41
test eax, eax
jne 0x438b41
push 2
push ebx
push dword [ebp - 0xfa8]
call fcn.00637e4f
push dword [ebp - 0xfa8]
call fcn.006384ae
mov esi, eax
push esi
call fcn.0063d3c4
add esp, 0x14
mov ebx, eax
push dword [ebp - 0xfa8]
test ebx, ebx
jne 0x43899f
call fcn.00637603
push edi
push str._s___Memory_allocation_failed
jmp 0x4388f3
call fcn.006388c3
push dword [ebp - 0xfa8]
push 1
push esi
push ebx
call fcn.00637a2b
push dword [ebp - 0xfa8]
call fcn.00637603
push esi
push str.Successfully_read_file_of_size__d_n_n
call fcn.00449974
mov esi, ebx
add esp, 0x20
xor eax, eax
push str._n_nChecking_for_next__Username__....
mov byte [ebp - 0xfa4], al
mov byte [ebp - 0x7d4], al
mov byte [ebp - 0xbbc], al
call fcn.00449974
mov dword [esp], str._Username_
push esi
call fcn.00627320
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x438a14
push str._username_
push esi
call fcn.00627320
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x438a63
push str._Username_
call fcn.00631510
push 0x3c
lea esi, [edi + eax]
push esi
call fcn.006270b0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x438a62
mov ecx, edi
lea eax, [ebp - 0xbbc]
sub ecx, esi
push ecx
push esi
push 0x3e8
push eax
call fcn.00631360
lea eax, [ebp - 0xbbc]
push eax
push str.Found_username___s_
call fcn.00449974
add esp, 0x18
lea esi, [edi + 1]
jmp 0x438a63
inc esi
push str._Password_
push esi
call fcn.00627320
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x438a8d
push str._password_
push esi
call fcn.00627320
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x438b2a
push str._Password_
call fcn.00631510
push 0x3c
lea esi, [edi + eax]
push esi
call fcn.006270b0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x438ad8
mov ecx, edi
lea eax, [ebp - 0x7d4]
sub ecx, esi
push ecx
push esi
push 0x3e8
push eax
call fcn.00631360
lea eax, [ebp - 0x7d4]
push eax
push str.Found_encoded_password___s_
call fcn.00449974
add esp, 0x18
jmp 0x438ada
mov edi, esi
push 0x3e8
lea eax, [ebp - 0xfa4]
push eax
lea eax, [ebp - 0x7d4]
push eax
lea esi, [edi + 1]
call fcn.0040d24d
add esp, 0xc
cmp eax, 1
jne 0x4389ce
push 0xffffffffffffffff
mov ecx, 0x66ae5d
lea eax, [ebp - 0xfa4]
push ecx
push eax
lea eax, [ebp - 0xbbc]
push eax
push ecx
push ecx
push 0x2d9
push 7
call fcn.00412c85
jmp 0x4389cb
push str.No_more_passwords_found....breaking__n_n
call fcn.00449974
push ebx
call fcn.0063d3a9
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x438b59
push eax
lea eax, [ebp - 0x3ec]
push eax
push edi
push str._s___Failed_to_open_file__s__Error0x_.8x
call fcn.00449974
add esp, 0x10
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005fe955
leave
ret
call fcn.005fe87a
int3