Function at 0x12846e90
Capabilities:
Check for time delay via gettickcount
Create directory
Delete file
Set current directory

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x120
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov rax, qword [0x12a52ee0]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov r14d, 1
mov rax, qword [rsp + 0x148]
mov qword [0x129abc78], rax
mov qword [r11 - 0xb8], 7
xor esi, esi
mov qword [r11 - 0xc0], rsi
mov word [rsp + 0x78], si
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x129bf720]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x129bf720]
lea rcx, [rsp + 0x40]
call fcn.12803dc0
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.12888930
mov edi, eax
cmp qword [rsp + 0x60], 8
jb 0x12846f57
mov rcx, qword [rsp + 0x48]
call fcn.12958250
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
test edi, edi
je 0x12847730
mov qword [rsp + 0xe0], 7
mov qword [rsp + 0xd8], rsi
mov word [rsp + 0xc8], si
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1295c5e0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x129cb754]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x129cb754]
lea rcx, [rsp + 0xc0]
call fcn.12803dc0
mov rbx, qword [rsp + 0xd8]
lea rdx, [rbx + 8]
cmp rdx, rbx
ja 0x12846fea
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0xc0]
call fcn.128033a0
jmp 0x12846ffd
xor r8d, r8d
sub rdx, rbx
lea rcx, [rsp + 0xc0]
call fcn.12803b90
mov rsi, qword [rsp + 0xd8]
cmp rbx, rsi
jae 0x12847071
nop word [rax + rax]
call fcn.1295c5f8
mov edi, eax
sub edi, 0x41
jns 0x1284701e
neg edi
cmp edi, 0x1a
jl 0x12847039
mov eax, 0xb13b13b1
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x1a
add edi, edx
add edi, 0x41
cmp qword [rsp + 0xd8], rbx
ja 0x1284704b
call fcn.129581ac
lea rax, [rsp + 0xc8]
cmp qword [rsp + 0xe0], 8
cmovae rax, qword [rsp + 0xc8]
mov word [rax + rbx*2], di
inc rbx
cmp rbx, rsi
jb 0x12847010
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r8d, eax
mov r9d, edi
lea rdx, str._u_u.DLL
lea rcx, [rsp + 0xc0]
call fcn.12804840
xor eax, eax
or rcx, 0xffffffffffffffff
lea rsi, str.rtdata
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rbp, [rsi + rcx*2 - 2]
lea rbx, [0x129bcb5c]
cmp rsi, rbp
je 0x1284714a
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x128470fa
lea rdi, [rax - 1]
cmp rax, rdi
ja 0x128470df
call fcn.129581ac
lea rax, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae rax, qword [rsp + 0x78]
cmp word [rax + rdi*2], 0x5c
je 0x1284710d
mov r8d, 0x5c
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.12803b90
mov rcx, rbx
mov eax, 0x5c
mov edx, 0x72
nop word [rax + rax]
cmp dx, ax
je 0x12847133
add rcx, 2
mov ax, word [rcx]
test ax, ax
jne 0x12847120
jmp 0x1284713a
lea rsi, [0x129cb732]
mov r8, rbp
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1281aed0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rsi, [0x129cb728]
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rbp, [rsi + rcx*2 - 2]
cmp rsi, rbp
je 0x128471eb
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x128471a4
lea rdi, [rax - 1]
cmp rax, rdi
ja 0x12847189
call fcn.129581ac
lea rax, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae rax, qword [rsp + 0x78]
cmp word [rax + rdi*2], 0x5c
je 0x128471b7
mov r8d, 0x5c
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.12803b90
mov eax, 0x5c
mov ecx, 0x74
cmp cx, ax
je 0x128471d4
add rbx, 2
mov ax, word [rbx]
test ax, ax
jne 0x128471c1
jmp 0x128471db
lea rsi, [0x129cb72a]
mov r8, rbp
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1281aed0
mov rbp, qword [rsp + 0x88]
test rbp, rbp
je 0x1284722f
lea rdi, [rbp - 1]
cmp rbp, rdi
ja 0x1284720e
call fcn.129581ac
mov rbp, qword [rsp + 0x88]
lea rax, [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x90]
cmp r9, 8
cmovae rax, rcx
cmp word [rax + rdi*2], 0x5c
je 0x12847257
mov r8d, 0x5c
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.12803b90
mov r9, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x78]
cmp r9, 8
cmovae rdx, rcx
lea r8, [0x129ada60]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x70]
call fcn.128038c0
lea rcx, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae rcx, qword [rsp + 0x78]
xor esi, esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8d, r14d
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x128472d8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
jmp 0x128476fc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xc0]
lea rcx, [0x12a21fb0]
call fcn.12803c90
mov r13, rsi
mov qword [rsp + 0xb8], 7
mov qword [rsp + 0xb0], rsi
mov word [rsp + 0xa0], si
mov r12, rsi
mov r15d, esi
lea rcx, [0x129bbc08]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
test rax, rax
je 0x1284751c
lea rdx, str.GetDllDirectoryW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
lea rdx, str.SetDllDirectoryW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
test r14, r14
je 0x128474fe
test rax, rax
je 0x128474f6
mov rcx, qword [rsp + 0xb0]
cmp rcx, 0x104
je 0x128473cc
cmp rcx, 0x104
jb 0x128473ac
or r8, 0xffffffffffffffff
mov edx, 0x104
lea rcx, [rsp + 0x98]
call fcn.128033a0
mov rcx, qword [rsp + 0xb0]
jmp 0x128473cc
xor r8d, r8d
mov edx, 0x104
sub rdx, rcx
lea rcx, [rsp + 0x98]
call fcn.12803b90
mov rcx, qword [rsp + 0xb0]
cmp qword [rsp + 0xb8], 8
jb 0x128473ea
mov rdx, qword [rsp + 0xa0]
test rdx, rdx
je 0x1284750e
jmp 0x128473f2
lea rdx, [rsp + 0xa0]
cmp rcx, 0x104
jb 0x12847506
mov ecx, dword [rsp + 0xb0]
call r14
mov ebx, eax
mov rdi, qword [rsp + 0xb0]
cmp rbx, rdi
jbe 0x128474b6
inc ebx
mov esi, ebx
cmp rsi, 0xffffffffffffffff
je 0x1284746c
cmp rsi, rdi
je 0x1284746c
cmp rsi, rdi
ja 0x1284744e
or r8, 0xffffffffffffffff
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.128033a0
mov rdi, qword [rsp + 0xb0]
jmp 0x1284746c
xor r8d, r8d
mov rdx, rsi
sub rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.12803b90
mov rdi, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
jb 0x12847489
mov rdx, rcx
test rcx, rcx
je 0x128474c4
jmp 0x12847491
lea rdx, [rsp + 0xa0]
cmp rdi, rsi
jb 0x128474c0
mov ecx, dword [rsp + 0xb0]
call r14
mov ebx, eax
mov rdi, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
xor esi, esi
jmp 0x128474c6
mov rcx, qword [rsp + 0xa0]
jmp 0x128474c6
xor esi, esi
jmp 0x128474c6
xor esi, esi
mov eax, ebx
cmp rax, rdi
jae 0x12847516
test ebx, ebx
je 0x128474e8
lea r12, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae r12, rcx
jmp 0x128474eb
mov r12, rsi
mov r14d, 1
mov r15d, r14d
jmp 0x1284751c
mov r14d, 1
jmp 0x1284751c
mov r14d, 1
jmp 0x1284751c
mov r14d, 1
jmp 0x1284751c
mov r14d, 1
jmp 0x1284751c
mov r14d, 1
mov qword [rsp + 0x108], 7
mov qword [rsp + 0x100], rsi
mov word [rsp + 0xf0], si
lea rdx, [rsp + 0xe8]
mov rcx, qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
call fcn.12836d20
or r8, 0xffffffffffffffff
mov rdx, rbp
lea rcx, [rsp + 0x70]
call fcn.128033a0
lea rcx, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test r15d, r15d
je 0x12847586
lea rcx, [0x129bd360]
call r13
mov ecx, 0x8003
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov edi, eax
mov dword [0x129abc1c], r14d
mov dword [0x129abc20], r14d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x129abc18], eax
lea rcx, [0x12a28110]
call fcn.12885ac0
lea rcx, [0x12a27f30]
call fcn.12885ac0
lea rcx, [0x12a34f50]
call fcn.12885ac0
lea rcx, [0x12a35130]
call fcn.12885ac0
lea rcx, [rsp + 0xc8]
cmp qword [rsp + 0xe0], 8
cmovae rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
mov dword [0x129abc20], esi
mov dword [0x129abc1c], esi
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
test rbx, rbx
je 0x12847622
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r15d, r15d
je 0x1284762d
mov rcx, r12
call r13
lea rcx, [rsp + 0xf0]
cmp qword [rsp + 0x108], 8
cmovae rcx, qword [rsp + 0xf0]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
or r8, 0xffffffffffffffff
mov rdx, rbp
lea rcx, [rsp + 0x70]
call fcn.128033a0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x70]
call fcn.128038c0
lea rcx, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r14d, esi
cmp qword [rsp + 0x108], 8
jb 0x128476ac
mov rcx, qword [rsp + 0xf0]
call fcn.12958250
mov qword [rsp + 0x108], 7
mov qword [rsp + 0x100], rsi
mov word [rsp + 0xf0], si
cmp qword [rsp + 0xb8], 8
jb 0x128476e0
mov rcx, qword [rsp + 0xa0]
call fcn.12958250
mov qword [rsp + 0xb8], 7
mov qword [rsp + 0xb0], rsi
mov word [rsp + 0xa0], si
cmp qword [rsp + 0xe0], 8
jb 0x12847714
mov rcx, qword [rsp + 0xc8]
call fcn.12958250
mov qword [rsp + 0xe0], 7
mov qword [rsp + 0xd8], rsi
mov word [rsp + 0xc8], si
cmp qword [rsp + 0x90], 8
jb 0x12847745
mov rcx, qword [rsp + 0x78]
call fcn.12958250
mov qword [rsp + 0x90], 7
mov qword [rsp + 0x88], rsi
mov word [rsp + 0x78], si
mov eax, r14d
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.12959850
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret