Function at 0x14002390c
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 0x140023cee
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 0x1400239bd
add r9d, 0xffff0000
and r9d, dword [rdi + 0x3c]
cmp esi, r12d
jb 0x1400239cb
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 0x140023a36
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 0x140023a1d
and dword [rbx + 0x30ec8], 0
cmp r8b, r10b
jne 0x140023acb
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [rbp + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x140023acb
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 0x140023acb
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 0x140023acb
cmp dword [rbx + 0x30edc], 3
jle 0x140023acb
mov ecx, r12d
sub ecx, ebp
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x3fffe
ja 0x140023acb
cmp ecx, dword [rdi + 0x40]
jae 0x140023acb
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 0x140023b51
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [r9 + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x140023b51
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 0x140023b51
cmp dword [rbx + 0x30edc], 2
jle 0x140023b51
mov ecx, r12d
sub ecx, r9d
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x1ffe
ja 0x140023b51
cmp dword [rbx + 0x30ed8], 4
jl 0x140023b37
mov eax, dword [rbx + 0x30ed4]
shr eax, 5
cmp ecx, eax
jae 0x140023b51
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 0x140023bb9
cmp byte [rsp + 0x21], bpl
jne 0x140023bb9
mov r8d, dword [rdi + 0x3c]
mov rax, qword [rdi]
lea ecx, [rsi + 1]
and rcx, r8
cmp byte [rcx + rax], r15b
jne 0x140023bb9
cmp dword [rbx + 0x30edc], r14d
jle 0x140023bb9
mov ecx, r12d
sub ecx, esi
and ecx, r8d
cmp edx, r14d
je 0x140023b9f
mov eax, dword [rbx + 0x30ed4]
shr eax, 0xa
cmp ecx, eax
jae 0x140023bb9
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 0x140023bcc
mov dword [rbx + 0x30ec8], 4
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x140023be6
mov r8d, dword [rdi + 0x4c]
mov r9d, eax
mov rdx, rbx
mov rcx, rdi
call fcn.14001f7b8
mov ecx, dword [rbx + 0x30ed8]
cmp ecx, 2
jl 0x140023c07
cmp byte [rdi + 0x14ed], 0
jne 0x140023c03
cmp dword [rbx + 0x30ed4], r12d
ja 0x140023c07
xor al, al
jmp 0x140023c0a
mov al, r14b
xor sil, sil
test al, al
jne 0x140023c46
cmp dword [rdi + 0x48], 2
jl 0x140023c8d
cmp ecx, dword [rbx + 0x30edc]
jge 0x140023c8d
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.140022178
test al, al
je 0x140023c8d
mov sil, r14b
mov rdx, rbx
mov rcx, rdi
call fcn.140021c6c
test sil, sil
je 0x140023ca6
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 0x140023ccb
mov rdx, rbx
mov rcx, rdi
call fcn.140021ce0
mov r11d, dword [rbx + 0x30ed8]
lea r13d, [r13 + r11 - 1]
jmp 0x140023ccb
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 0x140023947
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.140021c6c