Function at 0x436ed4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3e88
call fcn.005fec20
mov eax, dword [0x708c34]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x2714]
push edi
push 0x677bbc
push str.accounts.
push str..purple
push str._s_s_s
mov edi, 0x3e8
push edi
push eax
call fcn.00445d6d
push esi
call fcn.00631510
add esp, 0x1c
xor ebx, ebx
cmp eax, 1
lea eax, [ebp - 0x3ec]
jae 0x436f6c
push eax
push ebx
push ebx
push 0x1a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x436f53
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.RecoverPidginPassword
push str._s_Failed_to_find_appdata_folder__Error0x_.8x
jmp 0x436fd6
lea eax, [ebp - 0x2714]
push eax
lea eax, [ebp - 0x3ec]
push edi
push eax
call fcn.00631246
add esp, 0xc
jmp 0x436f81
push str.accounts.xml
push esi
push 0x66c218
push edi
push eax
call fcn.00445d6d
add esp, 0x14
lea eax, [ebp - 0x3ec]
mov esi, str.RecoverPidginPassword
push eax
push esi
push str._s_Final_pidgin_pass_path_is__s
call fcn.00449974
push 0x66ca20
lea eax, [ebp - 0x3ec]
mov dword [ebp - 0x3e88], ebx
push eax
lea eax, [ebp - 0x3e88]
push eax
call fcn.00632119
add esp, 0x18
test eax, eax
jne 0x436fc9
cmp dword [ebp - 0x3e88], ebx
jne 0x43718f
lea eax, [ebp - 0x3ec]
push eax
push esi
push str._s_Unable_to_find_pidgin_password_file_:__s
call fcn.00449974
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005fe955
leave
ret
lea eax, [ebp - 0x3e84]
push eax
call fcn.00631510
pop ecx
test eax, eax
je 0x437020
lea eax, [ebp - 0x3e84]
push eax
call fcn.00631510
dec eax
pop ecx
cmp eax, 0x1388
jae 0x4372e6
mov byte [ebp + eax - 0x3e84], bl
lea eax, [ebp - 0x3e84]
push eax
lea eax, [ebp - 0x232c]
push 0x1388
push eax
call fcn.006311ec
lea eax, [ebp - 0x232c]
push eax
call fcn.00631510
inc eax
push eax
lea eax, [ebp - 0x232c]
push eax
call fcn.00631711
mov eax, esi
add esp, 0x18
sub eax, ebx
je 0x43728a
sub eax, 1
je 0x43721d
sub eax, 1
je 0x437196
sub eax, 1
jne 0x4372b0
lea eax, [ebp - 0x232c]
push str._password_
push eax
call fcn.00627320
mov edi, eax
lea eax, [ebp - 0x232c]
pop ecx
pop ecx
test edi, edi
je 0x43717a
push str.__password_
push eax
call fcn.00627320
pop ecx
pop ecx
test eax, eax
je 0x4370c8
lea ecx, [ebp - 0x232c]
sub eax, ecx
cmp eax, 0x1388
jae 0x4372e6
mov byte [ebp + eax - 0x3e84], bl
push str._password_
call fcn.00631510
lea ecx, [ebp - 0x232c]
sub edi, ecx
lea ecx, [ebp - 0x3e84]
add ecx, edi
mov edi, 0x3e8
add ecx, eax
lea eax, [ebp - 0xbbc]
push ecx
push edi
push eax
call fcn.006311ec
lea eax, [ebp - 0xbbc]
push eax
call fcn.00631510
add esp, 0x14
cmp eax, 1
jbe 0x43718f
lea eax, [ebp - 0xbbc]
push eax
lea eax, [ebp - 0x7d4]
push eax
lea eax, [ebp - 0xfa4]
push eax
push str.RecoverPidginPassword
push str._s___Found_protocol____s__user__s__pass__s
call fcn.00449974
push edi
lea eax, [ebp - 0x2afc]
push eax
lea eax, [ebp - 0x7d4]
push eax
lea eax, [ebp - 0xfa4]
push eax
call fcn.00411816
push 0xffffffffffffffff
mov edi, 0x66ae5d
lea eax, [ebp - 0xbbc]
push edi
push eax
lea eax, [ebp - 0x7d4]
push eax
lea eax, [ebp - 0x2afc]
push eax
push edi
push 0x6c
push 3
call fcn.00412c85
add esp, 0x44
jmp 0x43718f
push str.__account_
push eax
call fcn.00627320
pop ecx
pop ecx
test eax, eax
je 0x4372b0
mov esi, ebx
jmp 0x4372b0
lea eax, [ebp - 0x232c]
push str._name_
push eax
call fcn.00627320
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4372b0
lea eax, [ebp - 0x232c]
push str.__name_
push eax
call fcn.00627320
pop ecx
pop ecx
test eax, eax
je 0x4371e4
lea ecx, [ebp - 0x232c]
sub eax, ecx
cmp eax, 0x1388
jae 0x4372e6
mov byte [ebp + eax - 0x3e84], bl
push str._name_
call fcn.00631510
lea ecx, [ebp - 0x232c]
sub edi, ecx
lea ecx, [ebp - 0x3e84]
add ecx, edi
add ecx, eax
lea eax, [ebp - 0x7d4]
push ecx
push 0x3e8
push eax
call fcn.006311ec
add esp, 0x10
push 3
pop esi
jmp 0x4372b0
lea eax, [ebp - 0x232c]
push str._protocol_
push eax
call fcn.00627320
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4372b0
lea eax, [ebp - 0x232c]
push str.__protocol_
push eax
call fcn.00627320
pop ecx
pop ecx
test eax, eax
je 0x43724f
mov byte [eax], bl
push str._protocol_
call fcn.00631510
add eax, edi
push eax
lea eax, [ebp - 0xfa4]
push 0x3e8
push eax
call fcn.006311ec
lea eax, [ebp - 0xfa4]
push eax
push str.RecoverPidginPassword
push str._s_Found_pidgin_protocol__s
call fcn.00449974
add esp, 0x1c
push 2
jmp 0x437217
lea eax, [ebp - 0x232c]
push 0x677c58
push eax
call fcn.00627320
pop ecx
pop ecx
test eax, eax
je 0x4372b0
xor esi, esi
mov byte [ebp - 0x7d4], bl
mov byte [ebp - 0xbbc], bl
inc esi
push dword [ebp - 0x3e88]
lea eax, [ebp - 0x3e84]
push 0x1388
push eax
call fcn.00631f4f
add esp, 0xc
test eax, eax
jne 0x436fef
push dword [ebp - 0x3e88]
call fcn.00637603
xor eax, eax
pop ecx
inc eax
jmp 0x436fe0
call fcn.005fe87a
int3