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

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r13d, r13d
mov eax, r9d
mov rbx, rdx
mov rdi, rcx
test r9d, r9d
je 0x140023cfa
mov r9d, dword [rsp + 0x90]
mov ecx, eax
mov eax, 0x101
lea r12d, [r13 + r8]
sub ecx, r13d
mov edx, r13d
cmp ecx, eax
cmovb eax, ecx
add rdx, r9
mov dword [rbx + 0x30edc], eax
and r12d, dword [rdi + 0x3c]
imul rdx, rdx, 7
mov dword [rbx + 0x30ed0], r12d
mov rcx, qword [rdi + 0x65d0]
mov esi, r12d
movzx eax, byte [rdx + rcx]
movzx r9d, word [rdx + rcx + 1]
mov ebp, dword [rdx + rcx + 3]
and ebp, dword [rdi + 0x3c]
and esi, 0xffffff00
mov qword [rsp + 0x28], rdx
or esi, eax
mov eax, r12d
and eax, 0xffff0000
or r9d, eax
and r9d, dword [rdi + 0x3c]
cmp r9d, r12d
jb 0x1400239c9
add r9d, 0xffff0000
and r9d, dword [rdi + 0x3c]
cmp esi, r12d
jb 0x1400239d7
add esi, 0xffffff00
and esi, dword [rdi + 0x3c]
mov rdx, qword [rdi]
lea ecx, [r12 + 1]
mov al, byte [rsi + rdx]
mov r8b, byte [rbp + rdx]
mov r14b, byte [r9 + rdx]
mov byte [rsp + 0x21], al
mov rax, qword [rdi + 0x28]
mov r10d, dword [rax + r12*4]
mov eax, dword [rdi + 0x3c]
and rcx, rax
mov dword [rsp + 0x24], r10d
mov r10b, byte [r12 + rdx]
mov r15b, byte [rcx + rdx]
mov edx, 1
mov byte [rsp + 0x20], r10b
cmp dword [rbx + 0x30ec8], edx
mov dword [rbx + 0x30ed8], 1
jl 0x140023a42
lea ecx, [rdx + 3]
mov rax, qword [rbx + 0x30eb8]
inc edx
and dword [rcx + rax], 0
add rcx, 4
cmp edx, dword [rbx + 0x30ec8]
jle 0x140023a29
and dword [rbx + 0x30ec8], 0
cmp r8b, r10b
jne 0x140023ad7
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [rbp + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x140023ad7
mov edx, dword [rdi + 0x3c]
lea ecx, [r12 + 2]
lea r8d, [rbp + 2]
and rcx, rdx
and r8, rdx
mov al, byte [rcx + r10]
cmp byte [r8 + r10], al
jne 0x140023ad7
mov edx, dword [rdi + 0x3c]
lea ecx, [r12 + 3]
lea r8d, [rbp + 3]
and rcx, rdx
and r8, rdx
mov al, byte [rcx + r10]
cmp byte [r8 + r10], al
jne 0x140023ad7
cmp dword [rbx + 0x30edc], 3
jle 0x140023ad7
mov ecx, r12d
sub ecx, ebp
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x3fffe
ja 0x140023ad7
cmp ecx, dword [rdi + 0x40]
jae 0x140023ad7
mov rax, qword [rbx + 0x30eb8]
mov dword [rbx + 0x30ed8], 4
mov dword [rbx + 0x30ed4], ecx
mov dword [rax + 0x10], ecx
mov bpl, byte [rsp + 0x20]
cmp r14b, bpl
jne 0x140023b5d
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [r9 + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x140023b5d
mov edx, dword [rdi + 0x3c]
lea ecx, [r12 + 2]
lea r8d, [r9 + 2]
and rcx, rdx
and r8, rdx
mov al, byte [rcx + r10]
cmp byte [r8 + r10], al
jne 0x140023b5d
cmp dword [rbx + 0x30edc], 2
jle 0x140023b5d
mov ecx, r12d
sub ecx, r9d
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x1ffe
ja 0x140023b5d
cmp dword [rbx + 0x30ed8], 4
jl 0x140023b43
mov eax, dword [rbx + 0x30ed4]
shr eax, 5
cmp ecx, eax
jae 0x140023b5d
mov rax, qword [rbx + 0x30eb8]
mov dword [rbx + 0x30ed8], 3
mov dword [rbx + 0x30ed4], ecx
mov dword [rax + 0xc], ecx
mov edx, dword [rbx + 0x30ed8]
mov r14d, 1
cmp edx, 4
jge 0x140023bc5
cmp byte [rsp + 0x21], bpl
jne 0x140023bc5
mov r8d, dword [rdi + 0x3c]
mov rax, qword [rdi]
lea ecx, [rsi + 1]
and rcx, r8
cmp byte [rcx + rax], r15b
jne 0x140023bc5
cmp dword [rbx + 0x30edc], r14d
jle 0x140023bc5
mov ecx, r12d
sub ecx, esi
and ecx, r8d
cmp edx, r14d
je 0x140023bab
mov eax, dword [rbx + 0x30ed4]
shr eax, 0xa
cmp ecx, eax
jae 0x140023bc5
mov rax, qword [rbx + 0x30eb8]
mov dword [rbx + 0x30ed8], 2
mov dword [rbx + 0x30ed4], ecx
mov dword [rax + 8], ecx
cmp dword [rbx + 0x30ed8], r14d
jle 0x140023bd8
mov dword [rbx + 0x30ec8], 4
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x140023bf2
mov r8d, dword [rdi + 0x4c]
mov r9d, eax
mov rdx, rbx
mov rcx, rdi
call fcn.14001f7c4
mov ecx, dword [rbx + 0x30ed8]
cmp ecx, 2
jl 0x140023c13
cmp byte [rdi + 0x14ed], 0
jne 0x140023c0f
cmp dword [rbx + 0x30ed4], r12d
ja 0x140023c13
xor al, al
jmp 0x140023c16
mov al, r14b
xor sil, sil
test al, al
jne 0x140023c52
cmp dword [rdi + 0x48], 2
jl 0x140023c99
cmp ecx, dword [rbx + 0x30edc]
jge 0x140023c99
mov rax, qword [rdi + 0x65d0]
mov rcx, qword [rsp + 0x28]
mov r8d, dword [rdi + 0x50]
mov r9d, dword [rcx + rax + 0xa]
mov rdx, rbx
mov rcx, rdi
call fcn.140022184
test al, al
je 0x140023c99
mov sil, r14b
mov rdx, rbx
mov rcx, rdi
call fcn.140021c78
test sil, sil
je 0x140023cb2
movzx eax, bpl
mov byte [rbx + 0x30efc], r14b
mov dword [rbx + 0x30ef0], eax
mov eax, dword [rbx + 0x30ef4]
mov dword [rbx + 0x30f00], eax
mov eax, dword [rbx + 0x30ed4]
mov dword [rbx + 0x30ef4], eax
mov eax, dword [rbx + 0x30ed8]
mov dword [rbx + 0x30ef8], eax
jmp 0x140023cd7
mov rdx, rbx
mov rcx, rdi
call fcn.140021cec
mov r11d, dword [rbx + 0x30ed8]
lea r13d, [r13 + r11 - 1]
jmp 0x140023cd7
mov eax, dword [rbx + 0x30668]
lea rcx, [rax + rax*2]
mov word [rbx + rcx*2], r14w
mov eax, dword [rbx + 0x30668]
lea rcx, [rax + rax*2]
mov byte [rbx + rcx*2 + 2], bpl
add dword [rbx + 0x30668], r14d
mov eax, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x90]
add r13d, r14d
cmp r13d, eax
jb 0x140023953
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.140021c78