Function at 0x14001cd90
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, 0x208
mov rdi, qword [rsp + 0x270]
cmp qword [rdi + 0x40], 0x2000000
jne 0x14001cecd
mov r15, qword [rsp + 0x278]
mov r14, qword [rdi]
cmp r14, r15
je 0x14001cf24
mov r12, r9
mov rsi, rdx
mov rbx, rcx
movzx r13d, byte [rsp + 0x280]
mov rax, qword [rdx + 0x58]
and eax, 2
test byte [r14 + 0x51], 0x20
jne 0x14001cf33
mov ebp, r8d
mov edx, eax
shl dl, 4
test rax, rax
setne al
test r8b, r8b
setne r8b
or r8b, al
or dl, 4
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov r9, r12
call fcn.14001d670
test al, al
je 0x14001d4c2
test r12, r12
je 0x14001d000
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x150], rax
vmovups ymm0, ymmword [rsp + 0x40]
vmovups ymm1, ymmword [rsp + 0x60]
vmovups ymm2, ymmword [rsp + 0x80]
vmovups ymm3, ymmword [rsp + 0xa0]
vmovups ymmword [rsp + 0x130], ymm3
vmovups ymmword [rsp + 0x110], ymm2
vmovups ymmword [rsp + 0xf0], ymm1
vmovups ymmword [rsp + 0xd0], ymm0
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0xd0]
mov rdx, rbx
mov r9, r12
vzeroupper
call fcn.14001bd80
movzx r14d, byte [rsp + 0xc0]
test r14b, r14b
je 0x14001d4c2
mov rax, qword [rsi + 0x58]
test bpl, bpl
je 0x14001d28c
jmp 0x14001d297
mov rbx, qword [rdi + 0x10]
xor esi, esi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [0x1400c67c0]
mov edx, dword [rcx + rsi*4 + 0x10]
cmp edx, eax
je 0x14001cf9b
mov edx, dword [rcx + rsi*4 + 0x14]
cmp edx, eax
je 0x14001cf8c
mov edx, dword [rcx + rsi*4 + 0x18]
cmp edx, eax
je 0x14001cf91
mov edx, dword [rcx + rsi*4 + 0x1c]
cmp edx, eax
je 0x14001cf97
add rsi, 4
cmp rsi, 0x80
jne 0x14001cee0
mov eax, 0xffffffff
jmp 0x14001cf9d
lea rdx, str.The_compiler_expected_a_value.
mov rcx, r15
jmp 0x14001d4bd
test rax, rax
jne 0x14001cff1
test r12, r12
je 0x14001d067
test r13b, r13b
je 0x14001d0c5
mov r9d, dword [r12 + 0x3c]
mov rax, qword [rbx + 0x110]
mov r8d, dword [rsi + 0x38]
vmovups xmm0, xmmword [rax + 0x138]
vmovaps xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x40]
call fcn.140013190
vmovups xmm0, xmmword [rsp + 0xd0]
jmp 0x14001d0ee
inc rsi
jmp 0x14001cf9b
add rsi, 2
jmp 0x14001cf9b
add rsi, 3
mov eax, esi
shl rax, 4
mov rdx, qword [rax + rcx + 0x218]
mov rsi, qword [rax + rcx + 0x210]
add rsi, rdx
add rdx, rbx
inc rdx
mov qword [rax + rcx + 0x218], rdx
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov rcx, rsi
call fcn.140091e40
mov rax, qword [rdi + 0x10]
mov byte [rax + rsi], 0
lea rdx, str.When_declaring_a_variable_or_a_constant_and_assigning_a_value_to_it_make_sure_to_use_operator_._It_looks_like_you_are_using__s_instead.
mov rcx, rdi
mov r8, rsi
call fcn.140011a10
jmp 0x14001d4c2
lea rdx, str.Constants_must_be_assigned_a_value.
mov rcx, r14
jmp 0x14001d4bd
mov rcx, qword [rsp + 0x48]
movzx r14d, byte [rsp + 0xc0]
test r14b, 1
jne 0x14001d26f
test ecx, 0x2000000
jne 0x14001d13c
test ecx, 0x80000
jne 0x14001d243
test ecx, 0x100000
jne 0x14001d24c
test ecx, 0x200000
jne 0x14001d255
test ecx, 0x40000
jne 0x14001d25e
test ecx, 0x400000
jne 0x14001d267
xor ecx, ecx
jmp 0x14001d26f
mov rbx, qword [r14 + 0x10]
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r15, [0x1400c67c0]
mov ecx, dword [r15 + rdi*4 + 0x10]
cmp ecx, eax
je 0x14001d158
mov ecx, dword [r15 + rdi*4 + 0x14]
cmp ecx, eax
je 0x14001d149
mov ecx, dword [r15 + rdi*4 + 0x18]
cmp ecx, eax
je 0x14001d14e
mov ecx, dword [r15 + rdi*4 + 0x1c]
cmp ecx, eax
je 0x14001d154
add rdi, 4
cmp rdi, 0x80
jne 0x14001d07a
mov eax, 0xffffffff
jmp 0x14001d15a
test byte [rbx + 0x318], 0x80
jne 0x14001d0f6
mov r9, qword [rsi + 0x18]
mov r8d, dword [r9 + 0x3c]
mov dword [rsp + 0x20], r8d
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140012f70
vmovups xmm0, xmmword [rsp + 0x40]
vmovups xmmword [rsi + 0x138], xmm0
mov rax, qword [rsi + 0x58]
mov rcx, rax
or rcx, 4
mov qword [rsi + 0x58], rcx
mov rcx, qword [r14]
cmp rcx, r15
je 0x14001d119
lea rdx, str.This_is_unexpected.
jmp 0x14001d4bd
mov bpl, 1
test al, 2
jne 0x14001d4c4
vmovups xmm0, xmmword [rsi + 0x138]
vmovaps xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
jmp 0x14001d656
mov rcx, qword [rsp + 0x90]
jmp 0x14001d26f
inc rdi
jmp 0x14001d158
add rdi, 2
jmp 0x14001d158
add rdi, 3
mov eax, edi
shl rax, 4
mov rcx, qword [rax + r15 + 0x218]
mov rdi, qword [rax + r15 + 0x210]
add rdi, rcx
add rcx, rbx
inc rcx
mov qword [rax + r15 + 0x218], rcx
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov rcx, rdi
call fcn.140091e40
mov rax, qword [r14 + 0x10]
mov byte [rax + rdi], 0
mov r12, qword [rsi + 0x10]
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [r15 + rbx*4 + 0x10]
cmp ecx, eax
je 0x14001d1ea
mov ecx, dword [r15 + rbx*4 + 0x14]
cmp ecx, eax
je 0x14001d1db
mov ecx, dword [r15 + rbx*4 + 0x18]
cmp ecx, eax
je 0x14001d1e0
mov ecx, dword [r15 + rbx*4 + 0x1c]
cmp ecx, eax
je 0x14001d1e6
add rbx, 4
cmp rbx, 0x80
jne 0x14001d1a3
mov eax, 0xffffffff
jmp 0x14001d1ec
inc rbx
jmp 0x14001d1ea
add rbx, 2
jmp 0x14001d1ea
add rbx, 3
mov eax, ebx
shl rax, 4
mov rcx, qword [rax + r15 + 0x218]
mov rbx, qword [rax + r15 + 0x210]
add rbx, rcx
add rcx, r12
inc rcx
mov qword [rax + r15 + 0x218], rcx
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov rcx, rbx
call fcn.140091e40
mov rax, qword [rsi + 0x10]
mov byte [rax + rbx], 0
lea rdx, str.It_looks_like__ss_type_is_being_infered_from_the_value_you_assign_to_it_but_said_value_is__s_which_the_compiler_cannot_use_to_infer_the_type.
mov rcx, r14
mov r8, rbx
mov r9, rdi
call fcn.140011a10
jmp 0x14001d4c2
mov rcx, qword [0x1400e47a8]
jmp 0x14001d26f
mov rcx, qword [0x1400e47c8]
jmp 0x14001d26f
mov rcx, qword [0x1400e47d0]
jmp 0x14001d26f
mov rcx, qword [0x1400e47e0]
jmp 0x14001d26f
mov rcx, qword [rsp + 0x88]
mov qword [rsi + 0x18], rcx
mov rdx, qword [rcx + 0x58]
mov rax, qword [rsi + 0x58]
test edx, 0x400
jne 0x14001d376
test bpl, bpl
jne 0x14001d297
mov ecx, eax
and ecx, 2
je 0x14001d344
vmovups ymm0, ymmword [rsp + 0x40]
vmovups ymm1, ymmword [rsp + 0x60]
vmovups ymm2, ymmword [rsp + 0x80]
vmovups ymm3, ymmword [rsp + 0xa0]
vmovups ymmword [rsi + 0xb0], ymm0
vmovups ymmword [rsi + 0xf0], ymm2
mov rcx, qword [rsp + 0xc0]
mov qword [rsi + 0x130], rcx
vmovups ymmword [rsi + 0x110], ymm3
vmovups ymmword [rsi + 0xd0], ymm1
or byte [rsi + 0xbb], 2
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x100], rcx
mov ecx, dword [rcx + 0x3c]
mov dword [rsi + 0xd4], ecx
test al, 2
je 0x14001d344
mov rcx, qword [rsp + 0x90]
cmp rcx, qword [0x1400e4778]
jne 0x14001d344
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x20]
mov rcx, rsi
mov r8b, 1
vzeroupper
call fcn.140011fe0
mov rax, qword [rsi + 0x58]
and rax, 0xfffffffffffffffe
mov qword [rsi + 0x58], rax
vmovups xmm0, xmmword [0x1400a8c78]
vmovups xmmword [rsi + 0x68], xmm0
mov bpl, 1
test r13b, r13b
jne 0x14001d4c4
and eax, 2
jne 0x14001d4c4
and r14b, 0x29
cmp r14b, 9
jne 0x14001d3db
vmovups xmm0, xmmword [rsp + 0x50]
vmovups xmmword [rsi + 0x138], xmm0
jmp 0x14001d633
test al, 2
jne 0x14001d4a1
test edx, 0x400000
jne 0x14001d4aa
test edx, 0x80000
jne 0x14001d4b3
mov rdx, qword [rcx + 0xa8]
mov qword [rsi + 0xa8], rdx
mov rdx, qword [rcx + 0x90]
mov qword [rsi + 0x90], rdx
movabs rdx, 0x580000000
and rdx, qword [rcx + 0x58]
or rax, rdx
or rax, 0x400
mov qword [rsi + 0x58], rax
test bpl, bpl
je 0x14001d28c
jmp 0x14001d297
test byte [rbx + 0x318], 0x80
jne 0x14001d633
mov r14, qword [rsi + 0x18]
mov r8d, dword [r14 + 0x3c]
test r8d, r8d
je 0x14001d633
lea r15, [rsi + 0x138]
mov eax, dword [r14 + 0x40]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xd0]
mov rdx, rbx
mov r9, r14
vzeroupper
call fcn.140012f70
vmovups xmm0, xmmword [rsp + 0xd0]
vmovups xmmword [rsi + 0x138], xmm0
cmp qword [rbx + 8], 0
je 0x14001d5b8
add rdi, 0x18
mov rax, qword [rsi + 0x58]
test eax, 0x80000
jne 0x14001d4dd
test al, 2
jne 0x14001d4dd
mov qword [rsp + 0x160], 0
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x168], rax
vmovups xmm0, xmmword [r15]
vmovaps xmmword [rsp + 0x170], xmm0
vmovups ymm0, ymmword [rdi]
vmovups ymmword [rsp + 0x1b8], ymm0
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x1d8], rax
mov byte [rsp + 0x1e0], 1
jmp 0x14001d549
lea rdx, str.You_cannot_substitute_the_body_of_a_constant_sub_program_with_another_sub_program._This_may_change_in_the_future.
jmp 0x14001d4ba
lea rdx, str.You_cannot_take_the_address_of_a_polymorphic_sub_program.
jmp 0x14001d4ba
lea rdx, str.You_cannot_take_the_address_of_an_inlined_sub_program.
mov rcx, rdi
call fcn.140011a10
xor ebp, ebp
mov eax, ebp
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
mov rax, qword [rsi + 0x130]
mov qword [rsp + 0x1e0], rax
vmovups ymm0, ymmword [rsi + 0xb0]
vmovups ymm1, ymmword [rsi + 0xd0]
vmovups ymm2, ymmword [rsi + 0xf0]
vmovups ymm3, ymmword [rsi + 0x110]
vmovups ymmword [rsp + 0x1c0], ymm3
vmovups ymmword [rsp + 0x1a0], ymm2
vmovups ymmword [rsp + 0x180], ymm1
vmovups ymmword [rsp + 0x160], ymm0
vmovups ymm0, ymmword [rdi]
vmovups ymmword [rsp + 0x1b8], ymm0
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x150], rax
vmovups ymm0, ymmword [rsp + 0x40]
vmovups ymm1, ymmword [rsp + 0x60]
vmovups ymm2, ymmword [rsp + 0x80]
vmovups ymm3, ymmword [rsp + 0xa0]
vmovups ymmword [rsp + 0x130], ymm3
vmovups ymmword [rsp + 0x110], ymm2
vmovups ymmword [rsp + 0xf0], ymm1
vmovups ymmword [rsp + 0xd0], ymm0
lea rdx, [rsp + 0x160]
lea r8, [rsp + 0xd0]
mov rcx, rbx
vzeroupper
call fcn.1400165d0
jmp 0x14001d633
vmovups xmm0, xmmword [r15]
vmovaps xmmword [rsp + 0x1f0], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x150], rax
vmovups ymm0, ymmword [rsp + 0x40]
vmovups ymm1, ymmword [rsp + 0x60]
vmovups ymm2, ymmword [rsp + 0x80]
vmovups ymm3, ymmword [rsp + 0xa0]
vmovups ymmword [rsp + 0x130], ymm3
vmovups ymmword [rsp + 0x110], ymm2
vmovups ymmword [rsp + 0xf0], ymm1
vmovups ymmword [rsp + 0xd0], ymm0
lea rcx, [rsp + 0x1f0]
lea r8, [rsp + 0xd0]
mov rdx, r14
vzeroupper
call fcn.140014550
test byte [rsi + 0x58], 2
jne 0x14001d4c4
vmovups xmm0, xmmword [rsi + 0x138]
vmovaps xmmword [rsp + 0xd0], xmm0
lea rcx, [rsp + 0xd0]
vzeroupper
call fcn.14001cd10
jmp 0x14001d4c4