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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x270
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp + 0x1c]
push edi
mov dword [ebp - 0x270], eax
mov eax, dword [ecx]
push ecx
mov dword [ebp - 0x244], ecx
mov dword [ebp - 0x268], esi
call dword [eax + 0x14]
xor edi, edi
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], edi
cmp esi, edi
je 0x75b6cb0f
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x240], eax
jmp 0x75b6cb15
mov dword [ebp - 0x240], edi
cmp dword [ebp + 8], edi
jne 0x75b6cd79
cmp dword [ebp - 0x240], 4
jge 0x75b6cd79
cmp ebx, edi
je 0x75b6cb38
cmp word [ebx], di
jne 0x75b6cd79
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0x1c], edi
je 0x75b6cb48
call fcn.759d82c4
cmp esi, edi
jne 0x75b6cb51
mov esi, 0x759b1758
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
lea ecx, [ebp - 0x234]
push ecx
push edi
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
xor ebx, ebx
inc ebx
test eax, eax
jne 0x75b6cb86
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], ebx
call fcn.759b3eb3
mov dword [ebp - 0x254], eax
cmp eax, 0xffffffff
jne 0x75b6cbb1
push 0x5dd
call fcn.75a203dc
pop ecx
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x23c], 5
cmp dword [ebp - 0x238], edi
jne 0x75b6ccfe
mov esi, dword [ebp - 0x25c]
cmp esi, edi
je 0x75b6ccfe
cmp dword [esi + 4], edi
je 0x75b6ccfe
cmp dword [ebp - 0x254], ebx
jne 0x75b6cbee
mov eax, dword [ebp - 0x244]
mov byte [ebp - 0x240], 1
cmp dword [eax + 0x1c], edi
je 0x75b6cbf5
mov byte [ebp - 0x240], 0
push dword [ebp - 0x240]
lea ecx, [ebp - 0x264]
call fcn.759b87f0
push dword [ebp - 0x240]
lea ecx, [ebp - 0x248]
push ebx
call fcn.75a9604f
mov eax, dword [esi + 4]
push eax
push eax
call fcn.75b30efd
pop ecx
push eax
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.ADVAPI32.dll_SetFileSecurityW]
test eax, eax
jne 0x75b6cc40
mov dword [ebp - 0x238], ebx
jmp 0x75b6ccc6
push edi
push 0x100000
push 5
push edi
push edi
push 0x40000000
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x75b6ccb7
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 3
je 0x75b6cc74
cmp eax, 2
jne 0x75b6ccb2
cmp dword [0x75bc8ca8], edi
je 0x75b6cca0
push edi
push edi
mov esi, 0x759b7ff8
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x234]
push eax
push 0x759fe368
push edi
push edi
push 9
call fcn.759c26bf
add esp, 0x30
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x6e
or ebx, 0xffffffff
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp ebx, 0xffffffff
jne 0x75b6ccd4
xor eax, eax
inc eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x238], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x23c], eax
jmp 0x75b6ccdb
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x248], 2
je 0x75b6ccf0
push dword [ebp - 0x248]
call fcn.75a1d2ce
pop ecx
lea ecx, [ebp - 0x264]
call fcn.759b87d1
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0x1c], edi
je 0x75b6cd10
push ebx
call fcn.759d07de
pop ecx
cmp dword [ebp - 0x238], edi
jne 0x75b6d0bd
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x250]
call fcn.759c6e99
xor edi, edi
cmp dword [ebp + 0x14], edi
je 0x75b6cd51
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax]
push 0x5c
push 6
push eax
call dword [ecx + 0x50]
push eax
lea ecx, [ebp - 0x250]
call fcn.759c755e
push dword [ebp - 0x270]
lea ecx, [ebp - 0x250]
call fcn.759ca326
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x24c]
jmp 0x75b6d14d
mov esi, 0x75b6d15c
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
lea edi, [ebp - 0xe]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
test ebx, ebx
je 0x75b6cde2
cmp word [ebx], 0
je 0x75b6cde2
push 3
push ebx
push 9
lea eax, [ebp - 0x16]
push eax
call fcn.759c7b86
mov esi, eax
test esi, esi
jge 0x75b6cde2
mov ebx, dword [ebp - 0x24c]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x20]
push eax
push esi
push 0x538
call fcn.75a207b8
mov esi, eax
add esp, 0xc
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret 0x18
push 8
pop edi
cmp dword [ebp - 0x240], edi
jle 0x75b6cdf3
mov dword [ebp - 0x240], edi
mov esi, edi
sub esi, dword [ebp - 0x240]
cmp byte [0x75bcf2e0], 0
mov dword [ebp - 0x260], esi
jne 0x75b6ce1c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x75bcf2dc], eax
mov byte [0x75bcf2e0], 1
mov eax, dword [0x75bcf2dc]
inc dword [0x75bcf2dc]
cmp dword [ebp - 0x240], 0
mov dword [ebp - 0x238], eax
je 0x75b6ce47
xor eax, eax
mov ecx, esi
shl ecx, 2
inc eax
shl eax, cl
dec eax
and dword [ebp - 0x238], eax
cmp esi, edi
jne 0x75b6ce54
or dword [ebp - 0x254], 0xffffffff
jmp 0x75b6ce65
xor eax, eax
mov ecx, esi
shl ecx, 2
inc eax
shl eax, cl
dec eax
mov dword [ebp - 0x254], eax
and dword [ebp - 0x258], 0
mov ebx, dword [ebp - 0x24c]
mov esi, 0x759b7ff8
cmp dword [ebp - 0x268], 0
je 0x75b6cea1
push dword [ebp - 0x240]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x268]
push 9
push eax
call fcn.759c7b86
mov edi, eax
test edi, edi
jl 0x75b6d111
cmp dword [ebp - 0x260], 0
je 0x75b6ced8
push dword [ebp - 0x238]
mov eax, dword [ebp - 0x240]
push 0x759fe4fc
push 9
pop ecx
sub ecx, eax
push ecx
lea eax, [ebp + eax*2 - 0x2c]
push eax
call fcn.759b4c31
mov edi, eax
add esp, 0x10
test edi, edi
jl 0x75b6d111
mov eax, dword [ebx]
push ebx
call dword [eax + 0x20]
push eax
mov edi, 0x104
push edi
lea eax, [ebp - 0x234]
push eax
call fcn.759b3cf5
test eax, eax
jl 0x75b6d11e
lea eax, [ebp - 0x2c]
push eax
push edi
lea eax, [ebp - 0x234]
push eax
call fcn.759b3d8c
test eax, eax
jl 0x75b6d11e
lea eax, [ebp - 0x18]
push eax
push edi
lea eax, [ebp - 0x234]
push eax
call fcn.759b3d8c
test eax, eax
jl 0x75b6d11e
xor edi, edi
cmp dword [ebp + 8], edi
je 0x75b6cf4e
mov ecx, dword [ebp - 0x244]
lea eax, [ebp - 0x234]
push eax
call fcn.75b6a9e2
test eax, eax
jne 0x75b6d07b
jmp 0x75b6cf71
mov eax, dword [ebp - 0x244]
push dword [eax + 0x1c]
lea eax, [ebp - 0x234]
push edi
push eax
call fcn.75b6aa31
add esp, 0xc
test eax, eax
jne 0x75b6d07b
xor edi, edi
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0x1c], edi
je 0x75b6cf81
call fcn.759d82c4
lea eax, [ebp - 0x234]
cmp dword [ebp + 8], edi
je 0x75b6cfac
push dword [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x75b6d022
mov dword [ebp - 0x23c], edi
jmp 0x75b6d03e
push 0
push 0x100080
push 1
push dword [ebp - 0x25c]
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x75b6d022
push edi
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 3
je 0x75b6cfe1
cmp eax, 2
jne 0x75b6d01d
cmp dword [0x75bc8ca8], 0
je 0x75b6d00b
xor eax, eax
push eax
push eax
push esi
push esi
push esi
push esi
push esi
lea ecx, [ebp - 0x234]
push ecx
push 0x759fe368
push eax
push eax
push 9
call fcn.759c26bf
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x6e
or edi, 0xffffffff
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp edi, 0xffffffff
jne 0x75b6d030
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x23c], eax
jmp 0x75b6d048
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x23c], 0
mov dword [ebp - 0x248], 1
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0x1c], 0
je 0x75b6d05c
push 1
call fcn.759d07de
pop ecx
cmp dword [ebp - 0x23c], 0xb7
jne 0x75b6d072
mov dword [ebp - 0x23c], 0x50
cmp dword [ebp - 0x23c], 0x50
jne 0x75b6d0b0
mov eax, dword [ebp - 0x254]
inc dword [0x75bcf2dc]
cmp dword [ebp - 0x238], eax
jne 0x75b6d098
and dword [ebp - 0x238], 0
jmp 0x75b6d09e
inc dword [ebp - 0x238]
inc dword [ebp - 0x258]
cmp dword [ebp - 0x258], eax
jbe 0x75b6ce77
cmp dword [ebp - 0x248], 0
jne 0x75b6cd1c
mov edi, dword [ebp - 0x23c]
test edi, edi
jne 0x75b6d0ca
push 0x50
pop edi
cmp dword [ebp - 0x26c], 0
je 0x75b6d130
cmp edi, 5
jne 0x75b6d130
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x260]
call fcn.759c6e99
push dword [eax]
push 0x518
call fcn.75a204de
pop ecx
pop ecx
mov esi, eax
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, dword [ebp - 0x24c]
jmp 0x75b6cdc9
mov eax, dword [ebx]
push ebx
call dword [eax + 0x20]
push eax
push edi
jmp 0x75b6cdba
mov eax, dword [ebx]
push ebx
call dword [eax + 0x20]
push eax
push dword [ebp - 0x23c]
jmp 0x75b6cdba
mov esi, dword [ebp - 0x24c]
mov eax, dword [esi]
push esi
call dword [eax + 0x20]
push eax
push edi
push 0x538
call fcn.75a207b8
add esp, 0xc
mov edi, eax
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, edi
jmp 0x75b6cdd1