Function at 0x43c085
Capabilities:
Get common file path

Disassembly:
mov eax, 0x4fbf88
call fcn.004c13fc
sub esp, 0x114
push ebx
push esi
push edi
mov dword [ebp - 0x1c], ecx
mov eax, dword [0x542d10]
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 2
mov ebx, eax
mov cl, byte [eax]
test cl, cl
je 0x43c0cc
cmp cl, 0x2f
jne 0x43c0c5
cmp byte [esi + eax + 1], cl
je 0x43c0cc
mov cl, byte [esi + eax + 1]
inc esi
jmp 0x43c0b6
cmp byte [esi + eax], 0x2f
lea edi, [esi + eax]
jne 0x43c0f9
and byte [edi], 0
push ebx
lea ecx, [ebp - 0x14]
call fcn.004daf9b
inc esi
mov byte [edi], 0x2f
inc esi
mov al, byte [esi + ebx]
test al, al
je 0x43c0f4
cmp al, 0x2f
jne 0x43c0f4
inc esi
jmp 0x43c0e6
add esi, ebx
push esi
jmp 0x43c107
push str.file:
lea ecx, [ebp - 0x14]
call fcn.004daf9b
push ebx
lea ecx, [ebp - 0x10]
call fcn.004daf9b
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0
je 0x43c128
mov al, byte [ecx]
cmp al, 0x41
jl 0x43c125
cmp al, 0x5a
jg 0x43c125
add al, 0x20
mov byte [ecx], al
inc ecx
jmp 0x43c112
and dword [ebp - 0x18], 0
push str.file:
push dword [ebp - 0x14]
call fcn.004c141b
pop ecx
test eax, eax
pop ecx
jne 0x43c2c7
mov eax, dword [ebp - 0x10]
xor edx, edx
cmp byte [eax], dl
je 0x43c174
mov cl, byte [eax]
cmp cl, 0x7c
jne 0x43c158
mov byte [eax], 0x3a
jmp 0x43c167
cmp cl, 0x2f
jne 0x43c162
mov byte [eax], 0x5c
jmp 0x43c16a
cmp cl, 0x3a
jne 0x43c16a
push 1
pop edx
inc eax
cmp byte [eax], 0
jne 0x43c14c
test edx, edx
jne 0x43c1d1
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0x37b]
push edi
call fcn.004c2130
pop ecx
dec eax
js 0x43c18d
cmp byte [eax + edi], 0x5c
jne 0x43c184
inc eax
mov bl, byte [eax + edi]
and byte [eax + edi], 0
mov ecx, dword [ebp - 0x10]
lea esi, [eax + edi]
cmp byte [ecx], 0x5c
jne 0x43c1a8
test eax, eax
jle 0x43c1a8
and byte [esi - 1], 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push edi
push eax
call fcn.004db11b
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.004daf4b
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.004dae12
mov byte [esi], bl
lea eax, [ebp - 0xa0]
push eax
push 0x7f
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x120]
push eax
push 0
lea eax, [ebp - 0xa0]
push 0x53aa48
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x120]
push eax
mov ecx, ebx
call fcn.004daf9b
mov esi, dword [ebp - 0x10]
push esi
call fcn.004c2130
test eax, eax
pop ecx
jl 0x43c227
cmp byte [eax + esi], 0x2e
je 0x43c223
dec eax
jns 0x43c21a
test eax, eax
jge 0x43c22a
or eax, 0xffffffff
cmp byte [eax + esi], 0x2e
lea edi, [eax + esi]
jne 0x43c2ca
cmp byte [esi], 0
je 0x43c24d
mov al, byte [esi]
cmp al, 0x41
jl 0x43c24a
cmp al, 0x5a
jg 0x43c24a
add al, 0x20
mov byte [esi], al
inc esi
jmp 0x43c237
push str..bmp
push edi
call fcn.004c1a60
pop ecx
test eax, eax
pop ecx
jne 0x43c26e
push dword [ebp + 0x10]
mov eax, dword [ebx]
push eax
push dword [ebp - 0x10]
call fcn.0043e569
jmp 0x43c2c2
push str..gif
push edi
call fcn.004c1a60
pop ecx
test eax, eax
pop ecx
jne 0x43c2a3
push dword [ebp + 0x10]
mov eax, dword [ebx]
push eax
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [eax + 0x1c]
call fcn.0043e749
add esp, 0x10
test eax, eax
jne 0x43c2ca
mov dword [ebp - 0x18], 1
jmp 0x43c2e0
push str..jpg
push edi
call fcn.004c1a60
pop ecx
test eax, eax
pop ecx
jne 0x43c2ca
push dword [ebp + 0x10]
mov eax, dword [ebx]
push eax
push dword [ebp - 0x10]
call fcn.0043edbb
add esp, 0xc
jmp 0x43c296
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
cmp dword [eax - 8], 0
je 0x43c2e0
push eax
call fcn.004c2f4f
pop ecx
mov ecx, ebx
call fcn.004dad9d
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004dae12
and byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.004dae12
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004dae12
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc