Function at 0x41be28
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4270
call fcn.005fec20
mov eax, dword [0x708c34]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, str.PerformSuperPuttyPasswordRecovery
push edi
push 0x66c4b8
call fcn.00449974
push esi
call fcn.00631510
add esp, 0xc
xor ebx, ebx
cmp eax, 1
lea eax, [ebp - 0x3ec]
jae 0x41bea9
push eax
push ebx
push ebx
push 5
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x41be8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str._s_Failed_to_find_appdata_folder__Error0x_.8x
jmp 0x41bf16
push str.SuperPuTTYSessions.XML
mov edi, 0x3e8
lea eax, [ebp - 0x3ec]
push edi
push eax
call fcn.00631246
add esp, 0xc
jmp 0x41bebe
push esi
push str._sSessions.XML
mov edi, 0x3e8
push edi
push eax
call fcn.00445d6d
add esp, 0x10
lea eax, [ebp - 0x3ec]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s_Final_supertputty_session_file_path_is__s
call fcn.00449974
push 0x66ca20
lea eax, [ebp - 0x3ec]
mov dword [ebp - 0x4270], ebx
push eax
lea eax, [ebp - 0x4270]
push eax
call fcn.00632119
add esp, 0x18
test eax, eax
jne 0x41bf05
cmp dword [ebp - 0x4270], ebx
jne 0x41c37d
lea eax, [ebp - 0x3ec]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s_Unable_to_open_superputty_sesion_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 - 0x426c]
push eax
call fcn.00631510
pop ecx
test eax, eax
je 0x41bf60
lea eax, [ebp - 0x426c]
push eax
call fcn.00631510
dec eax
pop ecx
cmp eax, 0x1388
jae 0x41c3b3
mov byte [ebp + eax - 0x426c], bl
lea eax, [ebp - 0x426c]
push eax
call fcn.00449da7
lea eax, [ebp - 0x426c]
push eax
lea eax, [ebp - 0x2ee4]
push 0x1388
push eax
call fcn.006311ec
lea eax, [ebp - 0x2ee4]
push eax
call fcn.00631510
inc eax
push eax
lea eax, [ebp - 0x2ee4]
push eax
call fcn.00631711
push str._sessiondata
call fcn.00631510
push eax
lea eax, [ebp - 0x2ee4]
push str._sessiondata
push eax
call fcn.00631760
add esp, 0x2c
test eax, eax
jne 0x41c37d
lea eax, [ebp - 0x426c]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._n_n_s__Found_session_line___s
call fcn.00449974
lea eax, [ebp - 0x2ee4]
mov byte [ebp - 0x7d4], bl
push str.host_
push eax
mov byte [ebp - 0xbbc], bl
mov byte [ebp - 0x1774], bl
mov byte [ebp - 0x138c], bl
mov byte [ebp - 0xfa4], bl
call fcn.00627320
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x41c01f
push str.PerformSuperPuttyPasswordRecovery
push str._s_____________Host_itself_not_found__so_ignoring_the_line
jmp 0x41c054
push str.host_
call fcn.00631510
lea ecx, [ebp - 0x2ee4]
sub esi, ecx
lea ecx, [ebp - 0x426c]
add esi, ecx
add esi, eax
push 0x22
push esi
call fcn.006270b0
add esp, 0xc
test eax, eax
jne 0x41c060
push str.PerformSuperPuttyPasswordRecovery
push str._s_____________Host_terminator_not_found__so_ignoring_the_line
call fcn.00449974
pop ecx
pop ecx
jmp 0x41c37d
mov cl, byte [esi]
mov eax, ebx
cmp cl, 0x22
je 0x41c089
lea ebx, [ebp - 0xfa4]
sub ebx, esi
inc eax
mov byte [ebx + esi], cl
inc esi
mov edx, eax
mov cl, byte [esi]
cmp cl, 0x22
jne 0x41c071
cmp edx, edi
jae 0x41c3b3
xor ebx, ebx
mov byte [ebp + eax - 0xfa4], bl
lea eax, [ebp - 0xfa4]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s___Found_Host_____s_
call fcn.00449974
lea eax, [ebp - 0x2ee4]
push str.port_
push eax
call fcn.00627320
mov esi, eax
add esp, 0x14
test esi, esi
je 0x41c134
push str.port_
call fcn.00631510
lea ecx, [ebp - 0x2ee4]
sub esi, ecx
lea ecx, [ebp - 0x426c]
add esi, ecx
add esi, eax
push 0x22
push esi
call fcn.006270b0
add esp, 0xc
test eax, eax
je 0x41c11b
mov cl, byte [esi]
mov eax, ebx
cmp cl, 0x22
je 0x41c114
lea ebx, [ebp - 0x138c]
sub ebx, esi
inc eax
mov byte [ebx + esi], cl
inc esi
mov edx, eax
mov cl, byte [esi]
cmp cl, 0x22
jne 0x41c0fc
cmp edx, edi
jae 0x41c3b3
xor ebx, ebx
mov byte [ebp + eax - 0x138c], bl
lea eax, [ebp - 0x138c]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s___Found_Port_____s_
call fcn.00449974
add esp, 0xc
lea eax, [ebp - 0x2ee4]
push str.proto_
push eax
call fcn.00627320
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x41c1c1
push str.proto_
call fcn.00631510
lea ecx, [ebp - 0x2ee4]
sub esi, ecx
lea ecx, [ebp - 0x426c]
add esi, ecx
add esi, eax
push 0x22
push esi
call fcn.006270b0
add esp, 0xc
test eax, eax
je 0x41c1a8
mov cl, byte [esi]
mov eax, ebx
cmp cl, 0x22
je 0x41c1a1
lea ebx, [ebp - 0x1774]
sub ebx, esi
inc eax
mov byte [ebx + esi], cl
inc esi
mov edx, eax
mov cl, byte [esi]
cmp cl, 0x22
jne 0x41c189
cmp edx, edi
jae 0x41c3b3
xor ebx, ebx
mov byte [ebp + eax - 0x1774], bl
lea eax, [ebp - 0x1774]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s___Found_Protocol_____s_
call fcn.00449974
add esp, 0xc
lea eax, [ebp - 0x2ee4]
push str.username_
push eax
call fcn.00627320
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x41c24e
push str.username_
call fcn.00631510
lea ecx, [ebp - 0x2ee4]
sub esi, ecx
lea ecx, [ebp - 0x426c]
add esi, ecx
add esi, eax
push 0x22
push esi
call fcn.006270b0
add esp, 0xc
test eax, eax
je 0x41c235
mov cl, byte [esi]
mov eax, ebx
cmp cl, 0x22
je 0x41c22e
lea ebx, [ebp - 0xbbc]
sub ebx, esi
inc eax
mov byte [ebx + esi], cl
inc esi
mov edx, eax
mov cl, byte [esi]
cmp cl, 0x22
jne 0x41c216
cmp edx, edi
jae 0x41c3b3
xor ebx, ebx
mov byte [ebp + eax - 0xbbc], bl
lea eax, [ebp - 0xbbc]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s___Found_Username_____s_
call fcn.00449974
add esp, 0xc
lea eax, [ebp - 0x2ee4]
push str.extraargs_
push eax
call fcn.00627320
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x41c350
push str.extraargs_
call fcn.00631510
lea ecx, [ebp - 0x2ee4]
sub esi, ecx
lea ecx, [ebp - 0x426c]
add esi, ecx
add esi, eax
push 0x22
push esi
call fcn.006270b0
add esp, 0xc
test eax, eax
je 0x41c350
mov cl, byte [esi]
mov eax, ebx
cmp cl, 0x22
je 0x41c2c3
lea ebx, [ebp - 0x1b5c]
sub ebx, esi
inc eax
mov byte [ebx + esi], cl
inc esi
mov edx, eax
mov cl, byte [esi]
cmp cl, 0x22
jne 0x41c2ab
cmp edx, edi
jae 0x41c3b3
xor ebx, ebx
mov byte [ebp + eax - 0x1b5c], bl
lea eax, [ebp - 0x1b5c]
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s___Found_Password_Line_____s_
call fcn.00449974
lea eax, [ebp - 0x1b5c]
push str._pw
push eax
call fcn.00627320
mov esi, eax
add esp, 0x14
test esi, esi
je 0x41c350
push str._pw
call fcn.00631510
add eax, esi
pop ecx
mov ecx, ebx
mov dl, byte [eax]
cmp dl, 0x20
je 0x41c330
lea esi, [ebp - 0x7d4]
sub esi, eax
test dl, dl
je 0x41c328
mov byte [esi + eax], dl
inc ecx
inc eax
mov dl, byte [eax]
cmp dl, 0x20
jne 0x41c318
cmp ecx, edi
jae 0x41c3b3
lea eax, [ebp - 0x7d4]
mov byte [ebp + ecx - 0x7d4], bl
push eax
push str.PerformSuperPuttyPasswordRecovery
push str._s___Found_Password_____s_
call fcn.00449974
add esp, 0xc
push 0xffffffffffffffff
mov esi, 0x66ae5d
lea eax, [ebp - 0x7d4]
push esi
push eax
lea eax, [ebp - 0xbbc]
push eax
lea eax, [ebp - 0xfa4]
push eax
push esi
push 0x137
push 4
call fcn.00412c85
add esp, 0x20
push dword [ebp - 0x4270]
lea eax, [ebp - 0x426c]
push 0x1388
push eax
call fcn.00631f4f
add esp, 0xc
test eax, eax
jne 0x41bf2f
push dword [ebp - 0x4270]
call fcn.00637603
xor eax, eax
pop ecx
inc eax
jmp 0x41bf20
call fcn.005fe87a
int3