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

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x40
mov rax, qword [rdx + 8]
mov rbx, rcx
mov r10, qword [rdx]
mov rcx, rax
sub rcx, r10
mov r14, r9
mov r15, r8
mov r11, rdx
cmp rcx, 0x14
jl 0x14002286e
mov r8, qword [0x1400b2090]
lea r9, [rax - 0x14]
mov ecx, dword [0x1400b20a0]
mov rdx, qword [0x1400b2098]
cmp r8, qword [r10]
jne 0x140022852
cmp rdx, qword [r10 + 8]
jne 0x140022852
cmp ecx, dword [r10 + 0x10]
je 0x14002286b
cmp r10, r9
je 0x14002286e
inc r10
cmp r8, qword [r10]
jne 0x140022852
cmp rdx, qword [r10 + 8]
jne 0x140022852
cmp ecx, dword [r10 + 0x10]
jne 0x140022852
mov rax, r10
mov qword [rbx + 0x50], rax
cmp rax, qword [r11 + 8]
je 0x140022b9d
add rax, 0x14
mov qword [rsp + 0x38], rsi
mov qword [rbx + 0x50], rax
movabs r11, 0xe38e38e38e38e39
movsxd rsi, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov rax, r11
mov r10, qword [r14 + 8]
mov r8, qword [r14]
mov rcx, r10
sub rcx, r8
imul rcx
mov r9, rdx
sar r9, 3
mov rax, r9
shr rax, 0x3f
add r9, rax
cmp rsi, r9
jae 0x1400228ed
mov qword [rsp + 0x30], rdi
mov rdx, r10
lea rdi, [rsi + rsi*8]
shl rdi, 4
add rdi, r8
mov rcx, rdi
call fcn.14000ea80
mov qword [r14 + 8], rdi
mov rdi, qword [rsp + 0x30]
jmp 0x14002292e
jbe 0x14002292e
mov rcx, qword [r14 + 0x10]
mov rax, r11
sub rcx, r8
imul rcx
mov rcx, r14
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jbe 0x14002291c
mov rdx, rsi
call fcn.140030a70
jmp 0x14002292e
mov r8, rsi
mov rdx, r10
sub r8, r9
call fcn.14002fab0
mov qword [r14 + 8], rax
xor r10d, r10d
mov r8d, r10d
test rsi, rsi
jle 0x140022b80
mov r9d, r10d
mov rdx, qword [r14]
add rdx, r9
mov dword [rsp + 0x20], r10d
mov dword [rdx], r8d
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0x3c], ecx
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0x40], ecx
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 4], ecx
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 8], ecx
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0xc], ecx
add qword [rbx + 0x50], 2
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0x24], ecx
inc qword [rbx + 0x50]
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0x10], ecx
mov rcx, qword [rbx + 0x50]
movzx eax, word [rcx]
mov word [rsp + 0x20], ax
lea rax, [rcx + 2]
mov qword [rbx + 0x50], rax
mov eax, dword [rsp + 0x20]
mov dword [rdx + 0x14], eax
mov rax, qword [rbx + 0x50]
mov dword [rsp + 0x20], r10d
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0x18], ecx
inc qword [rbx + 0x50]
mov rcx, qword [rbx + 0x50]
movzx eax, byte [rcx]
mov byte [rsp + 0x20], al
lea rax, [rcx + 1]
mov qword [rbx + 0x50], rax
mov eax, dword [rsp + 0x20]
mov dword [rdx + 0x1c], eax
mov rcx, qword [rbx + 0x50]
mov dword [rsp + 0x20], r10d
movzx eax, byte [rcx]
mov byte [rsp + 0x20], al
lea rax, [rcx + 1]
mov qword [rbx + 0x50], rax
mov eax, dword [rsp + 0x20]
mov dword [rdx + 0x20], eax
mov rax, qword [rbx + 0x50]
movzx ecx, word [rax]
add rax, 2
mov qword [rbx + 0x50], rax
mov word [rdx + 0x28], cx
add qword [rbx + 0x50], 3
mov rax, qword [rbx + 0x50]
movzx ecx, byte [rax]
mov dword [rdx + 0x30], ecx
inc qword [rbx + 0x50]
mov rax, qword [rbx + 0x50]
movzx ecx, byte [rax]
mov dword [rdx + 0x2c], ecx
inc qword [rbx + 0x50]
mov rax, qword [rbx + 0x50]
mov dword [rsp + 0x20], r10d
movzx ecx, byte [rax]
mov dword [rdx + 0x34], ecx
inc qword [rbx + 0x50]
mov rcx, qword [rbx + 0x50]
movzx eax, byte [rcx]
mov byte [rsp + 0x20], al
lea rax, [rcx + 1]
mov qword [rbx + 0x50], rax
mov eax, dword [rsp + 0x20]
mov dword [rdx + 0x48], eax
mov rcx, qword [rbx + 0x50]
mov dword [rsp + 0x20], r10d
movzx eax, byte [rcx]
mov byte [rsp + 0x20], al
lea rax, [rcx + 2]
mov qword [rbx + 0x50], rax
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0x38], ecx
cmp ecx, 1
jne 0x140022aed
add qword [rbx + 0x50], 0x14
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
test ecx, ecx
je 0x140022af7
mov eax, ecx
add qword [rbx + 0x50], 0x14
sub rax, 1
jne 0x140022ae0
jmp 0x140022af7
cmp ecx, 2
jne 0x140022af7
add qword [rbx + 0x50], 0x2c
test byte [rsp + 0x20], 0x40
je 0x140022b6c
mov rax, qword [rbx + 0x50]
mov dword [rsp + 0x20], r10d
movzx ecx, word [rax]
add rax, 2
mov qword [rbx + 0x50], rax
mov word [rdx + 0x8a], cx
mov rax, qword [rbx + 0x50]
add rax, 6
mov qword [rbx + 0x50], rax
movzx ecx, word [rax]
add rax, 2
mov qword [rbx + 0x50], rax
mov word [rdx + 0x8c], cx
add qword [rbx + 0x50], 2
mov rcx, qword [rbx + 0x50]
movzx eax, byte [rcx]
mov byte [rsp + 0x20], al
lea rax, [rcx + 1]
mov qword [rbx + 0x50], rax
movzx eax, word [rsp + 0x20]
mov word [rdx + 0x88], ax
mov rax, qword [rbx + 0x50]
mov ecx, dword [rax]
add rax, 4
mov qword [rbx + 0x50], rax
mov dword [rdx + 0x44], ecx
inc r8d
add r9, 0x90
sub rsi, 1
jne 0x140022940
add qword [rbx + 0x50], 4
mov rax, qword [rbx + 0x50]
mov rsi, qword [rsp + 0x38]
mov ecx, dword [rax]
mov dword [r15], ecx
add rsp, 0x40
pop r15
pop r14
pop rbx
ret
lea rax, str.ParsingError
lea rdx, [0x1400aefc0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3