Function at 0x461730
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
mov cl, 3
mov byte [ebp - 0xd], cl
mov word [ebx + 0xc], ax
mov word [ebx + 0x18], ax
mov eax, 0x30303030
mov byte [ebx], 0
mov byte [ebx + 0xb], 0xb
mov byte [ebx + 0x17], 5
mov byte [ebx + 0x23], 5
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
test cl, cl
jns 0x46176c
lea ecx, [eax + eax]
jmp 0x461774
movzx eax, cl
lea ecx, [ebp - 0xd]
sub ecx, eax
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov byte [ecx], 0
nop
xor esi, esi
lea ebx, [esi + 0x1a]
call fcn.005bf451
cdq
idiv ebx
lea eax, [ebp - 0x18]
add dl, 0x61
test byte [ebp - 0xd], 0x80
cmovne eax, dword [ebp - 0x18]
mov byte [eax + esi], dl
inc esi
cmp esi, 8
jl 0x461785
xor eax, eax
mov byte [ebp - 0x3c], 0
push eax
push eax
mov byte [ebp - 0x31], 0xb
mov word [ebp - 0x30], ax
mov byte [ebp - 0x25], 5
mov word [ebp - 0x24], ax
mov byte [ebp - 0x19], 5
call edi
mov ebx, dword [ebp + 8]
test eax, eax
je 0x4618b2
lea edi, [eax + 1]
test edi, edi
je 0x4617f4
push 0
push 0
push 0
push 0
push 0
push edi
call fcn.0049f9b0
push edi
mov esi, eax
push 0
push esi
call fcn.005d6d60
add esp, 0x24
jmp 0x4617f6
xor esi, esi
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTempPathA]
call edi
mov byte [ebp - 0xc], 0
mov ebx, esi
mov byte [ebp - 1], 0xb
cmp byte [esi], 0
je 0x461816
nop
inc ebx
cmp byte [ebx], 0
jne 0x461810
sub ebx, esi
cmp ebx, 0xb
jbe 0x46184b
push 0
push 0
push 0
push 0
lea eax, [ebx + 1]
push 0
push eax
call fcn.0049f9b0
mov ecx, ebx
mov dword [ebp - 8], ebx
or ecx, 0x80000000
mov edx, eax
add esp, 0x18
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], edx
shr ecx, 0x18
jmp 0x461857
mov edx, dword [ebp - 0xc]
mov al, 0xb
sub al, bl
mov byte [ebp - 1], al
mov cl, al
test cl, cl
lea eax, [ebp - 0xc]
push ebx
cmovs eax, edx
push esi
push eax
call fcn.005d67e0
mov al, byte [ebp - 1]
add esp, 0xc
test al, al
jns 0x461879
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 8]
jmp 0x461881
movzx eax, al
lea ecx, [ebp - 1]
sub ecx, eax
lea eax, [ebp - 0xc]
mov byte [ecx], 0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0045cdb0
test byte [ebp - 1], 0x80
je 0x4618a6
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4618a6
push eax
call fcn.0044d750
add esp, 4
push esi
call fcn.0044d750
mov ebx, dword [ebp + 8]
add esp, 4
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0045d110
add esp, 0xc
test byte [ebp - 0x19], 0x80
je 0x4618dc
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4618dc
push eax
call fcn.0044d750
add esp, 4
test byte [ebp - 0x25], 0x80
je 0x4618f2
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4618f2
push eax
call fcn.0044d750
add esp, 4
test byte [ebp - 0x31], 0x80
je 0x461908
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x461908
push eax
call fcn.0044d750
add esp, 4
lea eax, [ebp - 0x60]
mov ecx, ebx
push eax
call fcn.0045cd30
test byte [ebp - 0x3d], 0x80
je 0x461929
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x461929
push eax
call fcn.0044d750
add esp, 4
test byte [ebp - 0x49], 0x80
je 0x46193f
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x46193f
push eax
call fcn.0044d750
add esp, 4
test byte [ebp - 0x55], 0x80
je 0x461955
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x461955
push eax
call fcn.0044d750
add esp, 4
mov ecx, ebx
call fcn.0045e410
cmp byte [eax + 0xb], 0
jge 0x461964
mov eax, dword [eax]
push 0
push eax
call fcn.005c01a3
add esp, 8
test eax, eax
je 0x461780
test byte [ebp - 0xd], 0x80
pop edi
pop esi
je 0x46198f
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x46198f
push eax
call fcn.0044d750
add esp, 4
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret