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

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x50
mov r14, qword [rcx]
mov esi, edx
mov r13, qword [rcx + 8]
xor edx, edx
mov rbx, qword [rcx + 0x10]
mov r10d, r8d
mov rdi, rcx
mov dword [rsp + 0x3c], edx
mov ebp, dword [r14 + 0x44]
mov r12d, edx
movzx eax, byte [r13 + 0x20]
dec ebp
mov dword [rsp + 0x38], edx
mov byte [rsp + 0x98], al
mov dword [rsp + 0x90], ebp
mov dword [r14 + 0x44], ebp
mov dword [rsp + 0x34], edx
cmp esi, 2
jne 0x14023f161
cmp byte [r13 + 0x21], 0x57
jne 0x14023f161
xor eax, eax
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test r10d, r10d
jle 0x14023f231
cmp byte [r13 + 0x20], 0x56
movsxd rax, dword [rbx + 0x90]
jne 0x14023f1da
mov dword [rsp + 0x34], eax
cmp esi, 2
jne 0x14023f1b9
movzx ecx, byte [r13 + 0x21]
cmp cl, 0x53
jne 0x14023f191
mov r8d, dword [rdi + 0x30]
jmp 0x14023f195
mov r8d, dword [rdi + 0x28]
cmp cl, 0x53
mov eax, 0x39
mov edx, 0x37
mov r9d, 0x30
cmovne edx, eax
mov eax, 0x28
cmovne eax, r9d
mov ecx, dword [rax + rdi]
jmp 0x14023f1c5
mov r8d, dword [rcx + 0x38]
mov edx, 0x36
mov ecx, dword [rcx + 0x30]
mov dword [rsp + 0x28], ebp
mov r9d, r10d
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.14023f5f0
jmp 0x14023f231
mov r12, rax
cmp dword [rbx + 0x94], eax
jg 0x14023f201
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov rcx, rbx
lea edx, [r9 + 0x2f]
call fcn.1401c6d10
mov r12d, eax
jmp 0x14023f231
lea rcx, [r12 + r12*2]
inc eax
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x2f
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], 1
mov qword [rax + rcx*8 + 0x10], rdx
cmp esi, 1
jne 0x14023f247
cmp dword [r13 + 0x7c], 0
jne 0x14023f247
xor edx, edx
mov rcx, rdi
call fcn.14023e070
mov eax, dword [rbx + 0x90]
mov ecx, esi
mov qword [rsp + 0xa0], r15
mov dword [rsp + 0x40], eax
sub ecx, 1
je 0x14023f2ef
cmp ecx, 1
je 0x14023f2b0
cmp dword [r13 + 0x7c], 0
mov eax, dword [rdi + 0x3c]
mov r15d, dword [rdi + 0x38]
mov dword [rsp + 0x30], eax
je 0x14023f296
mov r8d, dword [r13 + 0x80]
mov r9d, 1
mov rcx, rbx
lea edx, [r9 + 0x52]
call fcn.140217140
jmp 0x14023f302
mov eax, dword [rdi + 0x20]
xor r9d, r9d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rdx, r13
mov rcx, r14
call fcn.14023e460
jmp 0x14023f302
mov r8d, dword [r13 + 0x7c]
mov r9d, 1
mov eax, dword [rdi + 0x2c]
mov r15d, dword [rdi + 0x28]
mov dword [rsp + 0x30], eax
test r8d, r8d
je 0x14023f2d8
lea edx, [r9 + 0x52]
mov rcx, rbx
call fcn.140217140
jmp 0x14023f302
mov eax, dword [rdi + 0x20]
mov r8d, r15d
mov rdx, r13
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.14023e460
jmp 0x14023f302
mov eax, dword [rdi + 0x34]
mov rcx, rdi
mov r15d, dword [rdi + 0x30]
mov dword [rsp + 0x30], eax
call fcn.1402408b0
cmp esi, dword [rdi + 0x24]
jne 0x14023f337
mov r8d, r15d
mov edx, 0x7b
mov rcx, rbx
call fcn.1402170d0
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x14023f337
lea rcx, [rax + rax*2]
mov edx, 2
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], dx
cmp dword [rsp + 0xa8], 0
movsxd rcx, dword [rbx + 0x90]
mov eax, dword [rbx + 0x94]
je 0x14023f3c1
lea edx, [rcx + 2]
cmp eax, ecx
jg 0x14023f372
mov r9d, edx
mov dword [rsp + 0x20], 0
mov edx, 5
mov r8d, r15d
mov rcx, rbx
call fcn.1401c6d10
jmp 0x14023f3a3
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov edx, listen
mov rcx, rbx
call fcn.140217060
movzx esi, byte [rsp + 0x98]
mov dword [rsp + 0x3c], eax
jmp 0x14023f441
movzx esi, byte [rsp + 0x98]
xor r8d, r8d
cmp sil, 0x4c
mov edx, r8d
setne dl
inc edx
add edx, ecx
cmp eax, ecx
jg 0x14023f3f8
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r15d
mov edx, 5
mov rcx, rbx
call fcn.1401c6d10
jmp 0x14023f426
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
cmp sil, 0x4c
je 0x14023f4d2
mov edx, listen
mov rcx, rbx
call fcn.140217060
mov dword [rsp + 0x38], eax
cmp sil, 0x4c
je 0x14023f4d2
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x14023f466
mov esi, dword [rcx]
test esi, esi
je 0x14023f46c
mov edx, esi
mov rcx, r14
call fcn.1401fe760
jmp 0x14023f46e
xor eax, eax
mov esi, eax
jmp 0x14023f46e
xor eax, eax
mov r8d, eax
mov edx, r15d
mov rcx, rdi
mov ebp, eax
call fcn.1402407a0
mov eax, dword [rsp + 0x40]
mov r8d, ebp
mov r9d, dword [rsp + 0x30]
mov rcx, r14
mov rdx, qword [r13 + 0x18]
mov dword [rsp + 0x20], eax
call fcn.1402402c0
cmp esi, 1
jne 0x14023f4bd
test ebp, ebp
je 0x14023f4cb
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x14023f4cb
movzx eax, al
mov dword [r14 + rax*4 + 0xcc], ebp
inc byte [r14 + 0x1f]
jmp 0x14023f4cb
cmp esi, dword [r14 + 0x28]
jle 0x14023f4cb
mov dword [r14 + 0x28], esi
mov dword [r14 + 0x2c], ebp
mov ebp, dword [rsp + 0x90]
mov edx, dword [rsp + 0x34]
mov r15, qword [rsp + 0xa0]
test edx, edx
je 0x14023f537
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x14023f50a
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0xb]
call fcn.1401c6d10
jmp 0x14023f537
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], listen
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [rbx + 0x18]
not ebp
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14023f552
mov r8d, ebp
mov rdx, rbx
call fcn.1401d7da0
jmp 0x14023f562
mov rcx, qword [rcx + 0x50]
mov eax, dword [rbx + 0x90]
movsxd rdx, ebp
mov dword [rcx + rdx*4], eax
mov ecx, dword [rsp + 0x38]
lea rdx, [0x1403dbb90]
test ecx, ecx
je 0x14023f5a4
mov rax, qword [rbx]
mov r8d, dword [rbx + 0x90]
cmp byte [rax + 0x61], 0
je 0x14023f586
mov rax, rdx
jmp 0x14023f5a0
test ecx, ecx
lea eax, [r8 - 1]
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], r8d
test r12d, r12d
je 0x14023f5d9
mov rax, qword [rbx]
mov r8d, dword [rbx + 0x90]
cmp byte [rax + 0x61], 0
jne 0x14023f5d5
lea eax, [r8 - 1]
test r12d, r12d
cmovns eax, r12d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rdx, [rax + rcx*8]
mov dword [rdx + 8], r8d
mov eax, dword [rsp + 0x3c]
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret