Function at 0x5851e0
Capabilities:
Create directory
Set file attributes

Disassembly:
push rbp
add rsp, 0xffffffffffffff80
mov rbp, rsp
mov qword [rbp + 0x90], rcx
lea rcx, [rbp + 0x90]
call fcn.0040e7a0
nop
mov dword [rbp + 0x30], 0
mov dword [rbp + 0x38], 0
mov eax, dword [rbp + 0x3c]
imul eax, eax, 0x35e
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x30]
sub eax, dword [rbp + 0x3c]
cmp dword [rbp + 0x38], eax
jne 0x585228
mov dword [rbp + 0x30], 0
mov eax, 0x3b0
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
sub eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x34]
sub ecx, dword [rbp + 0x30]
cmp eax, ecx
jle 0x585250
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x21b
mov dword [rbp + 0x30], eax
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 3
jne 0x58520a
nop
mov dword [rbp + 0x3c], 0
cmp dword [rbp + 0x3c], 1
jge 0x5852c1
add dword [rbp + 0x3c], 1
mov eax, dword [rbp + 0x34]
add eax, 0x324
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x30]
sub eax, dword [rbp + 0x3c]
cmp dword [rbp + 0x38], eax
jne 0x58528f
mov eax, 0x290
sub eax, dword [rbp + 0x38]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3c]
sub eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x34]
sub ecx, dword [rbp + 0x30]
cmp eax, ecx
jle 0x5852a5
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x38]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x5852bb
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x34], eax
cmp dword [rbp + 0x3c], 1
jl 0x585268
nop
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x232
mov dword [rbp + 0x30], eax
lea rcx, [rbp + 0x3c]
call fcn.005390e0
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rbp + 0x3c]
jle 0x585306
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x38]
lea r8, [rbp + 0x34]
lea r9, [rbp + 0x30]
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x28], rax
call fcn.0053ec40
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rbp + 0x3c]
jle 0x58531b
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x38]
call fcn.0053fbe0
mov dword [rbp + 0x38], 0
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x34]
add eax, 0x3fa
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x30]
sub eax, dword [rbp + 0x3c]
cmp dword [rbp + 0x34], eax
jne 0x58534a
mov dword [rbp + 0x30], 0
add dword [rbp + 0x3c], 0x36a
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 3
jne 0x585322
nop
mov eax, dword [rbp + 0x3c]
add dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rbp + 0x3c]
jle 0x585391
lea rcx, [rbp + 0x3c]
lea rdx, [rbp + 0x38]
lea r8, [rbp + 0x34]
lea r9, [rbp + 0x30]
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x28], rax
call fcn.0053ec40
lea rcx, [rbp + 0x3c]
lea rdx, [rbp + 0x3c]
lea r8, [rbp + 0x38]
lea r9, [rbp + 0x34]
lea rax, [rbp + 0x34]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
call fcn.0057f3b0
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x40]
call fcn.00581240
test al, al
je 0x5859e1
mov dword [rbp + 0x3c], 0
mov eax, 0x351
sub eax, dword [rbp + 0x38]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp dword [rbp + 0x38], eax
jne 0x5853f1
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x30], eax
mov eax, 0x84
sub eax, dword [rbp + 0x38]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x30]
test eax, eax
jge 0x585413
mov eax, dword [rbp + 0x30]
add eax, 0x20e
mov dword [rbp + 0x34], eax
add dword [rbp + 0x3c], 1
cmp dword [rbp + 0x3c], 3
jne 0x5853d4
nop
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov dword [rbp + 0x30], eax
mov dword [rbp + 0x38], 0
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, 0x3c5
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x34]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x585460
mov eax, dword [rbp + 0x30]
sub eax, 0x1af
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp eax, dword [rbp + 0x3c]
jle 0x585475
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 3
jne 0x58542e
nop
mov dword [rbp + 0x38], 0
mov eax, dword [rbp + 0x3c]
imul eax, eax, 0x362
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp dword [rbp + 0x38], eax
jne 0x5854aa
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x20d
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x3c]
cmp eax, dword [rbp + 0x3c]
jge 0x5854c1
mov eax, dword [rbp + 0x3c]
imul eax, eax, 0x377
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp dword [rbp + 0x38], eax
jne 0x5854d8
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x203
mov dword [rbp + 0x34], eax
mov dword [rbp + 0x30], 0
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 4
jne 0x585487
nop
mov dword [rbp + 0x38], 0
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, 0x3d5
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
sub eax, dword [rbp + 0x38]
test eax, eax
jle 0x58551d
mov eax, dword [rbp + 0x30]
sub eax, 0x1c0
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x3c]
cmp eax, dword [rbp + 0x3c]
jle 0x585532
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
add dword [rbp + 0x3c], 0x3af
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 3
jne 0x5854f1
nop
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x38]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x585572
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x34]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x3c]
call fcn.00543a90
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x21d
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3c]
sub eax, dword [rbp + 0x38]
test eax, eax
jle 0x5855a6
lea rcx, [rbp + 0x34]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x3c]
lea r9, [rbp + 0x3c]
lea rax, [rbp + 0x38]
mov qword [rsp + 0x20], rax
call fcn.005625a0
mov dword [rbp + 0x38], 0
add dword [rbp + 0x3c], 0x394
mov eax, dword [rbp + 0x3c]
sub eax, dword [rbp + 0x38]
test eax, eax
jle 0x5855ca
mov eax, dword [rbp + 0x30]
sub eax, 0x19f
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x3c]
cmp eax, dword [rbp + 0x3c]
jle 0x5855df
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, 0x3ce
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x30]
test eax, eax
jge 0x585601
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x1f8
mov dword [rbp + 0x34], eax
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 3
jne 0x5855ad
nop
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x38]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x585643
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x34]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x3c]
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov dword [rbp + 0x38], 0
mov eax, 0x34f
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp dword [rbp + 0x38], eax
jne 0x58566d
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x1fa
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x3c]
cmp eax, dword [rbp + 0x3c]
jge 0x585684
mov eax, 0x364
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x30]
test eax, eax
jge 0x58569a
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x210
mov dword [rbp + 0x34], eax
mov dword [rbp + 0x30], 0
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 4
jne 0x58564a
nop
mov dword [rbp + 0x3c], 0
cmp dword [rbp + 0x3c], 2
jge 0x585706
add dword [rbp + 0x3c], 1
mov eax, 0x33e
sub eax, dword [rbp + 0x38]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x30]
test eax, eax
jge 0x5856df
mov eax, dword [rbp + 0x30]
add eax, 0x209
mov dword [rbp + 0x34], eax
mov eax, 0xb0
sub eax, dword [rbp + 0x38]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp dword [rbp + 0x38], eax
jne 0x585700
mov eax, dword [rbp + 0x30]
imul eax, dword [rbp + 0x38]
mov dword [rbp + 0x34], eax
cmp dword [rbp + 0x3c], 2
jl 0x5856b9
nop
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x1e2
mov dword [rbp + 0x34], eax
call fcn.00580b00
mov dword [rbp + 0x30], 0
mov rcx, qword [rbp + 0x90]
call fcn.0040f580
mov rcx, rax
lea rdx, [rbp + 0x68]
call sub.kernel32.dll_CreateDirectoryW
test eax, eax
je 0x5859d8
lea rcx, [rbp + 0x3c]
lea rdx, [rbp + 0x38]
call fcn.00584f20
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x38]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x585783
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x34]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x3c]
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
call fcn.0054f640
mov dword [rbp + 0x38], 0
mov eax, 0x3c0
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp dword [rbp + 0x38], eax
jne 0x5857ad
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x22b
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, 0x3ba
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 4
jne 0x58578a
nop
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x38]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x585817
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x34]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x3c]
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
call fcn.00544370
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov ecx, dword [rbp + 0x38]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x585834
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x34]
call fcn.00541b10
mov dword [rbp + 0x38], 0
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, 0x3c4
sub eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x34]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x585868
add dword [rbp + 0x34], 0x16e
mov eax, dword [rbp + 0x30]
sub eax, dword [rbp + 0x3c]
cmp dword [rbp + 0x34], eax
jne 0x58587c
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 4
jne 0x58583b
nop
sub dword [rbp + 0x34], 0x184
lea rcx, [0x00585a28]
lea rdx, [0x00585a48]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x17
je 0x5858c3
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x23a
mov dword [rbp + 0x30], eax
mov rcx, qword [rbp + 0x90]
call fcn.0040f580
mov rcx, rax
mov edx, 3
call sub.kernel32.dll_SetFileAttributesW
mov dword [rbp + 0x38], 0
add dword [rbp + 0x3c], 0x39f
mov eax, dword [rbp + 0x34]
sub eax, dword [rbp + 0x30]
test eax, eax
jge 0x585901
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x22a
mov dword [rbp + 0x34], eax
mov dword [rbp + 0x30], 0
mov eax, dword [rbp + 0x3c]
imul eax, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], eax
add dword [rbp + 0x3c], 0x3b8
add dword [rbp + 0x38], 1
cmp dword [rbp + 0x38], 3
jne 0x5858e4
nop
mov dword [rbp + 0x3c], 0
mov dword [rbp + 0x3c], 0
cmp dword [rbp + 0x3c], 1
jge 0x58597b
add dword [rbp + 0x3c], 1
mov eax, dword [rbp + 0x34]
imul eax, eax, 0x329
mov dword [rbp + 0x38], eax
cmp dword [rbp + 0x38], 0
jne 0x585954
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x30], eax
mov eax, 0x1b
sub eax, dword [rbp + 0x38]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x34]
add eax, dword [rbp + 0x30]
cmp dword [rbp + 0x38], eax
jne 0x585975
mov eax, dword [rbp + 0x30]
imul eax, dword [rbp + 0x38]
mov dword [rbp + 0x30], eax
cmp dword [rbp + 0x3c], 1
jl 0x585938
nop
add dword [rbp + 0x34], 0x16d
lea rcx, [0x00585a74]
lea rdx, [0x00585a48]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x14
je 0x5859ae
mov eax, dword [rbp + 0x30]
imul eax, eax, 0x223
mov dword [rbp + 0x34], eax
lea rcx, [rbp + 0x3c]
lea rdx, [rbp + 0x38]
call fcn.00538540
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov ecx, dword [rbp + 0x38]
add ecx, dword [rbp + 0x34]
cmp eax, ecx
jge 0x5859d8
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x34]
call fcn.00541950
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x3c]
mov dword [rbp + 0x30], eax
nop
lea rcx, [rbp + 0x90]
call fcn.0040e670
lea rsp, [rbp + 0x80]
pop rbp
ret