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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
movzx r12d, byte [rdx + 0x8a]
mov r13, rcx
mov rbx, rdx
mov edi, r8d
mov ebp, r9d
and r12d, 1
jne 0x14002c066
cmp r8d, 2
jne 0x14002bf56
mov byte [rcx + 0x1a1], 1
or byte [rdx + 0x8a], 1
cmp word [rdx + 0x88], 0
jne 0x14002c066
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x14002bf6d
test byte [rax + 0x13], 4
jne 0x14002c066
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14002bfb6
mov r9, qword [rbx + 8]
mov r8d, dword [rbx + 0x80]
mov rcx, r13
call qword [r13 + 0x438]
mov rcx, qword [rbx + 0x10]
mov dword [rbx + 0x80], 0xffffffff
call fcn.1400771af
mov qword [rbx + 0x10], 0
jmp 0x14002c069
test byte [rbx + 0x8c], 3
jne 0x14002bfea
cmp edi, 4
jg 0x14002bfea
cmp edi, 1
je 0x14002bfea
mov rax, qword [r13 + 0x4b8]
test rax, rax
jne 0x14002c1fa
nop dword [rax + rax]
or byte [rbx + 0x8c], 3
mov r8d, ebp
mov rdx, rbx
mov rcx, r13
call fcn.14002ac27
test al, al
je 0x14002c066
mov rax, qword [0x14019e570]
test rax, rax
je 0x14002c0d1
cmp edi, 2
jne 0x14002c086
mov rdx, qword [rbx + 0x60]
mov ecx, 0x100
mov qword [rsp + 0x50], rbx
lea rsi, [0x14002ae8d]
mov qword [rsp + 0x20], rsi
mov r9d, 0x20
mov qword [rsp + 0x30], rdx
mov r8, qword [rax]
lea rdx, [rax + 0x10]
mov word [rsp + 0x48], cx
lea rcx, [rsp + 0x30]
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x14002c0d1
nop
xor r12d, r12d
mov eax, r12d
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rax + 8], 0
je 0x14002c0d1
mov rdx, qword [rbx + 0x60]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x50], rbx
lea rsi, [0x14002ae8d]
mov qword [rsp + 0x20], rsi
mov r9d, 0x20
mov qword [rsp + 0x30], rdx
xor edx, edx
mov r8, qword [rax]
mov word [rsp + 0x48], dx
lea rdx, [rax + 0x10]
call sub.msvcrt.dll_bsearch
test rax, rax
jne 0x14002c4de
cmp byte [r13 + 0x1a1], 0
je 0x14002c31a
mov rsi, qword [r13 + 0x118]
test rsi, rsi
jne 0x14002c10b
jmp 0x14002c31a
mov rsi, qword [rsi + 0x20]
test rsi, rsi
je 0x14002c31a
cmp rbx, rsi
je 0x14002c0fe
cmp edi, 2
je 0x14002c12a
test byte [rsi + 0x8a], 1
je 0x14002c0fe
mov r8d, dword [rsi + 0x84]
test r8d, r8d
jne 0x14002c0fe
mov rax, qword [rbx + 0x70]
cmp qword [rsi + 0x70], rax
jne 0x14002c0fe
mov rax, qword [rbx + 0x60]
cmp qword [rsi + 0x60], rax
jne 0x14002c0fe
cmp qword [rsi + 0x28], 0
mov r12, rsi
je 0x14002c171
test byte [rsi + 0x8a], 4
je 0x14002c499
mov r8d, ebp
mov rdx, r12
mov rcx, r13
call fcn.14002ac27
test al, al
je 0x14002c2ca
mov r8, qword [rbx + 0x60]
cmp qword [r12 + 0x60], r8
jne 0x14002c2ca
mov rdx, qword [rbx + 0x28]
mov rcx, qword [r12 + 0x28]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14002c2ca
cmp qword [rsi + 0x28], 0
je 0x14002c066
test byte [rsi + 0x8a], 4
jne 0x14002c066
mov qword [r12 + 8], 0
mov rcx, qword [r12 + 0x30]
call fcn.1400771af
mov rcx, qword [r12]
call fcn.1400771af
mov rcx, qword [r12 + 8]
call fcn.1400771af
mov rcx, r12
call fcn.1400771af
jmp 0x14002c066
mov rdx, qword [r13 + 0x28]
mov r9, qword [rbx + 8]
mov r8d, ebp
mov rcx, r13
call rax
mov r14, rax
test rax, rax
je 0x14002bfea
mov r9d, 1
mov r8d, 2
mov rcx, r13
xor esi, esi
lea rdx, [0x1400981e0]
call fcn.140024c30
mov rcx, r14
call sub.msvcrt.dll_strlen
mov rdx, r14
mov r9d, 1
mov rcx, r13
mov byte [r14 + rax], 0xa
mov r8, rax
call fcn.140024c30
mov rdx, qword [rax + 0x18]
mov qword [rax + 0x28], rdx
movzx eax, byte [rbx + 0x8c]
and eax, 0xfffffffc
or eax, 1
mov byte [rbx + 0x8c], al
mov byte [r13 + 0x1a1], 1
or byte [rbx + 0x8a], 1
movzx eax, byte [rbx + 0x8c]
and eax, 3
cmp qword [rbx + 0x10], 0
je 0x14002c40a
cmp al, 1
je 0x14002c464
cmp edi, 6
mov dword [rsp + 0x20], esi
mov r8, qword [rbx + 8]
mov rcx, r13
setne r9b
xor edx, edx
mov r12d, 1
movzx r9d, r9b
call fcn.1400241ab
jmp 0x14002c069
cmp qword [rsi + 0x28], 0
je 0x14002c0fe
test byte [rsi + 0x8a], 4
jne 0x14002c0fe
mov qword [r12 + 8], 0
mov rcx, qword [r12 + 0x30]
call fcn.1400771af
mov rcx, qword [r12]
call fcn.1400771af
mov rcx, qword [r12 + 8]
call fcn.1400771af
mov rcx, r12
call fcn.1400771af
jmp 0x14002c0fe
mov rax, qword [r13]
test rax, rax
je 0x14002c476
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x14002c476
movzx ebp, byte [rdx + 0x14]
movzx eax, byte [rax + 0x69]
cmp bpl, al
cmovb ebp, eax
xor edx, edx
movzx esi, bpl
test esi, esi
setne dl
movzx eax, word [rbx + 0x88]
cmp dword [r13 + 0x534], edx
jle 0x14002c39e
test ax, ax
jne 0x14002c39e
mov rdx, qword [rbx + 8]
cmp byte [rdx], 0
je 0x14002c39e
cmp qword [r13 + 0x120], rbx
je 0x14002c4f2
mov rcx, qword [r13 + 0x330]
call fcn.14003e542
movzx eax, word [rbx + 0x88]
nop dword [rax]
add eax, 1
and byte [rbx + 0x8a], 0xfb
xor r9d, r9d
mov word [rbx + 0x88], ax
cmp byte [r13 + 0x4ff], 0
je 0x14002c3d0
movzx r9d, byte [r13 + 0x564]
xor r9d, 1
movzx r9d, r9b
mov rdx, qword [rbx + 0x28]
mov r8, qword [rbx + 0x60]
mov rcx, r13
call fcn.140024c30
mov byte [rax + 0x69], bpl
mov rdx, qword [rbx + 0x30]
mov qword [rax + 0x50], rbx
mov qword [rax + 0x28], rdx
mov byte [r13 + 0x1b8], 1
mov qword [r13 + 0x1a8], 0
jmp 0x14002c27e
cmp edi, 2
jg 0x14002c486
mov r9, qword [r13 + 0x28]
mov edx, dword [r9 + 0x38]
cmp edx, 0x6fffffff
je 0x14002c293
sub edx, 1
mov dword [r9 + 0x38], edx
cmp al, 1
jne 0x14002c29b
mov eax, dword [r9 + 0xc]
mov edx, dword [r9 + 0x3c]
xor r8d, r8d
sub eax, 1
cdqe
shl rax, 5
add rax, qword [r9]
movzx ecx, byte [rax + 0xc]
sub edx, dword [rax]
mov eax, dword [rax + 0x18]
shr edx, cl
mov rcx, r9
lea edx, [rdx + rax - 1]
call fcn.140035f1a
mov r12d, 1
jmp 0x14002c069
xor ebp, ebp
xor edx, edx
xor esi, esi
jmp 0x14002c34d
mov r12d, 1
cmp al, 1
je 0x14002c069
jmp 0x14002c29b
mov r15, qword [rsi + 0x40]
mov edx, 0x90
mov ecx, 1
mov r14, qword [rsi]
call fcn.14006421d
mov dword [rax + 0x80], 0xffffffff
mov rcx, r14
mov r12, rax
mov qword [rax + 0x40], r15
call fcn.140064390
mov qword [r12], rax
mov rax, qword [rsi + 8]
mov qword [r12 + 8], rax
jmp 0x14002c171
mov byte [r13 + 0x1a1], 1
or byte [rbx + 0x8a], 1
jmp 0x14002c069
cmp byte [r13 + 0x53b], 0
jne 0x14002c39e
jmp 0x14002c384