Function at 0x1800f2880
Capabilities:
Check for time delay via queryperformancecounter
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x9b8
movdqa xmmword [rsp + 0x9a0], xmm15
movdqa xmmword [rsp + 0x990], xmm14
movdqa xmmword [rsp + 0x980], xmm13
movdqa xmmword [rsp + 0x970], xmm12
movdqa xmmword [rsp + 0x960], xmm11
movdqa xmmword [rsp + 0x950], xmm10
movdqa xmmword [rsp + 0x940], xmm9
movdqa xmmword [rsp + 0x930], xmm8
movdqa xmmword [rsp + 0x920], xmm7
movaps xmmword [rsp + 0x910], xmm6
mov rbx, rdx
mov r14, rcx
lea rcx, [rsp + 0x590]
mov r8d, 0x98
call fcn.180170ea0
mov r13d, dword [rbx + 0xa0]
cmp r13d, 0x3b9aca00
jne 0x1800f2928
mov r13d, 0x3b9aca00
jmp 0x1800f2a78
mov rdi, qword [rbx + 0x98]
mov qword [rsp + 0x1f8], 0
lea rcx, [rsp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800f5641
mov rsi, qword [rsp + 0x1f8]
mov r8, qword [0x180219970]
test r8, r8
jne 0x1800f299f
mov qword [rsp + 0x1f8], 0
lea rcx, [rsp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800f5641
mov r8, qword [rsp + 0x1f8]
mov qword [0x180219970], r8
test r8, r8
je 0x1800f53b7
mov rax, rsi
or rax, r8
shr rax, 0x20
je 0x1800f29b8
mov rax, rsi
xor edx, edx
div r8
mov rcx, rax
jmp 0x1800f29c1
mov eax, esi
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1800f29db
xor edx, edx
div r8
jmp 0x1800f29e0
xor edx, edx
div r8d
imul r9, rcx, 0x3b9aca00
add r9, rax
mov r8, r9
shr r8, 9
mov rax, r8
movabs rcx, 0x44b82fa09b5a53
mul rcx
mov rcx, rdx
shr rcx, 0xb
add rcx, rdi
jb 0x1800f53b7
mov rax, r8
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub r9d, eax
add r13d, r9d
cmp r13d, 0x3b9ac9ff
jbe 0x1800f2a4a
inc rcx
je 0x1800f53b7
add r13d, 0xc4653600
mov eax, r13d
shr eax, 9
imul r12, rax, 0x44b83
shr r12, 0x27
add r12, rcx
jb 0x1800f53b7
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub r13d, eax
call fcn.1800fe660
test rax, rax
je 0x1800f53b7
mov rsi, rax
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800f2aae
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f5655
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f5655
mov qword [rsp + 0x148], r14
mov qword [rsp + 0xe8], rbx
mov qword [rax], 1
mov qword [rax + 8], 1
mov rcx, rax
add rcx, 0x10
mov qword [rax + 0x10], rsi
lea rax, fcn.1800e2a80
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rcx
lea rax, [rsp + 0x150]
mov qword [rsp + 0x1b8], rax
lea rcx, [rsp + 0x1f8]
lea rdx, [rsp + 0x590]
mov r8d, 0x98
call fcn.180170ea0
lea rax, [0x1801dc9fb]
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], 5
lea rdi, [rsp + 0x2a0]
lea rdx, [rsp + 0x628]
mov r8d, 0x2e8
mov rcx, rdi
call fcn.180170ea0
mov byte [rsp + 0x588], 0
mov eax, dword [rsp + 0x199]
mov ecx, dword [rsp + 0x19c]
mov dword [rsp + 0x589], eax
mov dword [rsp + 0x58c], ecx
lea rsi, [rsp + 0x3a0]
xorps xmm6, xmm6
lea r14, [0x1800f570c]
movdqa xmm7, xmmword [0x18018bc80]
movdqa xmm8, xmmword [0x18018bc90]
movdqa xmm9, xmmword [0x18018bca0]
movdqa xmm10, xmmword [0x18018bc60]
movdqa xmm11, xmmword [0x18018bc70]
movdqa xmm12, xmmword [0x18018b9e0]
movdqa xmm13, xmmword [0x18018bc40]
movdqa xmm14, xmmword [0x18018bc50]
xor eax, eax
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0xf0], r12
test al, al
je 0x1800f2c20
nop word [rax + rax]
movzx eax, al
cmp eax, 3
je 0x1800f38cf
jmp 0x1800f53b7
mov r8d, 0x98
mov rcx, rdi
lea rdx, [rsp + 0x1f8]
call fcn.180170ea0
mov r15, qword [rsp + 0x290]
mov rbp, qword [rsp + 0x298]
movups xmm0, xmmword [0x1801dd020]
movaps xmmword [rsp + 0x70], xmm0
movdqu xmm0, xmmword [0x1801dd010]
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, rdi
lea rdx, [rsp + 0x60]
call fcn.1800421e0
mov rsi, rax
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1800f2c8c
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0x78]
call qword [rax + 0x10]
test rsi, rsi
je 0x1800f2cb9
mov rbx, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
lea rsi, [rbx + rdi]
xor eax, eax
nop
cmp rdi, rax
je 0x1800f2cd0
movzx ecx, byte [rbx + rax]
inc rax
cmp cl, 9
je 0x1800f2ca0
add cl, 0xe0
cmp cl, 0x5f
jb 0x1800f2ca0
mov qword [rsp + 0x338], 2
xor r8d, r8d
jmp 0x1800f382c
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xc0], r15
cmp rdi, 3
jne 0x1800f2cfe
movzx eax, word [rbx]
xor eax, 0x2f2a
movzx ecx, byte [rbx + 2]
xor ecx, 0x2a
or cx, ax
je 0x1800f2dcc
mov ecx, 0xa
mov edx, 1
xor eax, eax
lea r9, [0x1801d9b98]
nop word cs:[rax + rax]
cmp rdi, rax
je 0x1800f3800
mov rbp, rax
mov r13, rcx
mov r15, rdx
movzx r8d, byte [rbx + rax]
inc rax
inc rcx
inc rdx
cmp byte [r8 + r9], 0
jne 0x1800f2d20
cmp r8b, 0x2f
jne 0x1800f3800
cmp rax, 1
je 0x1800f3800
cmp rdi, rax
je 0x1800f2e15
mov r12, rdi
neg r12
xor r10d, r10d
jmp 0x1800f2d9a
cmp byte [r8 + r9], 0
mov rdx, r10
mov rcx, r11
je 0x1800f3800
lea r8, [r12 + r13]
inc r8
inc r13
inc r15
mov r11, rcx
mov r10, rdx
cmp r8, 9
je 0x1800f2e17
lea rcx, [r13 - 9]
movzx r8d, byte [rbx + r13 - 9]
cmp r8d, 0x2b
je 0x1800f2dc0
cmp r8d, 0x3b
jne 0x1800f2d70
cmp rcx, rax
jbe 0x1800f2d70
jmp 0x1800f2f6f
mov edx, 1
cmp rcx, rax
ja 0x1800f2d81
jmp 0x1800f2d70
mov r12d, 2
mov edi, 3
mov ebp, 1
xor eax, eax
xor ecx, ecx
xor r11d, r11d
lea rsi, [0x1801dce08]
xor edx, edx
xor r8d, r8d
mov qword [rsp + 0xb8], r8
xor r10d, r10d
xor r8d, r8d
mov qword [rsp + 0xa8], r8
xor r8d, r8d
mov qword [rsp + 0x120], r8
jmp 0x1800f3d54
xor edx, edx
mov r11, rcx
mov r10, rdx
test rdi, rdi
je 0x1800f2e9b
js 0x1800f53b7
mov r12, r10
mov r15, r11
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800f2e50
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f4ed5
mov qword [0x180219958], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f4ed5
mov r13, rax
mov rsi, rax
mov rcx, r13
mov rdx, rbx
mov r8, rdi
call fcn.180170ea0
mov rcx, r13
cmp rdi, 8
mov r11, r15
mov r10, r12
jb 0x1800f3d0a
cmp rdi, 0x20
jae 0x1800f2ea5
xor eax, eax
jmp 0x1800f2f20
mov esi, 1
jmp 0x1800f3d2f
mov rax, rdi
and rax, 0xffffffffffffffe0
xor ecx, ecx
nop
movdqu xmm0, xmmword [rsi + rcx]
movdqu xmm1, xmmword [rsi + rcx + 0x10]
movdqa xmm2, xmm0
paddb xmm2, xmm10
movdqa xmm3, xmm1
paddb xmm3, xmm10
movdqa xmm4, xmm2
pminub xmm4, xmm11
pcmpeqb xmm4, xmm2
pand xmm4, xmm12
movdqa xmm2, xmm3
pminub xmm2, xmm11
pcmpeqb xmm2, xmm3
pand xmm2, xmm12
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [rsi + rcx], xmm4
movdqu xmmword [rsi + rcx + 0x10], xmm2
add rcx, 0x20
cmp rax, rcx
jne 0x1800f2eb0
cmp rdi, rax
je 0x1800f3d2f
test dil, 0x18
je 0x1800f3d04
mov rdx, rdi
and rdx, 0xfffffffffffffff8
lea rcx, [rdx + r13]
nop dword [rax + rax]
movq xmm0, qword [rsi + rax]
movdqa xmm1, xmm0
paddb xmm1, xmm7
movdqa xmm2, xmm1
pmaxub xmm2, xmm8
pcmpeqb xmm2, xmm1
pandn xmm2, xmm9
por xmm2, xmm0
movq qword [rsi + rax], xmm2
add rax, 8
cmp rdx, rax
jne 0x1800f2f30
cmp rdi, rdx
jne 0x1800f3d0a
jmp 0x1800f3d2f
mov qword [rsp + 0x1a8], r12
mov qword [rsp + 0x60], 2
lea rax, [r13 - 8]
lea rcx, [r13 - 9]
mov qword [rsp + 0x118], rcx
mov r12d, 2
cmp rax, rdi
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0x58], r10
jae 0x1800f3737
lea r8, [rbx + r13]
add r8, 0xfffffffffffffff8
lea rcx, [r13 - 7]
mov qword [rsp + 0x138], rcx
mov r9, rax
movzx ecx, byte [rsp + 0x3f]
mov rdx, qword [rsp + 0xd8]
cmp r8, rsi
je 0x1800f42c9
mov r12, r8
mov rcx, r13
mov qword [rsp + 0xc8], r9
sub rcx, r9
add rcx, 2
mov qword [rsp + 0x110], rcx
xor ecx, ecx
mov r9, rax
mov rdx, r8
nop
mov r12, rsi
movzx esi, byte [rdx + rcx]
cmp rsi, 0x20
je 0x1800f3035
lea r8, [0x1801d9b98]
cmp byte [rsi + r8], 0
je 0x1800f3069
lea r8, [rdx + rcx]
inc r8
inc rcx
inc r9
mov rsi, r12
cmp r8, r12
jne 0x1800f3000
jmp 0x1800f376b
lea r9, [rax + rcx]
mov r8, qword [rsp + 0xc8]
cmp r9, r8
jne 0x1800f443d
add rax, rcx
inc rax
add rdx, rcx
inc rdx
mov qword [rsp + 0x90], rdx
inc r8
mov rsi, r12
jmp 0x1800f3711
mov qword [rsp + 0x130], rax
mov eax, 3
mov qword [rsp + 0x48], rax
cmp sil, 0x3d
jne 0x1800f3784
mov r8, qword [rsp + 0x130]
lea rax, [r8 + rcx]
cmp rax, qword [rsp + 0xc8]
jbe 0x1800f3784
mov r9, r8
mov r8, qword [rsp + 0x1a8]
mov qword [rsp + 0x128], rax
add rax, r8
mov qword [rsp + 0x1a0], rax
add r9, rcx
inc r9
add rdx, rcx
inc rdx
mov qword [rsp + 0x90], rdx
xor r8d, r8d
mov rax, r9
mov qword [rsp + 0x50], r9
nop dword [rax]
mov rdx, r9
test r8b, r8b
je 0x1800f314e
mov rsi, r12
mov r9, qword [rsp + 0x90]
cmp r9, r12
je 0x1800f415e
lea r10, [r9 + 1]
movzx esi, byte [r9]
lea rax, [rdx + 1]
mov qword [rsp + 0xa0], rax
cmp sil, 0x22
jne 0x1800f3124
mov r9, rdx
cmp rdx, qword [rsp + 0x50]
ja 0x1800f31aa
cmp sil, 0x20
jb 0x1800f42bc
mov qword [rsp + 0x90], r10
cmp sil, 0x7f
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp + 0xa0]
jne 0x1800f30e0
jmp 0x1800f42c1
mov r9, qword [rsp + 0x90]
cmp r9, r12
je 0x1800f31fa
movzx esi, byte [r9]
inc r9
mov qword [rsp + 0x90], r9
lea r9, [rdx + 1]
cmp rsi, 0x22
je 0x1800f3194
lea r10, [0x1801d9b98]
cmp byte [rsi + r10], 0
mov r10, qword [rsp + 0x58]
jne 0x1800f30e0
jmp 0x1800f321d
mov sil, 0x22
mov r8b, 1
cmp rdx, qword [rsp + 0x50]
je 0x1800f30d4
jmp 0x1800f42c1
mov rsi, r12
cmp r10, r12
mov rax, qword [rsp + 0x130]
je 0x1800f31ed
lea r8, [rdx + rsi]
sub r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa0]
movzx esi, byte [r10]
cmp esi, 0x20
jne 0x1800f3249
inc r10
inc r9
cmp r10, r12
jne 0x1800f31ce
mov rsi, r12
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x90], rsi
mov r8, rdi
jmp 0x1800f326b
mov rsi, r12
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x90], r12
mov r9, rdi
mov r8, rdi
mov rax, qword [rsp + 0x130]
jmp 0x1800f3273
cmp sil, 0x3b
jne 0x1800f42c1
mov qword [rsp + 0xa0], r9
mov r8, r9
mov r9, rdx
cmp rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x130]
ja 0x1800f3273
jmp 0x1800f3784
cmp esi, 0x3b
jne 0x1800f43df
inc r9
inc r10
mov qword [rsp + 0x90], r10
mov qword [rsp + 0xa0], r9
mov r8, r9
mov r10, qword [rsp + 0x58]
mov r9, rdx
mov qword [rsp + 0x48], r9
mov r9, qword [rsp + 0x60]
test r9, r9
je 0x1800f3312
cmp r9d, 1
jne 0x1800f3332
mov qword [rsp + 0x110], r8
mov rdx, qword [rsp + 0x80]
cmp rdx, qword [rsp + 0x78]
jne 0x1800f32c6
lea rcx, [rsp + 0x70]
call fcn.18006f200
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x80]
mov rsi, r12
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x70]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r9
mov r9, qword [rsp + 0x128]
mov qword [rax + rcx + 8], r9
mov r9, qword [rsp + 0x50]
mov qword [rax + rcx + 0x10], r9
mov qword [rax + rcx + 0x18], r8
inc rdx
mov qword [rsp + 0x80], rdx
jmp 0x1800f343e
mov qword [rsp + 0x110], r8
movdqu xmm15, xmmword [rsp + 0x68]
mov rax, qword [0x180219958]
test rax, rax
je 0x1800f3387
mov rsi, r12
jmp 0x1800f33a0
cmp qword [rsp + 0x110], 9
mov rsi, r12
jne 0x1800f3661
mov r9, qword [rsp + 0x128]
cmp r9, qword [rsp + 0x138]
jb 0x1800f56e0
cmp r13, 7
je 0x1800f336c
cmp byte [rbx + r13 - 7], 0xc0
jl 0x1800f56e0
cmp r9, rdi
jae 0x1800f3453
add rax, rbx
cmp byte [rcx + rax], 0xbf
jg 0x1800f3462
jmp 0x1800f56e0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f56cf
mov rsi, r12
mov qword [0x180219958], rax
mov r8d, 0x40
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f56cf
pshufd xmm0, xmm15, 0x44
movdqa xmm1, xmm0
paddq xmm1, xmm13
paddq xmm0, xmm14
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm1
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x128]
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x38], rcx
mov qword [rsp + 0x60], 1
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], 2
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x110]
jmp 0x1800f3711
cmp qword [rsp + 0x1a0], 0
jne 0x1800f56e0
cmp r9, r13
jne 0x1800f3661
movzx eax, byte [rbx + r13 - 7]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x63
jne 0x1800f3661
movzx eax, byte [rbx + r13 - 6]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x68
jne 0x1800f3661
movzx eax, byte [rbx + r13 - 5]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x61
jne 0x1800f3661
movzx eax, byte [rbx + r13 - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x72
jne 0x1800f3661
movzx eax, byte [rbx + r13 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x73
jne 0x1800f3661
movzx eax, byte [rbx + r13 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x1800f3661
movzx eax, byte [rbx + r13 - 1]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x74
jne 0x1800f3661
mov rax, qword [rsp + 0x48]
sub rax, qword [rsp + 0x50]
jb 0x1800f56f5
cmp qword [rsp + 0x50], 0
je 0x1800f356b
cmp qword [rsp + 0x50], rdi
jae 0x1800f3565
mov rcx, qword [rsp + 0x50]
cmp byte [rbx + rcx], 0xc0
jge 0x1800f356b
jmp 0x1800f56f5
jne 0x1800f56f5
cmp qword [rsp + 0x48], 0
je 0x1800f3590
cmp qword [rsp + 0x48], rdi
jae 0x1800f358a
mov rcx, qword [rsp + 0x48]
cmp byte [rbx + rcx], 0xbf
jg 0x1800f3590
jmp 0x1800f56f5
jne 0x1800f56f5
cmp rax, 5
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x58]
mov rsi, r12
jne 0x1800f3661
mov rax, qword [rsp + 0x50]
movzx eax, byte [rbx + rax]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x75
jne 0x1800f3661
mov rax, qword [rsp + 0x50]
movzx eax, byte [rbx + rax + 1]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x74
jne 0x1800f3661
mov rax, qword [rsp + 0x50]
movzx eax, byte [rbx + rax + 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x66
jne 0x1800f3661
mov rax, qword [rsp + 0x50]
movzx eax, byte [rbx + rax + 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2d
jne 0x1800f3661
mov rax, qword [rsp + 0x50]
movzx eax, byte [rbx + rax + 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x38
jne 0x1800f3661
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xa0]
jmp 0x1800f3711
mov r12, r8
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800f3686
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f56be
mov qword [0x180219958], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f56be
mov rcx, qword [rsp + 0xc8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x128]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x18], rcx
mov qword [rsp + 0x60], 1
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 1
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa0]
mov r8, r12
mov r9, r8
cmp r8, rdi
movzx ecx, byte [rsp + 0x3f]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x90]
jb 0x1800f2fd0
mov r12, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
mov rsi, rcx
shr rsi, 8
mov rax, rcx
mov qword [rsp + 0x48], rcx
shr rcx, 0x10
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x140], rax
jmp 0x1800f37d0
mov eax, 1
mov qword [rsp + 0x48], rax
mov r9, qword [rsp + 0xd8]
movzx eax, byte [rsp + 0x3f]
mov esi, eax
cmp dword [rsp + 0x60], 1
jne 0x1800f37ba
cmp qword [rsp + 0x78], 0
je 0x1800f37ba
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x180219958]
xor edx, edx
mov r12, r9
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, r12
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0xb0]
mov r12d, 3
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], r9
cmp r12, 3
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0xd0], rdx
mov byte [rsp + 0x3f], sil
jne 0x1800f3c63
nop word [rax + rax]
mov r13d, dword [rsp + 0x40]
mov qword [rsp + 0x338], 2
xor r8d, r8d
mov r12, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0x98]
test r8, r8
cmovne r15, r8
cmove r10, rbp
lea rax, [rsp + 0x78]
movups xmmword [rax - 0x17], xmm6
mov word [rax - 7], 0
test r10, r10
je 0x1800f388e
lea rcx, [r15 + 1]
add r15, 2
xor eax, eax
mov r8, r15
mov rdx, r10
nop dword [rax + rax]
movzx r9d, byte [rcx - 1]
mov r11d, r9d
add r11d, 0xfffffff7
cmp r11d, 0x56
ja case.0x1800f387d.11
movsxd r11, dword [r14 + r11*4]
add r11, r14
jmp r11
inc rcx
inc r8
inc rax
dec rdx
jne 0x1800f3860
xor eax, eax
lea rdi, [rsp + 0x2a0]
lea rsi, [rsp + 0x3a0]
test rax, rax
lea rcx, [0x1801b40c8]
cmove rax, rcx
mov qword [rsp + 0x398], rax
mov r8d, 0x98
mov rcx, rsi
mov rdx, rdi
call fcn.180170ea0
mov byte [rsp + 0x580], 0
lea rcx, [rsp + 0x60]
mov rdx, rsi
lea r8, [rsp + 0x1b8]
call fcn.1800f1ef0
cmp qword [rsp + 0x60], 0
je 0x1800f496b
mov byte [rsp + 0x588], 3
cmp r13d, 0x3b9aca00
jne 0x1800f3920
call fcn.1800fe490
movzx eax, byte [rsp + 0x588]
test al, al
jne 0x1800f2c00
jmp 0x1800f2c20
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800f5641
mov rsi, qword [rsp + 0x60]
mov r8, qword [0x180219970]
test r8, r8
jne 0x1800f397e
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800f5641
mov r8, qword [rsp + 0x60]
mov qword [0x180219970], r8
test r8, r8
je 0x1800f53b7
mov rax, rsi
or rax, r8
shr rax, 0x20
je 0x1800f39a0
mov rax, rsi
xor edx, edx
div r8
mov rcx, rax
jmp 0x1800f39a9
mov eax, esi
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
lea rsi, [rsp + 0x3a0]
je 0x1800f39d0
xor edx, edx
div r8
jmp 0x1800f39d5
xor edx, edx
div r8d
imul r8, rcx, 0x3b9aca00
add r8, rax
mov rax, r8
shr rax, 9
movabs rcx, 0x44b82fa09b5a53
mul rcx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub r8d, eax
cmp rdx, r12
jb 0x1800f3a14
jne 0x1800f4a52
cmp r13d, r8d
jbe 0x1800f4a52
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x68], r13d
lea rcx, [rsp + 0x60]
call fcn.180104920
cmp edx, 0x3b9aca00
mov ecx, 0
cmove edx, ecx
mov ecx, 0
cmovne rcx, rax
call fcn.1801006e0
movzx eax, byte [rsp + 0x588]
test al, al
jne 0x1800f2c00
jmp 0x1800f2c20
lea r11d, [r9 - 0x41]
cmp r11b, 0x1a
jae 0x1800f3c42
add r9d, 0x20
nop dword [rax + rax]
mov byte [rsp + 0x60], r9b
cmp rdx, 1
je 0x1800f3b21
lea rsi, [rdx - 1]
xor r11d, r11d
nop word cs:[rax + rax]
lea r9, [r11 + 1]
movzx edi, byte [rcx + r11]
mov ebx, edi
add ebx, 0xfffffff7
cmp ebx, 0x56
ja case.0x1800f3ab7.11
mov rbp, r15
lea r15, [0x1800f5868]
movsxd rbx, dword [r15 + rbx*4]
add rbx, r15
mov r15, rbp
jmp rbx
cmp r11, 0x12
je 0x1800f388e
cmp r9, 0x13
jae 0x1800f53b7
mov byte [rsp + r11 + 0x61], dil
inc r11
inc r8
inc rax
cmp rsi, r11
jne 0x1800f3a90
jmp 0x1800f3b76
lea ebx, [rdi - 0x41]
cmp bl, 0x1a
jae 0x1800f3b0c
cmp r11, 0x12
je 0x1800f388e
cmp r9, 0x12
ja 0x1800f53b7
lea r9d, [rdi + 0x20]
mov byte [rsp + r11 + 0x61], r9b
jmp 0x1800f3ad2
lea ebx, [rdi - 0x61]
cmp bl, 0x1a
jb case.0x1800f3ab7.45
lea ebx, [rdi - 0x3a]
cmp bl, 0xf6
jae case.0x1800f3ab7.45
jmp 0x1800f388e
mov r9d, 1
jmp 0x1800f3b7c
add rdx, 0xfffffffffffffffe
cmp rdx, r11
je 0x1800f3b7c
add r10, 0xfffffffffffffffe
nop word cs:[rax + rax]
movzx ecx, byte [r15 + rax]
cmp rcx, 0x20
ja 0x1800f388e
movabs rdx, 0x100003600
bt rdx, rcx
jae 0x1800f388e
inc rax
cmp r10, rax
jne 0x1800f3b40
cmp r9, 0x14
jb 0x1800f3b7c
jmp 0x1800f53b7
inc r11
mov r9, r11
mov ecx, 0xe4
xor edx, edx
mov eax, 0xe4
lea rdi, [rsp + 0x2a0]
lea rsi, [rsp + 0x3a0]
jmp 0x1800f3bae
inc rcx
mov rdx, rcx
mov rcx, rax
sub rcx, rdx
jbe 0x1800f3c2b
shr rcx, 1
add rcx, rdx
mov r8, rcx
shl r8, 4
lea r10, str.l1l2l3l4l5l6l9866mackoigbkbig5utf8koi8sjisucs_2ms932cp866cp819asciix_gbkgreekcp1250cp1251latin1gb2312cp1252latin2cp1253latin3cp1254latin4cp1255csbig5latin5utf_16cp1256ibm866latin6cp1257cp1258greek8ibm819arabicvisualkoreaneuc_jpkoi8_rkoi8_reuc_krx_sjiskoi8_uhebrewtis_620ksc5601gb_2312dos_874cn_big5unicodechineselogicalcskoi8rcseuckrkoi8_rux_cp1250ksc_5601x_cp1251iso88591csgb2312x_cp1252iso88592x_cp1253iso88593ecma_114x_cp1254iso88594x_cp1255iso88595x_x_big5x_cp1256csibm866iso88596x_cp1257iso88597asmo_708ecma_118elot_928x_cp1258iso88598iso88599cyrillicutf_16beutf_16leus_asciims_kanjix_euc_jpiso885910iso8859_1iso885911iso8859_2iso8859_3iso885913iso8859_4iso885914iso8859_5iso885915iso8859_6iso8859_7iso8859_8iso_ir_58iso8859_9csunicodeshift_jisshift_jisiso_ir_100iso8859_10iso_ir_110gb_2312_80iso_8859_1iso_8859_1iso_ir_101iso8859_11iso_8859_2iso_8859_2hz_gb_2312iso_8859_3iso_8859_3iso8859_13iso_8859_4iso_8859_4iso8859_14iso_ir_144iso_8859_5iso_8859_5iso8859_15iso_8859_6iso_8859_6iso_ir_126iso_8859_7iso_8859_7iso_ir_127iso_ir_157iso_8859_8iso_8859_8iso_ir_138iso_ir_148iso_8859_9iso_8859_9iso_ir_109iso_ir_149big5_hkscscsshiftjisiso_8859_10iso_8859_11csisolatin1csisolatin2iso_8859_13csisolatin3iso_8859_14csisolatin4iso_8859_15iso_8859_15csisolatin5iso_8859_16csisolatin6windows_949csisolatin9csiso88596ecsiso88598eunicodefffeunicodefeffcsmacintoshcsiso88596icsiso88598iwindows_31jx_mac_romaniso_2022_cniso_2022_jpcsiso2022jpiso_2022_krcsiso2022kriso_8859_6_eiso_8859_8_eiso_8859_6_iiso_8859_8_isun_eu_greekcsksc56011987unicode20utf8unicode11utf8ks_c_5601_1987ansi_x3.4_1968ks_c_5601_1989csiso58gb231280iso_10646_ucs_2iso_8859_1:1987iso_8859_2:1987iso_8859_6:1987iso_8859_7:1987iso_8859_3:1988iso_8859_4:1988iso_8859_5:1988iso_8859_8:1988x_unicode20utf8iso_8859_9:1989csisolatingreekx_mac_ukrainianiso_2022_cn_extcsisolatinarabiccsisolatinhebrewunicode_1_1_utf_8csisolatincyrilliccseucpkdfmtjapanese
cmp r9, qword [r8 + r10 + 8]
ja 0x1800f3ba0
jne 0x1800f3c20
lea r10, str.l1l2l3l4l5l6l9866mackoigbkbig5utf8koi8sjisucs_2ms932cp866cp819asciix_gbkgreekcp1250cp1251latin1gb2312cp1252latin2cp1253latin3cp1254latin4cp1255csbig5latin5utf_16cp1256ibm866latin6cp1257cp1258greek8ibm819arabicvisualkoreaneuc_jpkoi8_rkoi8_reuc_krx_sjiskoi8_uhebrewtis_620ksc5601gb_2312dos_874cn_big5unicodechineselogicalcskoi8rcseuckrkoi8_rux_cp1250ksc_5601x_cp1251iso88591csgb2312x_cp1252iso88592x_cp1253iso88593ecma_114x_cp1254iso88594x_cp1255iso88595x_x_big5x_cp1256csibm866iso88596x_cp1257iso88597asmo_708ecma_118elot_928x_cp1258iso88598iso88599cyrillicutf_16beutf_16leus_asciims_kanjix_euc_jpiso885910iso8859_1iso885911iso8859_2iso8859_3iso885913iso8859_4iso885914iso8859_5iso885915iso8859_6iso8859_7iso8859_8iso_ir_58iso8859_9csunicodeshift_jisshift_jisiso_ir_100iso8859_10iso_ir_110gb_2312_80iso_8859_1iso_8859_1iso_ir_101iso8859_11iso_8859_2iso_8859_2hz_gb_2312iso_8859_3iso_8859_3iso8859_13iso_8859_4iso_8859_4iso8859_14iso_ir_144iso_8859_5iso_8859_5iso8859_15iso_8859_6iso_8859_6iso_ir_126iso_8859_7iso_8859_7iso_ir_127iso_ir_157iso_8859_8iso_8859_8iso_ir_138iso_ir_148iso_8859_9iso_8859_9iso_ir_109iso_ir_149big5_hkscscsshiftjisiso_8859_10iso_8859_11csisolatin1csisolatin2iso_8859_13csisolatin3iso_8859_14csisolatin4iso_8859_15iso_8859_15csisolatin5iso_8859_16csisolatin6windows_949csisolatin9csiso88596ecsiso88598eunicodefffeunicodefeffcsmacintoshcsiso88596icsiso88598iwindows_31jx_mac_romaniso_2022_cniso_2022_jpcsiso2022jpiso_2022_krcsiso2022kriso_8859_6_eiso_8859_8_eiso_8859_6_iiso_8859_8_isun_eu_greekcsksc56011987unicode20utf8unicode11utf8ks_c_5601_1987ansi_x3.4_1968ks_c_5601_1989csiso58gb231280iso_10646_ucs_2iso_8859_1:1987iso_8859_2:1987iso_8859_6:1987iso_8859_7:1987iso_8859_3:1988iso_8859_4:1988iso_8859_5:1988iso_8859_8:1988x_unicode20utf8iso_8859_9:1989csisolatingreekx_mac_ukrainianiso_2022_cn_extcsisolatinarabiccsisolatinhebrewunicode_1_1_utf_8csisolatincyrilliccseucpkdfmtjapanese
mov r8, qword [r8 + r10]
mov r10, r9
nop dword [rax]
test r10, r10
je 0x1800f3c32
movzx ebx, byte [rsp + r10 + 0x5f]
xor r11d, r11d
cmp bl, byte [r8 + r10 - 1]
setne r11b
mov ebx, 0xff
cmova r11d, ebx
dec r10
test r11b, r11b
je 0x1800f3be0
movzx r8d, r11b
cmp r8d, 1
je 0x1800f3c20
cmp r8d, 0xff
je 0x1800f3ba0
jmp 0x1800f3c32
mov rax, rcx
mov rcx, rax
sub rcx, rdx
ja 0x1800f3bae
xor eax, eax
jmp 0x1800f38a0
lea rax, [0x1801b5968]
mov rax, qword [rax + rcx*8]
jmp 0x1800f38a0
lea r11d, [r9 - 0x61]
cmp r11b, 0x1a
jb case.0x1800f387d.45
lea r11d, [r9 - 0x30]
cmp r11b, 0xa
jae 0x1800f388e
jmp case.0x1800f387d.45
mov eax, esi
mov r8, rcx
shl r8, 0x10
movzx r9d, sil
shl r9, 8
lea rax, [r8 + r9]
movzx esi, byte [rsp + 0x48]
or rax, rsi
mov qword [rsp + 0xe0], rax
cmp r12, 2
je 0x1800f401a
cmp r12, 1
jne 0x1800f4039
test rdi, rdi
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xb8], rsi
je 0x1800f4168
js 0x1800f53b7
mov r15, r8
mov rax, qword [0x180219958]
test rax, rax
mov r13d, dword [rsp + 0x40]
jne 0x1800f3ce5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f4ed5
mov qword [0x180219958], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x1800f4175
jmp 0x1800f4ed5
add rax, r13
mov rcx, rax
add r13, rdi
nop dword [rax]
movzx eax, byte [rcx]
lea edx, [rax - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
mov byte [rcx], dl
lea rax, [rcx + 1]
mov rcx, rax
cmp rax, r13
jne 0x1800f3d10
mov r13d, dword [rsp + 0x40]
mov rcx, r11
shr rcx, 8
mov rax, r11
shr rax, 0x10
mov r12d, 2
mov dl, 1
cmp r10, 2
je 0x1800f3805
shl rax, 0x10
movzx ecx, cl
shl rcx, 8
or rcx, rax
movzx eax, r11b
or rax, rcx
mov qword [rsp + 0x338], r10
mov qword [rsp + 0x340], rax
mov qword [rsp + 0x348], r12
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x350], rax
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x358], rbx
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x360], rax
mov r11, qword [rsp + 0xb8]
mov qword [rsp + 0x368], r11
mov byte [rsp + 0x370], dl
mov eax, dword [0x1801d9b74]
lea rcx, [rsp + 0x1f8]
mov dword [rcx + 0x17c], eax
mov eax, dword [0x1801d9b71]
mov dword [rcx + 0x179], eax
mov qword [rsp + 0x378], rsi
mov qword [rsp + 0x380], rdi
mov qword [rsp + 0x388], rdi
mov qword [rsp + 0x390], rbp
shl r11, 5
add r11, rbx
mov rdx, rdi
mov r9, rsi
nop word cs:[rax + rax]
mov rcx, r9
test r12, r12
je 0x1800f3e80
cmp r12, 1
jne 0x1800f3811
cmp r11, rbx
je 0x1800f3811
mov rax, qword [rbx]
mov r10, qword [rbx + 8]
lea r8, [rsp + 0x370]
movzx ebp, byte [r8]
test bpl, bpl
cmove rdx, rdi
mov r15, r10
sub r15, rax
jb 0x1800f562a
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx + 0x18]
test rax, rax
je 0x1800f3ea8
cmp rax, rdx
jae 0x1800f3ea2
cmp byte [rcx + rax], 0xc0
jge 0x1800f3ea8
jmp 0x1800f562a
mov r12d, 2
mov r10d, 5
lea rax, [0x1801dc9f4]
lea r8, [0x1801dc9fb]
mov r9, rcx
jmp 0x1800f3f3b
jne 0x1800f562a
test r10, r10
je 0x1800f3ec4
cmp r10, rdx
jae 0x1800f3ebe
cmp byte [rcx + r10], 0xbf
jg 0x1800f3ec4
jmp 0x1800f562a
jne 0x1800f562a
test bpl, bpl
mov rdx, rdi
cmove rdx, rdi
mov r10, r9
sub r10, r8
jb 0x1800f5637
test r8, r8
je 0x1800f3ef6
cmp r8, rdx
jae 0x1800f3ef0
cmp byte [rsi + r8], 0xc0
jge 0x1800f3ef6
jmp 0x1800f5637
jne 0x1800f5637
test r9, r9
je 0x1800f3f12
cmp r9, rdx
jae 0x1800f3f0c
cmp byte [rsi + r9], 0xbf
jg 0x1800f3f12
jmp 0x1800f5637
jne 0x1800f5637
add rbx, 0x20
mov r12d, 1
mov rdx, rdi
mov r9, rsi
cmp r15, 7
jne 0x1800f3e20
add rcx, rax
add r8, rsi
mov rax, rcx
mov r9, rsi
mov rdx, rdi
movzx ecx, byte [rax]
lea ebp, [rcx - 0x41]
cmp bpl, 0x1a
setb bpl
shl bpl, 5
or bpl, cl
cmp bpl, 0x63
jne 0x1800f3e20
movzx ecx, byte [rax + 1]
lea ebp, [rcx - 0x41]
cmp bpl, 0x1a
setb bpl
shl bpl, 5
or bpl, cl
cmp bpl, 0x68
jne 0x1800f3e20
movzx ecx, byte [rax + 2]
lea ebp, [rcx - 0x41]
cmp bpl, 0x1a
setb bpl
shl bpl, 5
or bpl, cl
cmp bpl, 0x61
jne 0x1800f3e20
movzx ecx, byte [rax + 3]
lea ebp, [rcx - 0x41]
cmp bpl, 0x1a
setb bpl
shl bpl, 5
or bpl, cl
cmp bpl, 0x72
jne 0x1800f3e20
movzx ecx, byte [rax + 4]
lea ebp, [rcx - 0x41]
cmp bpl, 0x1a
setb bpl
shl bpl, 5
or bpl, cl
cmp bpl, 0x73
jne 0x1800f3e20
movzx ecx, byte [rax + 5]
lea ebp, [rcx - 0x41]
cmp bpl, 0x1a
setb bpl
shl bpl, 5
or bpl, cl
cmp bpl, 0x65
jne 0x1800f3e20
movzx eax, byte [rax + 6]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x74
jne 0x1800f3e20
jmp 0x1800f3814
cmp qword [rsp + 0x118], rdi
jae 0x1800f40c8
cmp byte [rbx + r13 - 9], 0xbf
jg 0x1800f40d8
jmp 0x1800f5697
test rdi, rdi
mov r13d, dword [rsp + 0x40]
je 0x1800f41b8
js 0x1800f53b7
mov r15, rdx
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800f4072
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f4ed5
mov qword [0x180219958], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f4ed5
mov r13, rax
mov rsi, rax
mov rcx, r13
mov rdx, rbx
mov r8, rdi
call fcn.180170ea0
mov rcx, r13
cmp rdi, 8
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x58]
jb 0x1800f48fa
cmp rdi, 0x20
jae 0x1800f42dd
xor eax, eax
jmp 0x1800f43f3
mov rax, r13
sub rax, rdi
cmp rax, 9
jne 0x1800f5697
mov rdi, qword [rsp + 0x118]
test rdi, rdi
js 0x1800f53b7
mov rax, qword [0x180219958]
test rax, rax
jne 0x1800f410b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f5684
mov qword [0x180219958], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f5684
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call fcn.180170ea0
mov rcx, rsi
cmp rdi, 8
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x58]
jb 0x1800f48a9
cmp rdi, 0x20
jae 0x1800f41ee
xor eax, eax
jmp 0x1800f426e
mov eax, 2
jmp 0x1800f3770
mov r15, r8
mov esi, 1
mov r13d, dword [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.180170ea0
cmp qword [rsp + 0xe0], 0
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x58]
je 0x1800f44f5
mov r9, qword [rsp + 0xe0]
cmp r9, rdi
jae 0x1800f41c2
cmp byte [rsi + r9], 0xbf
jg 0x1800f41c8
jmp 0x1800f56ae
mov esi, 1
jmp 0x1800f4924
jne 0x1800f56ae
mov rcx, rsi
cmp r9, 8
jb 0x1800f44c1
mov rdx, qword [rsp + 0xe0]
cmp rdx, 0x20
jae 0x1800f4359
xor eax, eax
jmp 0x1800f4457
mov rax, rdi
and rax, 0xffffffffffffffe0
mov rcx, r15
and rcx, 0xffffffffffffffe0
xor edx, edx
movdqu xmm0, xmmword [rsi + rdx]
movdqu xmm1, xmmword [rsi + rdx + 0x10]
movdqa xmm2, xmm0
paddb xmm2, xmm10
movdqa xmm3, xmm1
paddb xmm3, xmm10
movdqa xmm4, xmm2
pminub xmm4, xmm11
pcmpeqb xmm4, xmm2
pand xmm4, xmm12
movdqa xmm2, xmm3
pminub xmm2, xmm11
pcmpeqb xmm2, xmm3
pand xmm2, xmm12
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [rsi + rdx], xmm4
movdqu xmmword [rsi + rdx + 0x10], xmm2
add rdx, 0x20
cmp rcx, rdx
jne 0x1800f41fe
cmp rdi, rax
je 0x1800f48e5
test dil, 0x18
je 0x1800f48a3
mov rdx, rdi
and rdx, 0xfffffffffffffff8
lea rcx, [rsi + rdx]
and r15, 0xfffffffffffffff8
movq xmm0, qword [rsi + rax]
movdqa xmm1, xmm0
paddb xmm1, xmm7
movdqa xmm2, xmm1
pmaxub xmm2, xmm8
pcmpeqb xmm2, xmm1
pandn xmm2, xmm9
por xmm2, xmm0
movq qword [rsi + rax], xmm2
add rax, 8
cmp r15, rax
jne 0x1800f427d
cmp rdi, rdx
jne 0x1800f48a9
jmp 0x1800f48e5
mov r10, qword [rsp + 0x58]
mov r9, rdx
jmp 0x1800f3784
mov eax, 1
mov qword [rsp + 0x48], rax
mov r9, rdx
mov esi, ecx
jmp 0x1800f3784
mov rax, rdi
and rax, 0xffffffffffffffe0
xor ecx, ecx
movdqu xmm0, xmmword [rsi + rcx]
movdqu xmm1, xmmword [rsi + rcx + 0x10]
movdqa xmm2, xmm0
paddb xmm2, xmm10
movdqa xmm3, xmm1
paddb xmm3, xmm10
movdqa xmm4, xmm2
pminub xmm4, xmm11
pcmpeqb xmm4, xmm2
pand xmm4, xmm12
movdqa xmm2, xmm3
pminub xmm2, xmm11
pcmpeqb xmm2, xmm3
pand xmm2, xmm12
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [rsi + rcx], xmm4
movdqu xmmword [rsi + rcx + 0x10], xmm2
add rcx, 0x20
cmp rax, rcx
jne 0x1800f42e6
cmp rdi, rax
jne 0x1800f43e9
mov rdx, r15
mov r13d, dword [rsp + 0x40]
jmp 0x1800f4924
mov rcx, qword [rsp + 0x48]
and ecx, 0x1f
mov rax, rdx
sub rax, rcx
xor edx, edx
movdqu xmm0, xmmword [rsi + rdx]
movdqu xmm1, xmmword [rsi + rdx + 0x10]
movdqa xmm2, xmm0
paddb xmm2, xmm10
movdqa xmm3, xmm1
paddb xmm3, xmm10
movdqa xmm4, xmm2
pminub xmm4, xmm11
pcmpeqb xmm4, xmm2
pand xmm4, xmm12
movdqa xmm2, xmm3
pminub xmm2, xmm11
pcmpeqb xmm2, xmm3
pand xmm2, xmm12
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [rsi + rdx], xmm4
movdqu xmmword [rsi + rdx + 0x10], xmm2
add rdx, 0x20
cmp rax, rdx
jne 0x1800f4369
test rcx, rcx
je 0x1800f44f5
cmp ecx, 8
jae 0x1800f444f
add rax, rsi
mov rcx, rax
jmp 0x1800f44c1
mov r10, qword [rsp + 0x58]
jmp 0x1800f3784
test dil, 0x18
je 0x1800f48f4
mov rdx, rdi
and rdx, 0xfffffffffffffff8
lea rcx, [rdx + r13]
movq xmm0, qword [rsi + rax]
movdqa xmm1, xmm0
paddb xmm1, xmm7
movdqa xmm2, xmm1
pmaxub xmm2, xmm8
pcmpeqb xmm2, xmm1
pandn xmm2, xmm9
por xmm2, xmm0
movq qword [rsi + rax], xmm2
add rax, 8
cmp rdx, rax
jne 0x1800f43fe
cmp rdi, rdx
jne 0x1800f48fa
jmp 0x1800f491c
mov sil, 0x20
mov eax, 3
mov qword [rsp + 0x48], rax
jmp 0x1800f3784
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x48]
and r9d, 7
mov rcx, rdx
sub rcx, r9
add rcx, rsi
lea rdx, [rsi + rax]
add r15, qword [rsp + 0xa8]
add r15, qword [rsp + 0xb8]
sub r15, rax
mov r8, r9
sub r15, r9
mov r9, r15
xor eax, eax
movq xmm0, qword [rdx + rax]
movdqa xmm1, xmm0
paddb xmm1, xmm7
movdqa xmm2, xmm1
pmaxub xmm2, xmm8
pcmpeqb xmm2, xmm1
pandn xmm2, xmm9
por xmm2, xmm0
movq qword [rdx + rax], xmm2
add rax, 8
cmp r9, rax
jne 0x1800f448b
test r8, r8
je 0x1800f44f5
mov rax, qword [rsp + 0xe0]
add rax, rsi
nop dword [rax]
movzx edx, byte [rcx]
lea r8d, [rdx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
or r8b, dl
mov byte [rcx], r8b
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, rax
jne 0x1800f44d0
mov rax, qword [rsp + 0x140]
test rax, rax
je 0x1800f48ea
shl rax, 5
mov rdx, qword [rsp + 0xd8]
add rax, rdx
lea rcx, [rsi + 0x10]
mov qword [rsp + 0xa8], rcx
jmp 0x1800f454a
add rdx, 0x20
cmp rdx, rax
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x58]
je 0x1800f48ea
mov r8, qword [rdx]
mov r9, qword [rdx + 8]
cmp r9, r8
jb 0x1800f5666
test r8, r8
je 0x1800f4576
cmp r8, rdi
jae 0x1800f4570
cmp byte [rsi + r8], 0xc0
jge 0x1800f4576
jmp 0x1800f5666
jne 0x1800f5666
test r9, r9
je 0x1800f4592
cmp r9, rdi
jae 0x1800f458c
cmp byte [rsi + r9], 0xbf
jg 0x1800f4592
jmp 0x1800f5666
jne 0x1800f5666
lea r10, [rsi + r8]
lea rbx, [rsi + r9]
mov r11, r9
sub r11, r8
je 0x1800f46c8
mov r13, r10
cmp r11, 8
jb 0x1800f46a0
cmp r11, 0x20
jae 0x1800f45c1
xor r15d, r15d
jmp 0x1800f4652
mov r15, r11
and r15, 0xffffffffffffffe0
mov rcx, qword [rsp + 0xa8]
lea r13, [rcx + r8]
xor ecx, ecx
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r13 + rcx - 0x10]
movdqu xmm1, xmmword [r13 + rcx]
movdqa xmm2, xmm0
paddb xmm2, xmm10
movdqa xmm3, xmm1
paddb xmm3, xmm10
movdqa xmm4, xmm2
pminub xmm4, xmm11
pcmpeqb xmm4, xmm2
pand xmm4, xmm12
movdqa xmm2, xmm3
pminub xmm2, xmm11
pcmpeqb xmm2, xmm3
pand xmm2, xmm12
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [r13 + rcx - 0x10], xmm4
movdqu xmmword [r13 + rcx], xmm2
add rcx, 0x20
cmp r15, rcx
jne 0x1800f45e0
cmp r11, r15
je 0x1800f46c8
test r11b, 0x18
je 0x1800f469a
mov rcx, r11
and rcx, 0xfffffffffffffff8
lea r13, [r10 + rcx]
nop dword [rax]
movq xmm0, qword [r10 + r15]
movdqa xmm1, xmm0
paddb xmm1, xmm7
movdqa xmm2, xmm1
pmaxub xmm2, xmm8
pcmpeqb xmm2, xmm1
pandn xmm2, xmm9
por xmm2, xmm0
movq qword [r10 + r15], xmm2
add r15, 8
cmp rcx, r15
jne 0x1800f4660
cmp r11, rcx
jne 0x1800f46a0
jmp 0x1800f46c8
add r15, r10
mov r13, r15
movzx ecx, byte [r13]
lea r15d, [rcx - 0x41]
cmp r15b, 0x1a
setb r15b
shl r15b, 5
or r15b, cl
mov byte [r13], r15b
lea rcx, [r13 + 1]
mov r13, rcx
cmp rcx, rbx
jne 0x1800f46a0
test r8, r8
mov r13d, dword [rsp + 0x40]
je 0x1800f46e8
cmp r8, rdi
jae 0x1800f46e2
cmp byte [r10], 0xc0
jge 0x1800f46e8
jmp 0x1800f5666
jne 0x1800f5666
test r9, r9
je 0x1800f4702
cmp r9, rdi
jae 0x1800f46fc
cmp byte [rbx], 0xbf
jg 0x1800f4702
jmp 0x1800f5666
jne 0x1800f5666
cmp r11, 7
jne 0x1800f4530
mov ecx, dword [r10]
mov r8d, 0x72616863
xor ecx, r8d
mov r8d, dword [r10 + 3]
mov r9d, 0x74657372
xor r8d, r9d
or r8d, ecx
jne 0x1800f4530
mov r8, qword [rdx + 0x10]
mov r9, qword [rdx + 0x18]
cmp r9, r8
jb 0x1800f5666
test r8, r8
je 0x1800f475b
cmp r8, rdi
jae 0x1800f4755
cmp byte [rsi + r8], 0xc0
jge 0x1800f475b
jmp 0x1800f5666
jne 0x1800f5666
test r9, r9
je 0x1800f4777
cmp r9, rdi
jae 0x1800f4771
cmp byte [rsi + r9], 0xbf
jg 0x1800f4777
jmp 0x1800f5666
jne 0x1800f5666
mov r10, r9
sub r10, r8
je 0x1800f4530
lea r11, [rsi + r8]
cmp r10, 8
jae 0x1800f4795
mov r8, r11
jmp 0x1800f486c
cmp r10, 0x20
jae 0x1800f47a2
xor ebx, ebx
jmp 0x1800f4823
mov rbx, r10
and rbx, 0xffffffffffffffe0
add r8, qword [rsp + 0xa8]
xor ecx, ecx
movdqu xmm0, xmmword [r8 + rcx - 0x10]
movdqu xmm1, xmmword [r8 + rcx]
movdqa xmm2, xmm0
paddb xmm2, xmm10
movdqa xmm3, xmm1
paddb xmm3, xmm10
movdqa xmm4, xmm2
pminub xmm4, xmm11
pcmpeqb xmm4, xmm2
pand xmm4, xmm12
movdqa xmm2, xmm3
pminub xmm2, xmm11
pcmpeqb xmm2, xmm3
pand xmm2, xmm12
por xmm4, xmm0
por xmm2, xmm1
movdqu xmmword [r8 + rcx - 0x10], xmm4
movdqu xmmword [r8 + rcx], xmm2
add rcx, 0x20
cmp rbx, rcx
jne 0x1800f47b3
cmp r10, rbx
je 0x1800f4530
test r10b, 0x18
je 0x1800f489b
mov rcx, r10
and rcx, 0xfffffffffffffff8
lea r8, [r11 + rcx]
nop
movq xmm0, qword [r11 + rbx]
movdqa xmm1, xmm0
paddb xmm1, xmm7
movdqa xmm2, xmm1
pmaxub xmm2, xmm8
pcmpeqb xmm2, xmm1
pandn xmm2, xmm9
por xmm2, xmm0
movq qword [r11 + rbx], xmm2
add rbx, 8
cmp rcx, rbx
jne 0x1800f4830
cmp r10, rcx
je 0x1800f4530
add r9, rsi
nop
movzx ecx, byte [r8]
lea r10d, [rcx - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
or r10b, cl
mov byte [r8], r10b
lea rcx, [r8 + 1]
mov r8, rcx
cmp rcx, r9
jne 0x1800f4870
jmp 0x1800f4530
add r11, rbx
jmp 0x1800f478d
add rax, rsi
mov rcx, rax
lea rax, [rsi + r13]
add rax, 0xfffffffffffffff7
nop word cs:[rax + rax]
movzx edx, byte [rcx]
lea r8d, [rdx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
or r8b, dl
mov byte [rcx], r8b
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, rax
jne 0x1800f48c0
mov r13d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0xd0]
jmp 0x1800f4924
add rax, r13
mov rcx, rax
add r13, rdi
movzx eax, byte [rcx]
lea edx, [rax - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
mov byte [rcx], dl
lea rax, [rcx + 1]
mov rcx, rax
cmp rax, r13
jne 0x1800f48fd
mov r13d, dword [rsp + 0x40]
mov rdx, r15
mov rcx, r11
shr rcx, 8
mov rax, r11
shr rax, 0x10
mov r8, qword [rsp + 0xd8]
mov qword [rsp + 0xa8], r8
mov r8, qword [rsp + 0x140]
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0x120], rdx
mov dl, 1
cmp r10, 2
je 0x1800f3805
jmp 0x1800f3d54
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
movdqu xmm0, xmmword [rsp + 0x78]
movdqa xmmword [rsp + 0x1e0], xmm0
mov rcx, rsi
call fcn.1800f2750
test r13, r13
je 0x1800f49e2
movdqa xmm0, xmmword [rsp + 0x1e0]
movdqu xmmword [rsp + 0x1d0], xmm0
mov qword [rsp + 0x1c0], r13
mov qword [rsp + 0x1c8], r12
mov rsi, qword [rsp + 0x398]
mov rdi, qword [rsp + 0x1d0]
cmp rdi, 3
mov r14, qword [rsp + 0xe8]
jae 0x1800f4a00
cmp rdi, 2
je 0x1800f4a1f
mov rbp, rdi
mov rdx, r12
jmp 0x1800f4b46
cmp dword [rsp + 0x338], 2
mov r14, qword [rsp + 0xe8]
jne 0x1800f4acd
mov rsi, r12
jmp 0x1800f546a
movzx eax, word [r12]
xor eax, 0xbbef
movzx ecx, byte [r12 + 2]
xor ecx, 0xbf
or cx, ax
je 0x1800f4b2e
movzx eax, word [r12]
cmp eax, 0xfeff
je 0x1800f4b20
cmp word [r12], 0xfffe
mov rbp, rdi
mov rdx, r12
jne 0x1800f4b46
lea rsi, [0x1801b4078]
mov edx, 2
jmp 0x1800f4b3d
movzx eax, byte [rsp + 0x588]
cmp eax, 3
je 0x1800f4be7
test eax, eax
mov r14, qword [rsp + 0xe8]
jne 0x1800f4c05
lea rcx, [rsp + 0x1f8]
call fcn.18007a830
lea rcx, [rsp + 0x258]
call fcn.1800437e0
lea rcx, [rsp + 0x268]
call fcn.180080a40
mov r8, qword [rsp + 0x288]
cmp qword [r8 + 0x18], 0
je 0x1800f4d70
mov r8, qword [r8 + 0x10]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rsp + 0x288]
jmp 0x1800f4d70
cmp byte [rsp + 0x370], 0
je 0x1800f4af9
cmp qword [rsp + 0x380], 0
je 0x1800f4af9
mov r8, qword [rsp + 0x378]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rsp + 0x348], 1
jne 0x1800f49f8
cmp qword [rsp + 0x360], 0
je 0x1800f49f8
xor ebx, ebx
mov rsi, r12
jmp 0x1800f544e
lea rax, [0x1801db358]
mov edx, 2
jmp 0x1800f4b3a
lea rax, [0x1801db350]
mov edx, 3
mov rsi, qword [rax]
mov rbp, rdi
sub rbp, rdx
add rdx, r12
lea rax, [0x1801b40a0]
cmp rsi, rax
mov qword [rsp + 0x98], rdx
je 0x1800f4bad
lea rax, [0x1801b4150]
cmp rsi, rax
je 0x1800f4bad
lea rax, [0x1801b4078]
cmp rsi, rax
je 0x1800f4bad
lea rax, [0x1801b40c8]
cmp rsi, rax
je 0x1800f4bcc
lea rax, [0x1801b3d60]
cmp rsi, rax
je 0x1800f4c0e
mov r15d, edx
neg r15d
and r15d, 7
lea rax, [r15 + 0x10]
cmp rax, rbp
jbe 0x1800f4c4f
xor r15d, r15d
jmp 0x1800f4cf4
movzx ecx, byte [rsi]
mov al, 9
lea rdx, [0x1800f59c4]
movsxd r8, dword [rdx + rcx*4]
add r8, rdx
jmp r8
mov al, 2
xor edx, edx
jmp case.0x1800f4bc0.12
mov rcx, rdx
mov rdx, rbp
call fcn.180032d40
mov rdx, qword [rsp + 0x98]
mov r15, rax
jmp 0x1800f4fa2
mov rcx, rsi
call fcn.1800f2750
cmp dword [rsp + 0x338], 2
mov r14, qword [rsp + 0xe8]
jne 0x1800f4d18
xor ebx, ebx
xor esi, esi
jmp 0x1800f546c
xor ecx, ecx
mov eax, 0x800c000
nop word cs:[rax + rax]
cmp rbp, rcx
je 0x1800f4faa
mov r15, rcx
movzx r8d, byte [rdx + rcx]
test r8b, r8b
js 0x1800f4fa2
lea rcx, [r15 + 1]
cmp r8d, 0x1b
ja 0x1800f4c20
bt eax, r8d
jae 0x1800f4c20
jmp 0x1800f4fa2
test r15, r15
je 0x1800f4cbd
cmp byte [rdx], 0
js 0x1800f4f72
cmp r15d, 1
je 0x1800f4cbd
cmp byte [rdx + 1], 0
js 0x1800f4f8a
cmp r15d, 2
je 0x1800f4cbd
cmp byte [rdx + 2], 0
js 0x1800f55fe
cmp r15d, 3
je 0x1800f4cbd
cmp byte [rdx + 3], 0
js 0x1800f5609
cmp r15d, 4
je 0x1800f4cbd
cmp byte [rdx + 4], 0
js 0x1800f5614
cmp r15d, 5
je 0x1800f4cbd
cmp byte [rdx + 5], 0
js 0x1800f561f
cmp r15d, 6
je 0x1800f4cbd
cmp byte [rdx + 6], 0
js 0x1800f564a
lea rax, [rbp - 0x10]
movabs rcx, 0x8080808080808080
nop dword [rax + rax]
mov r10, qword [rdx + r15]
and r10, rcx
mov r8, qword [rdx + r15 + 8]
and r8, rcx
mov r9, r8
or r9, r10
jne 0x1800f4f62
add r15, 0x10
cmp r15, rax
jbe 0x1800f4cd0
cmp r15, rbp
jae 0x1800f4faa
nop dword [rax]
cmp byte [rdx + r15], 0
js 0x1800f4fa2
inc r15
cmp rbp, r15
jne 0x1800f4d00
jmp 0x1800f4faa
cmp byte [rsp + 0x370], 0
je 0x1800f4d44
cmp qword [rsp + 0x380], 0
je 0x1800f4d44
mov r8, qword [rsp + 0x378]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ebx, ebx
cmp dword [rsp + 0x348], 1
jne 0x1800f4f77
cmp qword [rsp + 0x360], 0
mov esi, 0
je 0x1800f546c
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x180219958]
xor ebx, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor esi, esi
jmp 0x1800f546c
mov rdx, qword [rsi + 8]
xor eax, eax
jmp case.0x1800f4bc0.12
mov dword [rsp + 0x100], 0
mov qword [rsp + 0xf8], 0
mov al, 1
xor edx, edx
jmp case.0x1800f4bc0.12
mov al, 3
jmp case.0x1800f4bc0.12
mov al, 4
jmp case.0x1800f4bc0.12
mov al, 5
jmp case.0x1800f4bc0.12
mov al, 6
jmp case.0x1800f4bc0.12
mov al, 7
jmp case.0x1800f4bc0.12
mov al, 8
jmp case.0x1800f4bc0.12
mov al, 0xa
mov cl, 1
jmp case.0x1800f4bc0.12
mov al, 0xa
xor ecx, ecx
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x80], rsi
mov byte [rsp + 0x60], al
mov dword [rsp + 0x61], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x66], cl
mov byte [rsp + 0x67], 0
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x78], eax
mov word [rsp + 0x7c], 0xbf80
mov byte [rsp + 0x88], 9
lea rcx, [rsp + 0x60]
mov rdx, rbp
call fcn.180032a10
test rax, rax
je 0x1800f4e80
mov rsi, rax
lea rax, [rdx - 1]
bsr rcx, rax
not ecx
mov rax, 0xffffffffffffffff
shr rax, cl
inc rax
cmp rdx, 2
mov edi, 1
cmovae rdi, rax
lea rcx, [rsp + 0x60]
mov rdx, rbp
call fcn.180032ba0
cmp rsi, 1
jne 0x1800f4e8d
cmp rax, 1
jne 0x1800f4e99
cmp rdi, rdx
cmovae rdi, rdx
jmp 0x1800f4e99
lea rcx, [rsp + 0x60]
mov rdx, rbp
call fcn.180032ba0
mov rdi, rdx
test rax, rax
je 0x1800f53b7
test rdi, rdi
je 0x1800f4ee4
js 0x1800f53b7
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800f4ec5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f4ed5
mov rcx, rax
mov qword [0x180219958], rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1800f4ee9
mov ecx, 1
mov rdx, rdi
call fcn.18017ea70
ud2
mov eax, 1
mov qword [rsp + 0x120], r13
mov qword [rsp + 0xb8], r12
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmm2, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x180], xmm2
movdqa xmmword [rsp + 0x170], xmm1
movdqa xmmword [rsp + 0x160], xmm0
movdqa xmmword [rsp + 0x80], xmm2
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], 0
xor r15d, r15d
jmp 0x1800f5225
test r10, r10
je 0x1800f4f7e
tzcnt rax, r10
shr rax, 3
jmp 0x1800f4f9f
xor r15d, r15d
jmp 0x1800f4fa2
xor esi, esi
jmp 0x1800f546c
test r8, r8
je 0x1800f4f92
tzcnt rax, r8
jmp 0x1800f4f97
mov r15d, 1
jmp 0x1800f4fa2
mov eax, 0x40
shr rax, 3
add rax, 8
add r15, rax
mov rbx, rbp
sub rbx, r15
jne 0x1800f5000
test rbp, rbp
je 0x1800f5024
js 0x1800f53b7
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800f4fd6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f4ff1
mov rcx, rax
mov qword [0x180219958], rax
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
mov rdx, qword [rsp + 0x98]
and al, 0x98
add byte [rax], al
add byte [rbp + 0x38], dh
and al, 0x98
add byte [rax], al
add byte [rbp + 0x38], dh
mov ecx, 1
mov rdx, rbp
call fcn.18017ea70
ud2
mov qword [rsp + 0xa8], rdi
movzx ecx, byte [rsi]
mov al, 9
lea rdx, [0x1800f59f8]
in al, 9
add byte [rax], al
in al, 9
add byte [rax], al
movsxd r8, dword [rdx + rcx*4]
add r8, rdx
jmp r8
mov al, 2
xor ecx, ecx
jmp case.0x1800f501b.12
mov ebx, 1
mov rcx, rbx
mov r8, rbp
mov eax, ebp
mov eax, ebp
call fcn.180170ea0
mov rsi, rbp
mov esi, ebp
mov esi, 0x89480007
out dx, al
mov esi, ebp
jmp 0x1800f53f1
add eax, dword [rax]
add byte [rax - 0x75], cl
mov rcx, qword [rsi + 8]
invalid
mov rcx, qword [rsi + 8]
mov ecx, dword [rsi + 8]
xor eax, eax
jmp case.0x1800f501b.12
shr bl, 0x3f
mov dword [rsp + 0x100], 0
test byte [rax + rax], ah
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add byte [rax], al
mov qword [rsp + 0xf8], 0
mov al, 1
xor ecx, ecx
jmp case.0x1800f501b.12
mov al, 3
jmp case.0x1800f501b.12
mov al, 4
jmp case.0x1800f501b.12
mov al, 5
jmp case.0x1800f501b.12
mov al, 6
add byte [rax], al
add byte [rax], al
mov qword [rsp + 0xf8], 0
mov al, 1
xor ecx, ecx
jmp case.0x1800f501b.12
mov al, 3
jmp case.0x1800f501b.12
mov al, 4
jmp case.0x1800f501b.12
mov al, 5
jmp case.0x1800f501b.12
mov al, 6
jmp case.0x1800f501b.12
mov al, 7
jmp case.0x1800f501b.12
mov al, 8
jmp case.0x1800f501b.12
mov al, 0xa
mov dl, 1
jmp case.0x1800f501b.12
mov al, 0xa
xor edx, edx
mov qword [rsp + 0x80], rsi
mov byte [rsp + 0x60], al
mov dword [rsp + 0x61], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x66], dl
mov byte [rsp + 0x67], 0
mov qword [rsp + 0x68], rcx
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x78], eax
mov word [rsp + 0x7c], 0xbf80
mov byte [rsp + 0x88], 9
lea rcx, [rsp + 0x60]
mov rdx, rbx
call fcn.180032a10
cmp rax, 1
setne al
add rdx, r15
setb dil
or dil, al
jne 0x1800f5116
lea rax, [rdx - 1]
bsr rcx, rax
not ecx
mov rax, 0xffffffffffffffff
shr rax, cl
inc rax
cmp rdx, 2
mov r14d, 1
cmovae r14, rax
lea rcx, [rsp + 0x60]
mov rdx, rbx
call fcn.180032ba0
cmp rax, 1
jne 0x1800f5135
mov rsi, rdx
add rsi, r15
jae 0x1800f55e1
mov rsi, r14
test dil, dil
mov rdx, qword [rsp + 0x98]
jne 0x1800f53b7
test rsi, rsi
je 0x1800f519f
js 0x1800f53b7
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800f5175
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f5190
mov rcx, rax
mov qword [0x180219958], rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
mov rdx, qword [rsp + 0x98]
jne 0x1800f51a4
mov ecx, 1
mov rdx, rsi
call fcn.18017ea70
ud2
mov edi, 1
mov qword [rsp + 0x120], r13
mov qword [rsp + 0xb8], r12
mov rcx, rdi
mov r8, r15
call fcn.180170ea0
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmm2, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x180], xmm2
movdqa xmmword [rsp + 0x170], xmm1
movdqa xmmword [rsp + 0x160], xmm0
movdqa xmmword [rsp + 0x80], xmm2
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], r15
cmp rbp, r15
jb 0x1800f53b7
mov qword [rsp + 0x40], rbp
mov r12, qword [rsp + 0x100]
mov r13, qword [rsp + 0x108]
mov qword [rsp + 0xc0], r12
sub r12, r13
jb 0x1800f53b7
mov rax, qword [rsp + 0x98]
lea r14, [rax + r15]
mov rsi, rbp
sub rsi, r15
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf0], rax
lea rbx, [rax + r13]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0x60]
mov r8, r14
mov r9, rsi
call fcn.1800330e0
movzx eax, byte [rsp + 0x168]
mov rbp, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x170]
cmp eax, 1
je 0x1800f5358
cmp eax, 2
jne 0x1800f53bb
nop dword [rax]
cmp rdi, r12
jae 0x1800f53b7
mov byte [rbx + rdi], 0xef
lea rax, [rdi + 1]
cmp rax, r12
jae 0x1800f53b7
mov byte [rbx + rdi + 1], 0xbf
lea rax, [rdi + 2]
cmp rax, r12
jae 0x1800f53b7
mov byte [rbx + rax], 0xbd
cmp rbp, rsi
ja 0x1800f53b7
add rdi, 3
mov rax, r12
sub rax, rdi
jb 0x1800f53b7
lea r8, [r14 + rbp]
mov r9, rsi
sub r9, rbp
lea rcx, [rbx + rdi]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0x60]
call fcn.1800330e0
add rbp, qword [rsp + 0x160]
movzx eax, byte [rsp + 0x168]
add rdi, qword [rsp + 0x170]
cmp eax, 2
je 0x1800f52c0
test eax, eax
je 0x1800f53bb
add rdi, r13
mov qword [rsp + 0x108], rdi
add r15, rbp
mov rbp, qword [rsp + 0x40]
mov rdx, rbp
sub rdx, r15
lea rcx, [rsp + 0x60]
call fcn.180032ba0
test rax, rax
je 0x1800f53b7
mov r8, rdx
mov rax, qword [rsp + 0xc0]
sub rax, rdi
cmp rax, rdx
jb 0x1800f539e
cmp rbp, r15
jae 0x1800f522a
jmp 0x1800f53b7
lea rcx, [rsp + 0xf8]
mov rdx, rdi
call fcn.18017ec30
cmp rbp, r15
jae 0x1800f522a
ud2
mov r14, qword [rsp + 0xe8]
add rdi, r13
mov rbp, rdi
mov r12, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x120]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xf0]
lea rcx, [rsp + 0x1d8]
mov rdx, r12
mov r8, rdi
call qword [r13 + 0x10]
cmp dword [rsp + 0x338], 2
je 0x1800f5465
cmp byte [rsp + 0x370], 0
je 0x1800f5439
cmp qword [rsp + 0x380], 0
je 0x1800f5439
mov r8, qword [rsp + 0x378]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rsp + 0x348], 1
jne 0x1800f5465
cmp qword [rsp + 0x360], 0
je 0x1800f5465
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
jne 0x1800f546c
xor ebx, ebx
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
call qword [rax + 0x18]
test rbx, rbx
je 0x1800f54ac
mov rax, qword [rsp + 0x148]
mov qword [rax], rbx
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rbp
mov rsi, qword [r14 + 0xa8]
test rsi, rsi
jne 0x1800f552e
jmp 0x1800f555e
test rsi, rsi
jne 0x1800f550f
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800f54d6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800f5673
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x70
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800f5673
mov rsi, rax
mov dword [rax], 2
mov qword [rax + 0x58], 1
lea rax, [0x1801db940]
mov qword [rsi + 0x60], rax
mov word [rsi + 0x68], 5
mov rax, qword [rsp + 0x148]
mov qword [rax + 8], rsi
mov qword [rax], 0
mov rsi, qword [r14 + 0xa8]
test rsi, rsi
je 0x1800f555e
mov rdi, qword [r14 + 0xb0]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1800f555e
cmp qword [rdi + 0x10], 0x11
jb 0x1800f554c
mov rsi, qword [rsi - 8]
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [r14 + 0xb8]
test rcx, rcx
je 0x1800f5575
lock dec qword [rcx]
jne 0x1800f5575
call fcn.1800eef20
movaps xmm6, xmmword [rsp + 0x910]
movaps xmm7, xmmword [rsp + 0x920]
movaps xmm8, xmmword [rsp + 0x930]
movaps xmm9, xmmword [rsp + 0x940]
movaps xmm10, xmmword [rsp + 0x950]
movaps xmm11, xmmword [rsp + 0x960]
movaps xmm12, xmmword [rsp + 0x970]
movaps xmm13, xmmword [rsp + 0x980]
movaps xmm14, xmmword [rsp + 0x990]
movaps xmm15, xmmword [rsp + 0x9a0]
add rsp, 0x9b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test dil, dil
mov rdx, qword [rsp + 0x98]
jne 0x1800f5149
cmp r14, rsi
cmovb rsi, r14
jmp 0x1800f5149
mov r15d, 2
jmp 0x1800f4fa2
mov r15d, 3
jmp 0x1800f4fa2
mov r15d, 4
jmp 0x1800f4fa2
mov r15d, 5
jmp 0x1800f4fa2
mov r8, rax
mov r9, r10
call fcn.18017ece0
ud2
mov rcx, rsi
call fcn.18017ece0
ud2
call fcn.18016fe79
ud2
mov r15d, 6
jmp 0x1800f4fa2
mov ecx, 8
mov edx, 0x18
call fcn.18017ea70
ud2
mov rcx, rsi
mov rdx, rdi
call fcn.18017ece0
ud2
mov ecx, 8
mov edx, 0x70
call fcn.18017ea70
ud2
add r13, 0xfffffffffffffff7
mov ecx, 1
mov rdx, r13
call fcn.18017ea70
ud2
add r13, 0xfffffffffffffff7
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
mov r9, r13
call fcn.18017ece0
ud2
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call fcn.18017ece0
ud2
mov ecx, 8
mov edx, 0x20
call fcn.18017ea70
ud2
mov ecx, 8
mov edx, 0x40
call fcn.18017ea70
ud2
mov rcx, rbx
mov rdx, rdi
mov r8, qword [rsp + 0x138]
call fcn.18017ece0
ud2
mov rcx, rbx
mov rdx, rdi
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
call fcn.18017ece0
ud2