Function at 0x14021be60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rsi, rcx
mov qword [rsp + 0x80], rcx
lea r14, [rsp + 0xa0]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x98], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
lea rdi, [rsp + 0xd8]
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], rdi
lea r12, [rsp + 0x118]
mov qword [rsp + 0xd0], r12
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0x108], xmm0
mov rbx, qword [rcx + 0x298]
lea rax, [rcx + 0x2b0]
cmp rbx, rax
je 0x14021bfad
mov qword [rsp + 0x88], rbx
movaps xmm0, xmmword [rsi + 0x2a0]
movups xmmword [rsp + 0x90], xmm0
mov qword [rsi + 0x298], rax
mov qword [rsi + 0x2a0], rax
lea rcx, [rsi + 0x2d0]
mov qword [rsi + 0x2a8], rcx
mov rbx, rax
mov rcx, rdi
mov r14, qword [rsi + 0x240]
lea rax, [rsi + 0x258]
cmp r14, rax
je 0x14021bff6
mov qword [rsp + 0xc0], r14
cmp rcx, rdi
je 0x14021c064
mov qword [rsi + 0x240], rcx
mov rax, qword [rsp + 0xd0]
movups xmm0, xmmword [rsi + 0x248]
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsi + 0x250], rax
mov qword [rsi + 0x248], rcx
mov rax, rcx
jmp 0x14021c08f
mov r15, qword [rsi + 0x2a0]
sub r15, rbx
mov rcx, r14
mov rdx, rbx
mov r8, r15
call sub.msvcrt.dll_memmove
add r15, r14
mov qword [rsp + 0x90], r15
mov qword [rsi + 0x2a0], rbx
mov rcx, qword [rsp + 0xc0]
mov r14, qword [rsi + 0x240]
lea rax, [rsi + 0x258]
cmp r14, rax
jne 0x14021bf68
mov r15, rsi
cmp rcx, rdi
je 0x14021c02a
call fcn.140257dd0
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], r12
mov r14, qword [rsi + 0x240]
mov r15, qword [rsp + 0x80]
mov rbx, qword [rsi + 0x248]
sub rbx, r14
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memmove
add rbx, rdi
mov qword [rsp + 0xc8], rbx
mov qword [rsi + 0x248], r14
mov rax, qword [r15 + 0x240]
mov rbx, qword [r15 + 0x298]
jmp 0x14021c092
lea rcx, [rsi + 0x298]
movups xmm0, xmmword [rsi + 0x248]
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsi + 0x240], rax
mov qword [rsi + 0x248], rax
mov qword [rsi + 0x250], rcx
mov r15, rsi
mov qword [r15 + 0x2a0], rbx
mov qword [r15 + 0x248], rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, rcx
sub rdx, rax
je 0x14021c11c
movzx r8d, byte [rax]
cmp r8d, 0x47
je 0x14021c219
cmp r8d, 0x54
jne 0x14021c11c
cmp rdx, 2
jb case.0x14021c0eb.66
movsx edx, byte [rax + 1]
add edx, 0xffffffbf
cmp edx, 0x22
ja case.0x14021c0eb.66
lea r8, [0x14021ca3c]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021ea80
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021f2b0
jmp 0x14021c88a
mov rax, qword [rsi + 0x2d8]
sub rax, qword [rsi + 0x2d0]
mov word [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
mov byte [rsp + 0x40], 0
sar rax, 3
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021e330
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14021c8cf
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsi + 0x2d0]
mov rax, qword [rsi + 0x2d8]
sub rax, rdx
sar rax, 3
cmp rax, rcx
jbe 0x14021c2f2
mov r8, qword [rsi + 0x298]
cmp r8, qword [rsi + 0x2a0]
je 0x14021c8cf
mov r9, qword [r8]
test r9, r9
je 0x14021c8cf
mov r10, qword [rdx + rcx*8]
mov r11, qword [r10 + 0x18]
mov r14, qword [r9]
mov r9, qword [r9 + 8]
sub r9, r14
sar r9, 3
cmp r11, r9
jae 0x14021c8cf
lea r9, [rdx + rcx*8]
lea r15, [rcx + 1]
nop
mov rbx, r15
mov r11, qword [r14 + r11*8]
mov qword [r10 + 0x20], r11
cmp rax, r15
je 0x14021c6ba
mov r15, qword [r8]
test r15, r15
je 0x14021c20b
mov r10, qword [rdx + rbx*8]
mov r11, qword [r10 + 0x18]
mov r14, qword [r15]
mov r12, qword [r15 + 8]
sub r12, r14
sar r12, 3
lea r15, [rbx + 1]
cmp r11, r12
jb 0x14021c1d0
cmp rbx, rax
jae 0x14021c303
jmp 0x14021c8cf
cmp rdx, 2
jb 0x14021c8cf
movsx ecx, byte [rax + 1]
cmp ecx, 0x49
je 0x14021c4c1
cmp ecx, 0x52
je 0x14021c433
cmp ecx, 0x56
jne 0x14021c8cf
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
xor edx, edx
call fcn.14021e330
mov rbx, rax
test rax, rax
je 0x14021c8cf
mov r14, qword [rsi + 0x1330]
mov rcx, qword [r14 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x14021c2a3
mov ecx, 0x1000
call sub.msvcrt.dll_malloc
test rax, rax
je 0x14021ca12
mov qword [rax], r14
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r14, rax
lea rax, [rcx + 0x30]
mov qword [r14 + 8], rax
mov byte [r14 + rcx + 0x18], 0x14
and byte [r14 + rcx + 0x1c], 0xc0
lea rdi, [r14 + rcx]
add rdi, 0x10
movzx eax, byte [r14 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r14 + rcx + 0x20], al
lea rax, [0x1402808d0]
mov qword [r14 + rcx + 0x10], rax
lea rax, str.guard_variable_for
mov qword [r14 + rcx + 0x28], rax
lea rax, [0x14028088a]
jmp 0x14021c584
jb 0x14021c9f8
lea rax, [rdx + rcx*8]
mov qword [rsi + 0x2d8], rax
mov r15, qword [rsi]
mov r12, qword [rsi + 8]
mov rax, r12
sub rax, r15
je 0x14021c8d1
movzx ecx, byte [r15]
add ecx, 0xffffffd2
cmp ecx, 0x31
ja 0x14021c336
movabs rdx, 0x2000000800001
bt rdx, rcx
jb 0x14021c8d1
mov qword [rsp + 0x70], 0
cmp rax, 0xd
jb 0x14021c362
lea rcx, str.Ua9enable_ifI
mov r8d, 0xd
mov rdx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x14021c8f5
mov qword [rsp + 0x68], 0
cmp byte [rsp + 0x38], 0
jne 0x14021c38f
cmp byte [rsp + 0x39], 0
je 0x14021c38f
mov rcx, rsi
call fcn.14021cc00
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14021c8cf
lea rcx, [rsp + 0x3c]
lea rdx, [rsp + 0x40]
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x14021c59d
cmp byte [rax], 0x76
jne 0x14021c59d
inc rax
mov qword [rsi], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
jmp 0x14021c694
inc rax
mov qword [rsi], rax
cmp rcx, rax
je 0x14021c3f0
cmp byte [rax], 0x76
sete dil
mov rcx, rsi
call fcn.14021f670
test al, al
jne 0x14021c8cf
jmp 0x14021c402
xor edi, edi
mov rcx, rsi
call fcn.14021f670
test al, al
jne 0x14021c8cf
mov rcx, rsi
call fcn.14021be60
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
test dil, dil
je 0x14021c593
call fcn.14021fa20
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
xor edx, edx
call fcn.14021e330
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov dl, 1
cmp rcx, rax
je 0x14021c4a4
movzx r8d, byte [rax]
cmp r8b, 0x30
jl 0x14021c4a4
cmp r8b, 0x3a
jb 0x14021c47a
add r8b, 0xbf
cmp r8b, 0x19
ja 0x14021c4a4
xor edi, edi
jmp 0x14021c48d
inc rax
mov qword [rsi], rax
cmp rax, rcx
je 0x14021c8d1
movzx edx, byte [rax]
cmp dl, 0x30
jl 0x14021c4a2
cmp dl, 0x3a
jb 0x14021c47e
add dl, 0xbf
cmp dl, 0x19
jbe 0x14021c47e
xor edx, edx
cmp rax, rcx
je 0x14021c6d8
cmp byte [rax], 0x5f
jne 0x14021c6d8
inc rax
mov qword [rsi], rax
jmp 0x14021c6e0
add rax, 2
mov qword [rsi], rax
mov qword [rsp + 0x38], 0
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021fc60
xor edi, edi
test al, al
jne 0x14021c8d1
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14021c8d1
mov r14, qword [rsi + 0x1330]
mov rcx, qword [r14 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x14021c53a
mov ecx, 0x1000
call sub.msvcrt.dll_malloc
test rax, rax
je 0x14021ca12
mov qword [rax], r14
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r14, rax
lea rax, [rcx + 0x30]
mov qword [r14 + 8], rax
mov byte [r14 + rcx + 0x18], 0x14
and byte [r14 + rcx + 0x1c], 0xc0
lea rdi, [r14 + rcx]
add rdi, 0x10
movzx eax, byte [r14 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r14 + rcx + 0x20], al
lea rax, [0x1402808d0]
mov qword [r14 + rcx + 0x10], rax
lea rax, str.initializer_for_module
mov qword [r14 + rcx + 0x28], rax
lea rax, [0x1402808bb]
mov qword [r14 + rcx + 0x30], rax
mov qword [r14 + rcx + 0x38], rbx
jmp 0x14021c8d1
call fcn.14021fae0
jmp 0x14021c88a
mov rbx, qword [rsi + 0x18]
sub rbx, qword [rsi + 0x10]
sar rbx, 3
lea r14, [rsi + 0x28]
xor edi, edi
movabs rbp, 0x2000000800001
mov rcx, rsi
call fcn.14021cc00
mov r15, rax
test rax, rax
je 0x14021c8d1
mov r12, qword [rsi + 0x18]
cmp r12, qword [rsi + 0x20]
jne 0x14021c641
mov rcx, qword [rsi + 0x10]
sub r12, rcx
lea rdx, [r12 + r12]
cmp rcx, r14
je 0x14021c5fd
call sub.msvcrt.dll_realloc
mov r13, rax
mov qword [rsi + 0x10], rax
test rax, rax
jne 0x14021c623
jmp 0x14021ca12
mov rcx, rdx
call sub.msvcrt.dll_malloc
test rax, rax
je 0x14021ca12
mov r13, rax
mov rcx, rax
mov rdx, r14
mov r8, r12
call sub.msvcrt.dll_memcpy
mov qword [rsi + 0x10], r13
lea rax, [r12 + r13]
sar r12, 2
mov qword [rsi + 0x18], rax
lea rcx, [r12*8]
add rcx, r13
mov qword [rsi + 0x20], rcx
mov r12, rax
lea rax, [r12 + 8]
mov qword [rsi + 0x18], rax
mov qword [r12], r15
mov rax, qword [rsi]
cmp qword [rsi + 8], rax
je 0x14021c670
movzx eax, byte [rax]
add eax, 0xffffffd2
cmp eax, 0x31
ja 0x14021c5b9
bt rbp, rax
jae 0x14021c5b9
lea rcx, [rsp + 0x50]
mov rdx, rsi
mov r8, rbx
call fcn.14021ee30
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x68]
lea r8, [rsp + 0x78]
lea r9, [rsp + 0x50]
mov rcx, rsi
call fcn.14021ef90
jmp 0x14021c88a
cmp rax, rcx
jb 0x14021c9f8
mov qword [rsi + 0x2d8], r9
cmp rbx, rax
jb 0x14021c8cf
jmp 0x14021c303
test dl, dl
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021fba0
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
xor edx, edx
call fcn.14021e330
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021f960
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021cc00
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021f430
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021cc00
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14021c8cf
lea rcx, [rsp + 0x38]
mov rdx, rsi
mov r8b, 1
call fcn.14021cad0
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x40]
je 0x14021c8cf
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x14021c8cf
cmp byte [rax], 0x5f
jne 0x14021c8cf
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021cc00
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
lea r8, [rsp + 0x50]
mov rcx, rsi
call fcn.14021f8b0
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021cc00
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021f370
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
xor edx, edx
call fcn.14021e330
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, str.thread_local_wrapper_routine_for
lea r8, [rsp + 0x38]
mov rcx, rsi
call fcn.14021cb40
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021cc00
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021f4f0
jmp 0x14021c88a
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021cc00
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021f5b0
mov rdi, rax
jmp 0x14021c8d1
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
call fcn.14021f670
test al, al
jne 0x14021c8cf
mov rcx, rsi
call fcn.14021f670
test al, al
jne 0x14021c8cf
mov rcx, rsi
call fcn.14021be60
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14021c8cf
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.14021f7f0
jmp 0x14021c88a
xor edi, edi
lea rcx, [rsp + 0x80]
call fcn.14021f090
mov rax, rdi
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add r15, 0xd
mov qword [rsi], r15
mov rbx, qword [rsi + 0x18]
sub rbx, qword [rsi + 0x10]
sar rbx, 3
lea r14, [rsi + 0x28]
xor edi, edi
jmp 0x14021c957
call sub.msvcrt.dll_realloc
mov r13, rax
mov qword [rsi + 0x10], rax
test rax, rax
je 0x14021ca12
lea rax, [r12 + r13]
sar r12, 2
mov qword [rsi + 0x18], rax
lea rcx, [r12*8]
add rcx, r13
mov qword [rsi + 0x20], rcx
mov r12, rax
lea rax, [r12 + 8]
mov qword [rsi + 0x18], rax
mov qword [r12], r15
mov r15, qword [rsi]
mov r12, qword [rsi + 8]
cmp r15, r12
je 0x14021c962
cmp byte [r15], 0x45
je 0x14021c9b7
mov rcx, rsi
call fcn.14021ea80
mov r15, rax
test rax, rax
je 0x14021c8d1
mov r12, qword [rsi + 0x18]
cmp r12, qword [rsi + 0x20]
jne 0x14021c943
mov rcx, qword [rsi + 0x10]
sub r12, rcx
lea rdx, [r12 + r12]
cmp rcx, r14
jne 0x14021c910
mov rcx, rdx
call sub.msvcrt.dll_malloc
test rax, rax
je 0x14021ca12
mov r13, rax
mov rcx, rax
mov rdx, r14
mov r8, r12
call sub.msvcrt.dll_memcpy
mov qword [rsi + 0x10], r13
jmp 0x14021c925
inc r15
mov qword [rsi], r15
lea rcx, [rsp + 0x50]
mov rdx, rsi
mov r8, rbx
call fcn.14021ee30
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.14021ed80
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], 0
cmp byte [rsp + 0x38], 0
je 0x14021c372
jmp 0x14021c38f
lea rcx, str.Index___size_____dropBack___cant_expand__
lea rdx, str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
mov r8d, 0x81
call qword [sym.imp.msvcrt.dll__assert]
call fcn.140071af0
jmp 0x14021ca23
mov rsi, rax
lea rcx, [rsp + 0x80]
call fcn.14021f090
mov rcx, rsi
call fcn.14009d370
int3