Function at 0x14002aa14
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x598
movdqa xmmword [rsp + 0x580], xmm7
movaps xmmword [rsp + 0x570], xmm6
mov r14, rdx
mov rbx, rcx
mov rdx, qword [rdx + 0x50]
mov r8, qword [r14 + 0x60]
lea rsi, [rsp + 0xf0]
mov rcx, rsi
xor r9d, r9d
call fcn.1400287df
mov eax, dword [rsi]
cmp eax, 3
jne 0x14002aa87
mov rax, qword [rsp + 0x108]
movups xmm0, xmmword [rsp + 0xf8]
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
mov rcx, r14
call fcn.140024b2f
jmp 0x14002abaf
movups xmm0, xmmword [rsp + 0xf4]
movups xmm1, xmmword [rsp + 0x100]
movups xmm2, xmmword [rsp + 0x110]
movups xmm3, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x7c], xmm1
movaps xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0xb0], xmm2
movups xmmword [rsp + 0xc0], xmm3
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rsp + 0xd0], xmm0
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0xe0], rcx
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x94], xmm0
movups xmm0, xmmword [rsp + 0x7c]
movups xmmword [rsp + 0xa0], xmm0
mov dword [rsp + 0x90], eax
mov rsi, qword [r14 + 0x78]
test rsi, rsi
je 0x14002ab4b
lea rdi, [rsp + 0xb0]
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov cl, 0x3f
call fcn.14002a5ed
test rax, rax
mov eax, 0x3f
mov edx, 0x26
cmove edx, eax
mov rcx, rdi
call fcn.140027ecc
mov rdx, qword [r14 + 0x68]
add rsi, rdx
mov rcx, rdi
mov r8, rsi
call fcn.14001b1d4
lea rdi, [rsp + 0x1a0]
lea rsi, [rsp + 0x90]
mov ecx, 0xb
rep movsq qword [rdi], qword [rsi]
mov r15, qword [r14]
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [r14 + 8]
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [r14 + 0x20]
lea rsi, [rsp + 0xf0]
mov r8d, 0xb0
mov rcx, rsi
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x328]
mov r8d, 0x108
mov rdx, rsi
call sub.msvcrt.dll_memcpy
cmp r15, 2
jne 0x14002abfc
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x320], rax
movdqa xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x310], xmm0
mov qword [rbx + 0x18], rax
movdqu xmmword [rbx + 8], xmm0
and qword [rbx], 0
movaps xmm6, xmmword [rsp + 0x570]
movaps xmm7, xmmword [rsp + 0x580]
add rsp, 0x598
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add r14, 8
lea rsi, [rsp + 0x450]
lea rdx, [rsp + 0x328]
mov r8d, 0x108
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov qword [rsi + 0x108], 8
xorps xmm0, xmm0
movups xmmword [rsi + 0x110], xmm0
movdqu xmm0, xmmword [r14]
movdqu xmmword [rsi - 0x18], xmm0
mov rax, qword [r14 + 0x10]
mov qword [rsi - 8], rax
mov qword [rsi - 0x20], r15
cmp byte [rsi + 0x100], 0
je 0x14002ac70
mov qword [rbx + 8], 0xd
and qword [rbx], 0
lea rcx, [rsp + 0x430]
call fcn.14002456a
jmp 0x14002abd8
lea rsi, [rsp + 0x460]
lea rdx, [0x14008bd60]
mov rcx, rsi
call fcn.140027cf4
mov edi, eax
mov r12, qword [rsi - 0x28]
mov rsi, r12
test r15, r15
je 0x14002acad
call fcn.14003f7a1
mov r14, rax
add r14, rsi
jb 0x14002b687
mov ebp, edx
jmp 0x14002ad50
lea rdx, [0x14008bb76]
lea rsi, [rsp + 0xf0]
mov r8d, 0xe
mov rcx, rsi
call fcn.14003f49d
movzx eax, byte [rsi + 0x18]
cmp eax, 2
je 0x14002ad4b
cmp eax, 3
jne 0x14002ad14
mov rcx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x100]
test r9, r9
je 0x14002ad38
movzx eax, byte [rcx]
cmp eax, 0x2d
je 0x14002ad2b
cmp eax, 0x2b
jne 0x14002b567
dec r9
je 0x14002ad38
lea r10, [rcx + 1]
jmp 0x14002b56a
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xf8]
call fcn.14001b4c0
jmp 0x14002ad4b
mov r10, rcx
cmp r9, 1
jne 0x14002b56a
xor ebp, ebp
mov rdx, r8
call fcn.14001b4c0
test bpl, bpl
jne 0x14002ac95
mov ebp, 0x3b9aca00
lea rdx, [rsp + 0x440]
lea rsi, [rsp + 0x100]
mov qword [rsi - 0x10], r15
mov qword [rsi - 8], r12
mov r8d, 0x130
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov qword [rsi + 0x130], r14
mov dword [rsi + 0x138], ebp
lea rsi, [rsp + 0x328]
lea rdx, [rsp + 0xf0]
mov rcx, rsi
call fcn.140028cab
mov r15, qword [rsi]
cmp r15, 2
jne 0x14002adcb
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0xa0], rax
movdqu xmm0, xmmword [rsp + 0x330]
movdqa xmmword [rsp + 0x90], xmm0
jmp 0x14002abcb
lea rdx, [rsp + 0x348]
mov rax, qword [rdx - 8]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rdx - 0x18]
movaps xmmword [rsp + 0x90], xmm0
lea r14, [rsp + 0x260]
mov r8d, 0xb0
mov rcx, r14
call sub.msvcrt.dll_memcpy
mov qword [r14 - 0x20], r15
movdqa xmm0, xmmword [rsp + 0x90]
movdqu xmmword [r14 - 0x18], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [r14 - 8], rax
mov qword [rsp + 0x40], 1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov edx, dword [r14 + 0xa8]
test dil, dil
jne 0x14002b605
cmp edx, 0xcc
je 0x14002b605
cmp edx, 0x130
je 0x14002b605
lea rbp, [rsp + 0xf0]
xorps xmm6, xmm6
pcmpeqd xmm7, xmm7
movzx eax, byte [rsp + 0x290]
test rax, rax
je 0x14002aed7
mov qword [rsp + 0x38], r15
cmp eax, 1
jne 0x14002af19
mov r15, qword [rsp + 0x298]
test r15, r15
je 0x14002b5fe
dec r15
mov qword [rsp + 0x298], r15
mov rcx, rbp
lea rdx, [rsp + 0x250]
call fcn.14002a64d
movzx eax, byte [rsp + 0xf0]
test eax, eax
je 0x14002afa4
cmp eax, 2
je 0x14002b5ef
mov r12, qword [rsp + 0xf8]
jmp 0x14002af88
mov rcx, rbp
lea rdx, [rsp + 0x250]
call fcn.14002a64d
movzx eax, byte [rsp + 0xf0]
cmp eax, 2
je 0x14002b022
test eax, eax
jne 0x14002b02a
mov r13d, 0x14
mov r15d, 1
mov r12b, byte [rsp + 0xf1]
jmp 0x14002b06c
mov r14, qword [rsp + 0x240]
mov rdi, qword [rsp + 0x248]
cmp byte [rsp + 0x291], 0
mov r15, qword [rsp + 0x298]
jne 0x14002af44
test r15, r15
je 0x14002b5fe
test r15, r15
je 0x14002afbd
dec r15
mov qword [rsp + 0x298], r15
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x250]
call fcn.14002a64d
mov al, byte [rsp + 0x90]
cmp al, 2
je 0x14002b5e5
test al, al
je 0x14002b046
mov r12, qword [rsp + 0x98]
mov rax, r12
shr rax, 8
mov qword [rsp + 0x30], rax
mov r13d, 1
mov r15, qword [rsp + 0x38]
jmp 0x14002b06c
mov eax, 0x4000
cmp r15, rax
cmovae r15, rax
mov r12b, byte [rsp + 0xf1]
jmp 0x14002b063
mov qword [rsp + 0x328], 2
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov r9d, 0x400
mov rcx, rbp
lea rdx, [rsp + 0x250]
call fcn.140027d64
cmp qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0x100]
je 0x14002b09e
mov r13, qword [rsp + 0xf8]
mov r15, qword [rsp + 0x108]
mov rax, rcx
shr rax, 8
mov qword [rsp + 0x30], rax
mov r12d, ecx
jmp 0x14002b06c
mov r13d, 0x15
jmp 0x14002b06c
mov r12, qword [rsp + 0xf8]
mov rax, r12
shr rax, 8
mov qword [rsp + 0x30], rax
mov r13d, 1
jmp 0x14002b06c
mov r12b, byte [rsp + 0x91]
test r15, r15
je 0x14002b0fd
mov eax, 0x4000
cmp r15, rax
cmovae r15, rax
inc r15
mov r13d, 0x14
cmp r13, 0x14
jne 0x14002b512
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, r15
call fcn.14001b217
mov rcx, rdi
mov edx, r12d
call fcn.14002a618
lea rbp, [rsp + 0xf0]
jmp 0x14002ae6a
mov qword [rsp + 0x68], rcx
mov r13, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x108]
test rbp, rbp
je 0x14002b1ef
mov rcx, r13
mov rdx, rbp
mov r8d, 0x3b
call fcn.14002a501
cmp rax, 1
jne 0x14002b182
test rdx, rdx
je 0x14002b178
cmp rbp, rdx
jbe 0x14002b17c
cmp byte [r13 + rdx], 0xbf
mov rbp, rdx
jg 0x14002b182
jmp 0x14002b687
mov qword [rsp + 0x328], 3
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov r9d, 2
mov rcx, rbp
lea rdx, [rsp + 0x250]
call fcn.140027d64
cmp qword [rsp + 0xf0], 0
je 0x14002b15e
mov r13, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x100]
mov rax, r12
shr rax, 8
mov qword [rsp + 0x30], rax
mov r15, qword [rsp + 0x108]
jmp 0x14002b06c
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
call fcn.14001b4c0
jmp 0x14002b057
xor ebp, ebp
jmp 0x14002b182
jne 0x14002b687
mov rcx, r13
mov rdx, rbp
call fcn.14002835f
mov r8, rdx
lea rcx, [rsp + 0xf0]
mov rdx, rax
mov r9d, 0x10
call fcn.14002202d
cmp byte [rsp + 0xf0], 0
je 0x14002b1c0
mov qword [rsp + 0x60], r13
mov r13d, 2
jmp 0x14002b4f9
mov r15, qword [rsp + 0xf8]
test r15, r15
je 0x14002b1ef
add qword [rsp + 0x2a0], r15
mov rcx, r13
mov rdx, qword [rsp + 0x68]
call fcn.14001b4c0
lea rbp, [rsp + 0xf0]
jmp 0x14002af49
mov qword [rsp + 0x60], r13
lea rbp, [rsp + 0xf0]
mov qword [rsp + 0x328], 5
mov qword [rsp + 0x20], rsi
mov rcx, rbp
lea rdx, [rsp + 0x250]
mov r8, r14
mov r9, rdi
call fcn.140027d64
cmp qword [rsp + 0xf0], 0
mov r13, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
mov r15, qword [rsp + 0x108]
jne 0x14002b2ba
mov qword [rsp + 0x328], r13
mov qword [rsp + 0x330], rax
mov qword [rsp + 0x338], r15
mov rcx, rbp
mov rdx, rsi
call fcn.140027f38
cmp qword [rsp + 0xf0], 0
je 0x14002b2c4
mov rax, rdi
sub rax, r15
add rax, 0xfffffffffffffffe
test r14, r14
cmovne rdi, rax
mov rcx, rsi
lea rdx, [rsp + 0x2c0]
mov r8, rbp
lea r9, [rsp + 0x108]
call fcn.1400280bb
mov rcx, qword [rsp + 0x328]
mov rdx, qword [rsp + 0x330]
call fcn.1400386c5
jmp 0x14002b1fc
cmp r13, 0x14
jne 0x14002b467
mov byte [rsp + 0x291], 0
mov ecx, 0xe
call fcn.14001b537
movabs rcx, 0x2d746e65746e6f63
mov qword [rax], rcx
movabs rcx, 0x6874676e656c2d74
mov qword [rax + 6], rcx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x120], 0x20
mov byte [rsp + 0x128], 3
and qword [rsp + 0xf0], 0
mov qword [rsp + 0x80], 0xe
and qword [rsp + 0x100], 0
lea rax, [rsp + 0x330]
movups xmmword [rax], xmm6
mov qword [rsp + 0x328], 1
mov qword [rsp + 0x110], rsi
lea rax, [0x14008bae8]
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0x2a0]
lea rdi, [rsp + 0xf0]
mov rdx, rdi
call fcn.140020703
test al, al
jne 0x14002b687
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0xa0], rax
movdqu xmm0, xmmword [rsp + 0x328]
movdqa xmmword [rsp + 0x90], xmm0
mov rcx, rdi
lea rdi, [rsp + 0x2c0]
mov rdx, rdi
lea r8, [rsp + 0x70]
lea r9, [rsp + 0x90]
call fcn.1400280bb
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xf8]
call fcn.1400386c5
mov rcx, qword [rsp + 0x2e0]
mov rdx, qword [rsp + 0x2e8]
mov r9d, 0x11
lea r14, [0x14008be86]
mov r8, r14
call fcn.14002847c
mov r9d, 0x11
mov rcx, rdi
mov rdx, rax
mov r8, r14
call fcn.1400284fc
test rax, rax
mov r14, qword [rsp + 0xe8]
je 0x14002b4de
mov r8, rax
mov rcx, qword [rsp + 0x2c0]
mov rax, rcx
sub rax, r8
cqo
mov r9d, 0x30
idiv r9
lea rdx, [rax - 0x10]
and rdx, qword [rsp + 0x2c8]
movdqu xmm0, xmmword [rcx + rdx]
pcmpeqb xmm0, xmm7
psllw xmm0, 7
pmovmskb r9d, xmm0
test r9d, r9d
je 0x14002b47b
bsr r9w, r9w
xor r9d, 0xf
jmp 0x14002b480
mov rcx, rax
shr rcx, 8
mov qword [rsp + 0x30], rcx
mov r12d, eax
jmp 0x14002b4fe
mov r9w, 0x10
movdqu xmm0, xmmword [rcx + rax]
pcmpeqb xmm0, xmm7
pmovmskb r10d, xmm0
or r10d, 0x10000
bsf r10d, r10d
add r9d, r10d
mov r10b, pe_nt_image_headers64
cmp r9w, 0xf
ja 0x14002b4b1
inc qword [rsp + 0x2d0]
mov r10b, 0xff
mov byte [rcx + rax], r10b
mov byte [rdx + rcx + 0x10], r10b
dec qword [rsp + 0x2d8]
mov rcx, qword [r8 - 0x30]
test rcx, rcx
je 0x14002b4de
mov r14, qword [r8 - 0x10]
mov rdx, qword [r8 - 0x28]
mov rdi, qword [r8 - 0x18]
call fcn.14001b4c0
jmp 0x14002b4e0
xor edi, edi
mov rcx, rdi
mov qword [rsp + 0xe8], r14
mov rdx, r14
call fcn.1400386c5
mov r13d, 0x15
mov r15, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
call fcn.14001b4c0
jmp 0x14002b06c
cmp r13, 0x15
je 0x14002b5fe
mov rcx, qword [rsp + 0x30]
mov dword [rbx + 0x11], ecx
mov rax, rcx
shr rax, 0x30
mov byte [rbx + 0x17], al
shr rcx, 0x20
mov word [rbx + 0x15], cx
mov qword [rbx + 8], r13
mov byte [rbx + 0x10], r12b
mov qword [rbx + 0x18], r15
and qword [rbx], 0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.14001b4c0
lea rcx, [rsp + 0x240]
call fcn.140028c66
jmp 0x14002abd8
mov r10, rcx
cmp r9, 0x11
jae 0x14002b598
xor eax, eax
xor esi, esi
cmp r9, rax
je 0x14002b5dd
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14002ad38
imul r11, rsi, 0xa
mov esi, edx
add rsi, r11
inc rax
jmp 0x14002b574
xor r11d, r11d
mov r14d, 0xa
xor esi, esi
cmp r9, r11
je 0x14002b5dd
movzx ebp, byte [r10 + r11]
mov rax, rsi
mul r14
seto dl
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x14002ad38
test dl, dl
jne 0x14002ad38
mov rsi, rax
mov eax, ebp
add rsi, rax
jb 0x14002ad38
inc r11
jmp 0x14002b5a3
mov bpl, 1
jmp 0x14002ad3a
mov rdx, qword [rsp + 0x98]
jmp 0x14002b5f7
mov rdx, qword [rsp + 0xf8]
mov cl, 2
call fcn.14002b68b
mov edx, dword [rsp + 0x308]
lea rax, [rsp + 0x250]
mov rcx, qword [rax + 0x68]
lea rsi, [rsp + 0xf0]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rax + 0x58]
movaps xmmword [rsi], xmm0
movups xmm0, xmmword [rax + 0x70]
movups xmmword [rsi + 0x18], xmm0
movups xmm0, xmmword [rax + 0x80]
movups xmmword [rsi + 0x28], xmm0
movups xmm0, xmmword [rax + 0x90]
movups xmmword [rsi + 0x38], xmm0
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rsi + 0x48], xmm0
mov rcx, qword [rax + 0xb0]
mov qword [rsi + 0x58], rcx
movdqu xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsi + 0x60], xmm0
mov rcx, qword [rsp + 0x50]
mov qword [rsi + 0x70], rcx
mov ecx, 0xf
mov rdi, rbx
rep movsq qword [rdi], qword [rsi]
mov dword [rbx + 0x78], edx
mov rcx, rax
call fcn.140029199
jmp 0x14002abd8
ud2