Function at 0x5b6580
Capabilities:
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [0x7e6410]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x41c], 0
push edi
test esi, esi
je 0x5b663c
push esi
call fcn.005b6cf0
add esp, 4
test eax, eax
je 0x5b663c
lea ecx, [ebp - 0x20c]
mov edx, 0x104
mov eax, ecx
sub esi, eax
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x5b65ee
movzx eax, word [esi + ecx]
test ax, ax
je 0x5b65ee
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x5b65d0
jmp 0x5b65f2
test edx, edx
jne 0x5b65f5
sub ecx, 2
xor eax, eax
mov word [ecx], ax
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5b6603
sub ecx, edx
sar ecx, 1
cmp word [ebp + ecx*2 - 0x20e], 0x5c
je 0x5b674d
push 0x7856e8
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.0047cbf0
jmp 0x5b674d
lea eax, [ebp - 0x20c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x5b674d
lea ecx, [ebp - 0x20c]
mov esi, 0x7891f8
mov eax, ecx
mov edx, 0x104
sub esi, eax
lea ebx, [ebx]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x5b668e
movzx eax, word [esi + ecx]
test ax, ax
je 0x5b668e
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x5b6670
jmp 0x5b6692
test edx, edx
jne 0x5b6695
sub ecx, 2
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x20c]
push eax
call fcn.005b6cf0
add esp, 4
test eax, eax
jne 0x5b674d
push str.c:_temp
call fcn.006b970b
lea ecx, [ebp - 0x20c]
mov esi, str.c:_temp_
mov eax, ecx
add esp, 4
mov edx, 0x104
sub esi, eax
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x5b66f0
movzx eax, word [esi + ecx]
test ax, ax
je 0x5b66f0
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x5b66d2
jmp 0x5b66f4
test edx, edx
jne 0x5b66f7
sub ecx, 2
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x20c]
push eax
call fcn.005b6cf0
add esp, 4
test eax, eax
jne 0x5b674d
lea ecx, [ebp - 0x20c]
mov esi, 0x789230
mov eax, ecx
mov edx, 0x104
sub esi, eax
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x5b6741
movzx eax, word [esi + ecx]
test ax, ax
je 0x5b6741
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x5b6723
jmp 0x5b6745
test edx, edx
jne 0x5b6748
sub ecx, 2
xor eax, eax
mov word [ecx], ax
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileW]
xor edi, edi
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0xfffff
div ecx
lea eax, [edi + esi]
push edx
push eax
lea eax, [ebp - 0x20c]
push eax
push str._st_02d_05x.tmp
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0047cc30
lea eax, [ebp - 0x414]
push eax
call fcn.005b6cc0
add esp, 0x1c
test eax, eax
jne 0x5b67b4
push eax
push eax
push 2
push eax
push eax
push 0x40000000
lea eax, [ebp - 0x414]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x5b67f4
inc esi
cmp esi, 0xa
jl 0x5b6757
add edi, 0xa
cmp edi, 0x64
jl 0x5b6755
lea ecx, [ebp - 0x20c]
mov esi, str.c:_temp_
mov eax, ecx
mov edx, 0x104
sub esi, eax
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x5b6800
movzx eax, word [esi + ecx]
test ax, ax
je 0x5b6800
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x5b67d6
jmp 0x5b6804
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5b6890
test edx, edx
jne 0x5b6807
sub ecx, 2
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x20c]
push eax
call fcn.006b970b
lea eax, [ebp - 0x20c]
push eax
call fcn.005b6cf0
add esp, 8
test eax, eax
jne 0x5b686a
lea ecx, [ebp - 0x20c]
mov esi, 0x789230
mov eax, ecx
mov edx, 0x104
sub esi, eax
nop
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x5b685e
movzx eax, word [esi + ecx]
test ax, ax
je 0x5b685e
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x5b6840
jmp 0x5b6862
test edx, edx
jne 0x5b6865
sub ecx, 2
xor eax, eax
mov word [ecx], ax
call fcn.006b695c
push eax
lea eax, [ebp - 0x20c]
push eax
push str._st_06x.tmp
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0047cc30
add esp, 0x14
mov ecx, dword [ebp - 0x418]
lea eax, [ebp - 0x414]
push eax
call fcn.00428840
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x418]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.006b3266
mov esp, ebp
pop ebp
ret