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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x90
mov r15d, dword [rbp + 0x5f]
lea esi, [rcx + 0xf]
mov r12, r9
mov dword [rbp - 0x11], ecx
xor r9d, r9d
mov dword [rbp - 0x31], esi
cmp ecx, esi
mov ebx, ecx
mov edi, ecx
mov r13, rdx
mov rcx, qword [rbp - 9]
mov qword [rbp - 0x29], rcx
jae 0x180017668
mov rsi, qword [rbp + 0x7f]
lea rdx, [0x180000000]
mov r14, qword [rbp - 9]
add ebx, 0xfffffef8
mov eax, dword [rbp - 0x31]
mov dword [rbp + 0xf], ebx
nop word [rax + rax]
cmp ebx, 0x4b
ja case.default.0x18001757b
movzx eax, byte [rdx + rbx + 0x17d6c]
mov ecx, dword [rdx + rax*4 + 0x17d2c]
add rcx, rdx
jmp rcx
mov rdx, r12
mov ecx, 0x12a
call fcn.18002a530
test al, al
jne 0x1800175d2
mov ebx, 0x59
cmp ebx, 0x59
je 0x1800175aa
cmp ebx, 0x12c6
jne 0x1800175c1
xor edx, edx
mov dword [rbp - 0x21], edx
jmp case.0x18001757b.5
mov rdx, qword [0x1801103f8]
mov r9d, 0x113
xor r8d, r8d
xor ecx, ecx
call fcn.18004d390
add ebx, 0x126d
cmp ebx, 0x24da
jbe 0x180017593
mov ebx, dword [rbp + 0xf]
xor r9d, r9d
mov r15d, r9d
jmp 0x180017641
mov rcx, qword [0x1801103f8]
mov r9d, 0x10f
xor r8d, r8d
xor edx, edx
call fcn.180064320
test al, al
jne 0x180017621
mov ecx, 0xb8
xor edx, edx
nop dword [rax]
mov eax, ecx
sub eax, 0xb8
je 0x180017614
cmp eax, 1
je case.0x18001757b.5
jmp 0x180017617
mov dword [rbp - 0x21], edx
inc ecx
cmp ecx, 0xba
jb 0x180017600
mov rcx, qword [0x1801103f8]
lea rdx, [rbp - 0x11]
xor r9d, r9d
mov byte [rbp - 0x11], 1
mov r8d, 0x11e
call fcn.180020700
xor r9d, r9d
lea rdx, [0x180000000]
mov rcx, qword [rbp - 0x29]
mov eax, dword [rbp - 0x31]
inc edi
inc ebx
mov dword [rbp - 0x11], edi
mov dword [rbp + 0xf], ebx
cmp edi, eax
jb 0x180017560
mov ebx, dword [rbp + 0x5f]
mov r8, qword [rbp + 0x6f]
lea r14d, [rbx + 0x55c]
cmp ebx, r14d
jae case.0x18001757b.5
mov rsi, qword [rbp - 9]
mov edx, 5
mov edi, dword [rbp + 0x5f]
cmp ebx, 0x144
ja 0x180017b45
je case.0x18001757b.5
mov eax, ebx
sub eax, 0x108
je 0x180017b0d
cmp eax, 0xf
jne 0x180017af2
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test al, al
je 0x180017ae9
mov ebx, 0x12b
cmp ebx, 0x12b
je 0x180017acc
cmp ebx, 0x1b3
je 0x180017aba
cmp ebx, 0x23b
je 0x180017aac
cmp ebx, 0x2c3
jne 0x180017ad4
mov eax, 0x10624dd3
mul r15d
mov r15d, edx
shr r15d, 6
call qword [r12 + 0x50]
jmp 0x180017ad4
cmp dword [r13], 0
mov rdi, qword [r12]
jle 0x180017a91
nop dword [rax + rax]
mov ebx, 0x95
mov eax, ebx
sub eax, 0x95
je 0x180017742
cmp eax, 1
jne 0x1800177a7
mov eax, dword [rdi + 4]
add qword [rsi], rax
mov eax, dword [rdi + 4]
sub dword [r13], eax
jmp 0x1800177a7
mov eax, dword [rdi + 8]
lea rdx, [rbp - 0x19]
mov r9, qword [rdi + 0x68]
mov r8d, 0x64
mov rcx, qword [rsi]
mov dword [rbp - 0x19], eax
mov qword [rsp + 0x20], r12
call fcn.18002e6b0
test eax, eax
je 0x180017797
mov eax, 0xa2
nop dword [rax]
cmp eax, 0xa2
je 0x180017784
cmp eax, 0x144
je case.0x18001757b.5
jmp 0x18001778b
mov dword [rbp - 0x21], 1
add eax, 0xa2
cmp eax, 0x1e6
jb 0x180017770
mov r8d, dword [rdi + 4]
mov rdx, qword [rsi]
mov rcx, qword [rdi + 0x68]
call sub.VCRUNTIME140.dll_memcpy
inc ebx
cmp ebx, 0x97
jb 0x180017725
cmp dword [r13], 0
jg 0x180017720
mov ebx, dword [rbp + 0xf]
mov edi, dword [rbp - 0x11]
jmp 0x18001763e
mov rax, qword [r14 + 0x18]
add rax, 4
mov qword [rbp - 0x21], rax
jmp case.0x18001757b.15
mov rax, qword [r12]
xor r8d, r8d
mov qword [rsp + 0x28], r9
xor ecx, ecx
mov qword [rsp + 0x20], r9
lea r9, [rbp - 0x19]
mov qword [rbp - 0x19], rax
lea edx, [r8 + 0x16]
call fcn.180005dc0
test eax, eax
jne 0x180017834
mov eax, 0xa8
xor edx, edx
nop dword [rax + rax]
cmp eax, 0xa8
je 0x180017824
cmp eax, 0x5400
je case.0x18001757b.5
jmp 0x180017828
mov qword [rbp - 0x21], rdx
add eax, 0x5358
cmp eax, 0xa6b0
jbe 0x180017810
mov rax, qword [r12]
mov r14, qword [rax + 0x58]
jmp 0x18001763e
mov ecx, 0xf5
mov eax, ecx
sub eax, 0xf5
je 0x18001785a
cmp eax, 1
je case.0x18001757b.5
jmp 0x18001785e
mov dword [rbp - 0x21], r9d
inc ecx
cmp ecx, 0xf7
jb 0x180017846
cmp dword [rbp - 1], 0
je case.0x18001757b.15
mov ecx, 0x79
mov eax, ecx
sub eax, 0x79
je 0x180017889
cmp eax, 0x2b
je case.0x18001757b.5
jmp 0x18001788d
mov qword [rbp - 0x21], r9
add ecx, 0x2b
cmp ecx, 0xcf
jb 0x180017877
jmp case.0x18001757b.15
lea r9, [0x180108860]
lea rdx, str.Subtype
mov rax, qword [rbp + 7]
lea r8, [rbp - 0x19]
mov ecx, 0xa5
mov qword [rbp - 0x19], rax
call fcn.180025670
add dword [rbp - 1], eax
jmp 0x18001763e
lea r9, str.ExData
lea rdx, str.Type
jmp 0x1800178ab
mov rax, qword [r12]
lea rdx, [rbp + 0x17]
mov r8d, 0xa1
mov qword [rbp + 0x17], rax
xor ecx, ecx
mov dword [rbp - 1], r9d
call fcn.180025a20
mov qword [rbp + 7], rax
jmp 0x18001763e
mov rax, qword [r12]
lea rcx, [rbp - 0x19]
xor r9d, r9d
mov qword [rbp - 0x19], rax
xor r8d, r8d
lea edx, [r9 + 0x31]
call fcn.180022fa0
test eax, eax
jne 0x18001794a
mov eax, 0xe4
cmp eax, 0xe4
je 0x180017937
cmp eax, 0x2e50
je case.0x18001757b.5
jmp 0x18001793e
mov dword [rbp - 0x21], 0x1025
add eax, 0x2d6c
cmp eax, 0x5ad8
jbe 0x180017923
mov rax, qword [r12]
xor r9d, r9d
cmp qword [rax + 0xb8], r9
jne 0x180017641
xor edx, edx
mov dword [rbp - 0x19], 0x1000
mov rax, qword [rax + 8]
lea r8, [rbp - 0x19]
mov qword [rsp + 0x38], rdx
lea rcx, [rbp - 9]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 0xaf
mov qword [rsp + 0x20], rdx
mov qword [rbp - 9], rax
call fcn.180041a10
mov rcx, qword [r12]
mov qword [rcx + 0xb8], rax
jmp 0x18001763e
mov rcx, qword [rbp + 7]
test rcx, rcx
jne 0x1800179d5
mov eax, 0xbb
cmp eax, 0xbb
je 0x1800179c5
cmp eax, 0x17a
je case.0x18001757b.5
jmp 0x1800179c9
mov qword [rbp - 0x21], r9
add eax, 0xbf
cmp eax, 0x239
jb 0x1800179b1
mov rax, qword [rsi]
lea rdx, [rbp - 0x19]
mov qword [rsp + 0x20], r9
mov r8, rcx
mov r9d, 0xff
mov qword [rbp - 0x19], rax
xor ecx, ecx
call fcn.180018fd0
test eax, eax
je 0x18001763e
mov eax, 0x41
cmp eax, 0x41
je 0x180017a15
cmp eax, 0x5f
je case.0x18001757b.5
xor r9d, r9d
jmp 0x180017a1c
xor r9d, r9d
mov qword [rbp - 0x21], r9
add eax, 0x1e
cmp eax, 0x7d
jb 0x180017a02
jmp 0x180017641
mov rax, qword [rbp + 7]
mov qword [rbp - 0x21], rax
jmp case.0x18001757b.15
mov rax, qword [r12]
lea r9, [rbp - 0x29]
xor r8d, r8d
mov qword [rbp - 0x29], rax
xor edx, edx
mov ecx, 0x10a
call fcn.18008a420
test eax, eax
je 0x180017aa0
mov eax, 0x10
lea r9, [rbp - 0x11]
mov word [rbp - 0x11], ax
lea r8, [rbp - 0x29]
mov rax, qword [r12]
mov rdx, rsi
mov ecx, 0x6f
mov qword [rbp - 0x29], rax
call fcn.18001d990
mov rcx, rax
mov qword [rbp - 0x29], rax
xor r9d, r9d
lea rdx, [0x180000000]
jmp 0x18001764c
mov edi, dword [rbp - 0x11]
jmp case.0x18001757b.15
mov dword [rbp - 0x21], 0x1037
jmp case.0x18001757b.5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r15d, eax
sub r15d, edi
jmp 0x180017ad4
mov r8d, 0xef
mov rdx, r12
xor ecx, ecx
call fcn.18000e780
jmp 0x180017ad4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
add ebx, 0x88
cmp ebx, 0x34b
jb 0x1800176c3
mov ebx, dword [rbp + 0x5f]
mov rcx, qword [rbp - 0x29]
mov edx, 5
add ebx, 0x62
mov dword [rbp + 0x5f], ebx
cmp ebx, r14d
jae case.0x18001757b.5
mov r8, qword [rbp + 0x6f]
xor r9d, r9d
jmp 0x180017684
test rcx, rcx
jne 0x180017af2
mov dword [rbp - 0x19], r9d
mov dword [rbp + 0x5f], 0x104a
mov rax, qword [r12]
lea r8, [rbp + 0x5f]
mov r9d, 0x58
lea rdx, [rbp - 9]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 9], rcx
lea rcx, [rbp - 0x19]
call fcn.18001b000
jmp 0x180017d08
cmp ebx, 0x1db
ja 0x180017cb0
je 0x180017ca7
mov eax, ebx
sub eax, 0x153
je 0x180017c44
sub eax, 0x17
je 0x180017c01
sub eax, 0xf
je 0x180017be5
sub eax, 0x3c
je 0x180017b8b
cmp eax, 0x17
jne 0x180017af2
mov eax, dword [r8]
mov dword [rsi + 0x10], eax
jmp 0x180017af2
mov rcx, qword [r12]
lea rdx, [rbp - 9]
mov r8d, 0xdb
mov rax, qword [rcx + 0xb8]
mov qword [rbp + 0x17], rcx
lea rcx, [rbp + 0x17]
mov qword [rbp - 9], rax
call fcn.18006f940
test eax, eax
je 0x180017ae9
mov rax, qword [r12]
xor r9d, r9d
add rax, 0x48
xor edx, edx
mov qword [rbp - 9], rax
xor ecx, ecx
lea rax, [rbp - 9]
mov r8d, 0x90
mov qword [rsp + 0x20], rax
call fcn.18002e6b0
jmp 0x180017d08
mov rdx, qword [0x1801103f8]
mov r9d, 0x113
xor r8d, r8d
xor ecx, ecx
call fcn.18004d390
jmp 0x180017ae9
mov eax, dword [r13]
lea r8, [rbp + 7]
mov word [rbp + 0x5f], dx
mov r9d, 0x32
mov qword [rbp + 7], rcx
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0x5f]
mov dword [rbp - 0x19], eax
call fcn.180033390
mov rsi, rax
test rax, rax
jne 0x180017ae9
xor edx, edx
mov dword [rbp + 0x5f], 0x1052
mov dword [rbp - 0x19], edx
jmp 0x180017b1d
mov rax, qword [r12]
lea rdx, [rbp + 7]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax + 0xb8]
mov qword [rbp + 7], rcx
mov ecx, 0xb2
call fcn.18005dec0
xor edx, edx
test eax, eax
mov rax, qword [r12]
je 0x180017ce0
mov rcx, qword [rax + 0xb8]
lea r8d, [rdx + 8]
lea rax, [rbp + 0xf]
mov qword [rbp + 0xf], rcx
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rdx
xor ecx, ecx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
call fcn.18005c270
jmp 0x180017ae9
mov dword [rbp - 0x21], r15d
jmp 0x180017af2
mov eax, ebx
sub eax, 0x217
je 0x180017cd2
sub eax, 0x17
je 0x180017cd2
sub eax, 0xf
je case.0x18001757b.5
sub eax, 0x3c
je case.0x18001757b.5
cmp eax, 0x17
je case.0x18001757b.5
jmp 0x180017af2
mov dword [rbp - 0x21], r9d
jmp 0x180017af2
mov dword [rbp + 0x5f], edx
lea r9, [rbp - 9]
add rax, 0x48
mov dword [rbp - 9], 0x103c
mov edx, 0x6a
mov qword [rbp + 0x17], rax
lea r8, [rbp + 0x5f]
lea rcx, [rbp + 0x17]
call fcn.18004cf00
mov dword [rbp - 0x21], eax
mov rax, qword [rbp - 0x21]
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret