Function at 0x180056890
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1800a2078]
xor rax, rsp
mov qword [rbp + 0x50], rax
imul eax, ecx, 0xbb0
mov edi, ecx
mov r13d, ecx
mov r14, r8
xor ecx, ecx
mov r12, rdx
mov dword [rsp + 0x50], eax
mov r15d, dword [rsp + 0x50]
cmp edi, eax
ja 0x180056d55
mov ebx, dword [rsp + 0x50]
mov esi, dword [rsp + 0x50]
mov dword [rsp + 0x40], ebx
nop word [rax + rax]
cmp edi, 0xf2b0
ja 0x180056af5
je 0x180056aa8
cmp edi, 0x79b0
ja 0x180056a33
je 0x180056a0e
mov eax, edi
sub eax, 0x5e
je 0x180056a05
sub eax, 0x52
je 0x18005699b
sub eax, 0x60
je 0x180056950
cmp eax, 0x3fee
jne 0x180056d3b
mov r8d, 1
lea rdx, [0x18008cdc3]
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x180056d39
mov rcx, qword [0x1800a2158]
mov edx, 0xcf
call fcn.1800429c0
test al, al
jne 0x180056d39
mov eax, 0x6e
nop
cmp eax, 0x6e
je 0x180056984
cmp eax, 0x46e6
je case.0x180056dbe.0
xor ecx, ecx
jmp 0x18005698a
xor ecx, ecx
mov dword [rsp + 0x30], ecx
add eax, 0x4678
cmp eax, 0x8cf0
jbe 0x180056970
jmp 0x180056d3b
mov ecx, dword [r12]
test ecx, ecx
jns 0x1800569cf
mov eax, 0x121
cmp eax, 0x121
je 0x1800569bc
cmp eax, 0x350f
je case.0x180056dbe.0
jmp 0x1800569c1
mov byte [rsp + 0x30], 0
add eax, 0x33ee
cmp eax, 0x67dc
jbe 0x1800569a8
jmp 0x1800569e9
movups xmm0, xmmword [r14 + 0x4c]
movzx eax, byte [r14 + 0x6c]
movups xmm1, xmmword [r14 + 0x5c]
mov byte [rbp], al
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm1
mov dword [rsp + 0x48], ecx
lea r8, [rbp + 1]
lea rcx, [rsp + 0x48]
mov edx, 0xe3
call fcn.180083980
jmp 0x180056d39
mov byte [rbp - 0x70], 0
jmp 0x180056d3b
lea r8, [r14 + 0x4c]
mov qword [rsp + 0x58], 0x21
lea r9, [rbp - 0x40]
mov ecx, 0xec
lea rdx, [rsp + 0x58]
call fcn.18007cab0
jmp 0x180056d39
cmp edi, 0x819e
je 0x180056a8a
cmp edi, 0xbc10
je 0x180056a69
cmp edi, 0xc23e
jne 0x180056d3b
movzx eax, word [0x18008cda8]
mov word [rbp - 0x6c], ax
movzx eax, byte [0x18008cdaa]
mov byte [rbp - 0x6a], al
jmp 0x180056d3b
mov rcx, qword [0x1800a2158]
lea rdx, [rsp + 0x38]
mov r8d, 0x50
mov byte [rsp + 0x38], 1
call fcn.18002d030
jmp 0x180056d39
movzx eax, word [0x18008ce2a]
mov word [rbp - 0x6f], ax
movzx eax, byte [0x18008ce2c]
mov byte [rbp - 0x6d], al
mov byte [rbp - 0x6c], 0
jmp 0x180056d3b
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x48]
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x48], 0x20
mov r8d, 0xf2
lea rdx, [rbp - 0x40]
call fcn.18005cc00
movzx ecx, byte [rbp - 0x3f]
movzx eax, byte [rbp - 0x3e]
shl eax, 8
shl ecx, 0x10
add ecx, eax
movzx eax, byte [rbp - 0x40]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rbp - 0x3d]
add ecx, eax
mov dword [r14 + 4], ecx
jmp 0x180056d39
cmp edi, 0x1841e
ja 0x180056beb
je 0x180056be2
cmp edi, 0x102de
je 0x180056bd9
cmp edi, 0x1437e
je 0x180056ba6
cmp edi, 0x16bb0
je 0x180056b8e
cmp edi, 0x17710
jne 0x180056d3b
xor r8d, r8d
mov rdx, r14
lea ecx, [r8 + 0x3f]
call fcn.18004b7a0
test al, al
jne 0x180056b84
mov ebx, 0x25
xor r15d, r15d
nop
mov eax, ebx
sub eax, 0x24
je case.0x180056dbe.0
cmp eax, 1
jne 0x180056b79
mov rdx, qword [0x1800a2158]
xor r8d, r8d
mov ecx, ILFree
call fcn.1800773e0
mov dword [rsp + 0x30], r15d
dec ebx
cmp ebx, 0x23
ja 0x180056b50
mov ebx, dword [rsp + 0x40]
xor ecx, ecx
mov r15d, ecx
jmp 0x180056d3b
xorps xmm0, xmm0
mov dword [rsp + 0x40], ecx
movups xmmword [r14 + 0x2c], xmm0
mov ebx, ecx
movups xmmword [r14 + 0x3c], xmm0
jmp 0x180056d3b
mov r8d, 4
lea rdx, [0x18008cde2]
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r8d, 2
lea rdx, [0x18008ce09]
lea rcx, [rbp - 0x65]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x180056d39
mov byte [rbp - 0x69], 0
jmp 0x180056d3b
mov byte [rbp - 0x63], 0
jmp 0x180056d3b
cmp edi, 0x1e4b0
je 0x180056cec
cmp edi, 0x23210
je 0x180056c6a
cmp edi, 0x25db0
jne 0x180056d3b
lea rcx, [r14 + 0x4c]
xor r9d, r9d
mov r8d, 0xc6
lea rdx, [rbp + 0x10]
call fcn.180010de0
test al, al
jne 0x180056c2d
xor ebx, ebx
mov dword [rsp + 0x40], ebx
jmp 0x180056c35
test ebx, ebx
jne 0x180056d39
mov ecx, 0xe0
nop word [rax + rax]
mov eax, ecx
sub eax, 0xdf
je 0x180056c53
cmp eax, 1
jne 0x180056c5b
inc dword [r14]
jmp 0x180056c5b
mov eax, dword [r12]
mov dword [r14 + 8], eax
dec ecx
cmp ecx, 0xde
ja 0x180056c40
jmp 0x180056d39
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x20]
test al, al
je 0x180056cd6
mov ebx, 0x12d
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x12b
je 0x180056cc4
sub eax, 1
je 0x180056caa
cmp eax, 1
jne 0x180056cc8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, 0x108
mov rcx, r14
mov esi, eax
call fcn.18005b9b0
jmp 0x180056cc8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, esi
mul ecx
mov r15d, edx
shr r15d, 6
jmp 0x180056cc8
call qword [r14 + 0x50]
dec ebx
cmp ebx, 0x12a
ja 0x180056c80
mov ebx, dword [rsp + 0x40]
mov rdx, qword [0x1800a2158]
xor r8d, r8d
mov ecx, ILFree
call fcn.1800773e0
jmp 0x180056d39
lea rax, [rsp + 0x48]
mov dword [rsp + 0x58], 0x25
mov qword [rsp + 0x28], rax
lea rbx, [r14 + 0xc]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], rbx
lea r8, [rbp + 0x10]
mov dword [rsp + 0x48], 0x20
mov edx, 0xd5
lea rcx, [rbp - 0x20]
call fcn.1800459a0
movaps xmm0, xmmword [rbp + 0x30]
movaps xmm1, xmmword [rbp + 0x40]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
mov ebx, dword [rsp + 0x40]
xor ecx, ecx
imul eax, r13d, 0xb0
add edi, eax
cmp edi, dword [rsp + 0x50]
jbe 0x1800568f0
mov r12d, dword [rsp + 0x40]
jmp 0x180056d5a
mov r12d, dword [rsp + 0x50]
lea edi, [r13 - 0x10]
cmp r13d, edi
jbe case.0x180056dbe.0
mov rsi, qword [rsp + 0x50]
lea ebx, [r13 - 0x55]
lea rdx, [0x180000000]
mov r10d, 0x65
mov r11, 0xffffffffffffffff
movabs r9, 0x6e00720065006b
movabs r8, 0x6c006c0064002e
nop dword [rax + rax]
cmp ebx, 0xbb
ja case.0x180056dbe.14
movzx eax, byte [rdx + rbx + 0x56fc4]
mov ecx, dword [rdx + rax*4 + 0x56f88]
add rcx, rdx
jmp rcx
mov dword [rsp + 0x30], r15d
jmp case.0x180056dbe.14
mov dword [rbp - 0x58], 0x65
jmp case.0x180056dbe.14
mov ecx, dword [r14 + 0x28]
mov eax, 0x30
add rcx, rcx
mul rcx
cmovo rax, r11
mov rcx, rax
call fcn.1800840ec
mov qword [r14 + 0x10], rax
mov byte [rsp + 0x30], 1
lea rdx, [0x180000000]
movabs r8, 0x6c006c0064002e
movabs r9, 0x6e00720065006b
mov r10d, 0x65
mov r11, 0xffffffffffffffff
jmp case.0x180056dbe.14
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
jmp case.0x180056dbe.14
cmp qword [r14 + 0x20], 0
je case.0x180056dbe.14
mov eax, 0x56
cmp eax, 0x56
je 0x180056e69
cmp eax, 0x1122
je case.0x180056dbe.0
jmp 0x180056e6e
mov byte [rsp + 0x30], 1
add eax, 0x10cc
cmp eax, 0x2198
jbe 0x180056e57
jmp case.0x180056dbe.14
test r12d, r12d
sete byte [rsp + 0x30]
jmp case.0x180056dbe.14
mov r8, r14
mov edx, 0xf0
xor ecx, ecx
call fcn.180020e60
test al, al
jne 0x180056dfa
mov ecx, 0xc3
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xc3
je 0x180056ec4
cmp eax, 1
je case.0x180056dbe.0
jmp 0x180056ec9
mov byte [rsp + 0x30], 0
inc ecx
cmp ecx, 0xc5
jb 0x180056eb0
jmp 0x180056dfa
xor eax, eax
mov qword [rbp - 0x60], r9
mov word [rbp - 0x58], ax
jmp case.0x180056dbe.14
xor eax, eax
lea r8, [rbp - 0x70]
xor r9d, r9d
mov word [rbp - 0x48], ax
mov edx, reloc.SHELL32.dll_SHSetInstanceExplorer
lea rcx, [rbp - 0x60]
call fcn.18000fe10
mov rsi, rax
jmp 0x180056dfa
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp], eax
movups xmmword [rbp - 0x10], xmm0
mov byte [rbp + 4], al
jmp case.0x180056dbe.14
lea rcx, [rsp + 0x60]
call rsi
mov eax, dword [rbp - 0x80]
mov dword [r14 + 0x28], eax
jmp 0x180056dfa
mov qword [rbp - 0x50], r8
jmp case.0x180056dbe.14
mov eax, dword [0x18008ce8a]
mov dword [rbp - 0x56], eax
movzx eax, word [0x18008ce8e]
mov word [rbp - 0x52], ax
xor eax, eax
mov word [rbp - 0x50], ax
dec r13d
dec ebx
cmp r13d, edi
ja 0x180056da0
mov eax, dword [rsp + 0x30]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.180084890
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret