Function at 0x759db2df
Capabilities:
Create directory
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb8
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push esi
mov dword [ebp - 0x78], ebx
call fcn.759c4b5e
test al, al
je 0x759ebe4c
call fcn.759c8759
test eax, eax
je 0x759ebe8a
push ebx
push 1
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x94]
push eax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0xb4], ebx
call fcn.759ceba1
add esp, 0x10
test eax, eax
jne 0x759ebea6
push edi
call fcn.759d7938
mov ecx, eax
xor eax, eax
lea edi, [ebp - 0xa4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x94]
push 3
push ebx
mov dword [ebp - 0xa4], 0xc
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx]
push ecx
mov dword [ebp - 0x88], ecx
call dword [eax + 0x50]
mov ecx, dword [eax]
push eax
mov dword [ebp - 0xb0], eax
call dword [ecx + 0x20]
push ebx
push ebx
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [ebp - 0xb8]
push ecx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x759ebeb0
push 0x40
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x79], bl
call fcn.759da627
mov edi, dword [ebp - 0x88]
mov esi, 0x759b7ff8
cmp dword [ebp - 0x34], ebx
je 0x759ebfa5
mov eax, dword [edi]
push edi
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x2c], 1
call dword [eax + 0x20]
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x34]
push ecx
push 1
push eax
call fcn.759da881
add esp, 0x10
test al, al
je 0x759ebebc
test byte [ebp - 0xa8], 8
je 0x759db466
cmp dword [ebp - 0x78], 0x65b
je 0x759ebedb
cmp dword [ebp - 0x78], ebx
jne 0x759db426
push dword [ebp - 0x34]
call fcn.759db476
pop ecx
test al, al
je 0x759ebf0b
cmp dword [ebp - 0x30], 1
jle 0x759db435
push dword [ebp - 0x34]
call fcn.759c6f79
pop ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x78]
pop edi
call fcn.759c6f05
mov eax, esi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret
cmp dword [ebp - 0x78], ebx
je 0x759ebfb1
jmp 0x759db426
call fcn.759b3eb3
cmp eax, 1
je 0x759db308
cmp dword [0x75bc8ca8], ebx
je 0x759ebe80
push ebx
push ebx
mov esi, 0x759b7ff8
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759ec620
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
mov eax, 0x65b
jmp 0x759db458
cmp dword [0x75bc8ca8], ebx
je 0x759ebe80
push ebx
push ebx
mov esi, 0x759b7ff8
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759ec5a8
jmp 0x759ebe74
mov esi, 0x65b
jmp 0x759db451
mov dword [ebp - 0x78], 0x65b
jmp 0x759db435
cmp dword [ebp - 0x80], 2
je 0x759ebfba
cmp dword [ebp - 0x80], ebx
je 0x759db3fa
mov dword [ebp - 0x78], 0x65b
jmp 0x759db3fa
cmp dword [ebp - 0x80], 5
jne 0x759db426
cmp dword [0x75bc8ca8], ebx
je 0x759ebf06
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759ec528
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
mov dword [ebp - 0x78], ebx
jmp 0x759ebf2c
cmp dword [0x75bc8ca8], ebx
je 0x759ebf2c
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759ec498
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x404
push 2
push 0x15
call fcn.759c26bf
push 0x759f5e48
call fcn.759ce075
mov eax, dword [edi]
add esp, 0x34
push edi
call dword [eax + 0x20]
push ebx
push eax
call fcn.75b313fc
pop ecx
pop ecx
mov dword [ebp - 0x84], eax
mov eax, dword [edi]
push edi
call dword [eax + 0x20]
push eax
call fcn.75afae69
pop ecx
test al, al
jne 0x759ebf7d
mov dword [ebp - 0x78], 0x65b
push 0x759f5e48
call fcn.75a1d2e6
mov eax, dword [ebp - 0x84]
pop ecx
mov byte [ebp - 0x79], 1
cmp eax, ebx
je 0x759db466
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x759db466
mov dword [ebp - 0x78], 0xe
jmp 0x759db466
cmp byte [ebp - 0x79], bl
je 0x759db426
mov eax, dword [edi]
push edi
call dword [eax + 0x20]
lea ecx, [ebp - 0xa4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x759db426
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp eax, 0x51b
jne 0x759ec208
cmp dword [0x75bc8ca8], ebx
je 0x759ec00a
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759ec3d0
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
mov eax, 0x100
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x80], eax
call fcn.759da627
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x54]
call fcn.759da627
push dword [ebp - 0x90]
lea ecx, [ebp - 0x44]
call fcn.759da627
push dword [ebp - 0x98]
lea ecx, [ebp - 0x64]
call fcn.759da627
push dword [ebp - 0x80]
lea ecx, [ebp - 0x74]
call fcn.759da627
cmp dword [ebp - 0x24], ebx
je 0x759ec1af
cmp dword [ebp - 0x54], ebx
je 0x759ec1af
cmp dword [ebp - 0x44], ebx
je 0x759ec1af
cmp dword [ebp - 0x64], ebx
je 0x759ec1af
cmp dword [ebp - 0x74], ebx
je 0x759ec1af
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x74]
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x64]
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0x54]
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0xa0]
call dword [sym.imp.ADVAPI32.dll_MakeAbsoluteSD]
test eax, eax
je 0x759ec1a6
push 1
push ebx
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
test eax, eax
je 0x759ec1a6
push dword [ebp - 0x24]
xor eax, eax
lea edi, [ebp - 8]
stosb byte es:[edi], al
xor edi, edi
lea eax, [ebp - 8]
inc edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], eax
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorLength]
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x84], eax
call fcn.75a1d617
cmp dword [ebp - 0x14], ebx
je 0x759ec18f
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_MakeSelfRelativeSD]
test eax, eax
je 0x759ec186
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
lea ecx, [ebp - 0xa4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x759ec196
cmp dword [0x75bc8ca8], ebx
je 0x759ec186
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x759ec2f0
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
mov dword [ebp - 0x78], 0x65b
jmp 0x759ec196
mov dword [ebp - 0x78], 0xe
cmp dword [ebp - 0x10], edi
jle 0x759ec1b6
push dword [ebp - 0x14]
call fcn.759c6f79
pop ecx
jmp 0x759ec1b6
mov dword [ebp - 0x78], 0x65b
jmp 0x759ec1b6
mov dword [ebp - 0x78], 0xe
xor esi, esi
inc esi
cmp dword [ebp - 0x70], esi
jle 0x759ec1c7
push dword [ebp - 0x74]
call fcn.759c6f79
pop ecx
cmp dword [ebp - 0x60], esi
jle 0x759ec1d5
push dword [ebp - 0x64]
call fcn.759c6f79
pop ecx
cmp dword [ebp - 0x40], esi
jle 0x759ec1e3
push dword [ebp - 0x44]
call fcn.759c6f79
pop ecx
cmp dword [ebp - 0x50], esi
jle 0x759ec1f1
push dword [ebp - 0x54]
call fcn.759c6f79
pop ecx
cmp dword [ebp - 0x20], esi
jle 0x759db426
push dword [ebp - 0x24]
call fcn.759c6f79
pop ecx
jmp 0x759db426
cmp dword [0x75bc8ca8], ebx
je 0x759ec22b
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
call edi
push eax
push 0x759ec238
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
mov dword [ebp - 0x78], 0x65b
jmp 0x759db426