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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r9, rcx
or eax, 0xffffffff
mov word [rbp + 0x70], ax
xor ecx, ecx
mov r12d, 1
mov esi, ecx
mov dword [rsp + 0x20], r12d
mov rdi, qword [r9 + 0x18]
mov rbx, qword [r9]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x38], rbx
movzx eax, byte [rdi + 0x10]
mov r15, qword [rbx + 8]
imul r8, rax, 0x70
add r15, 8
add r15, r8
mov r8, qword [r9 + 8]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r8
mov r13, qword [r15 + 0x68]
mov r14, qword [r15 + 0x20]
mov qword [rsp + 0x28], r14
test r13, r13
jne 0x1401e548a
test byte [r14 + 0x40], 0x80
je 0x1401e541c
mov r13, qword [r14 + 0x10]
jmp 0x1401e548a
xor edx, edx
lea rcx, [rbp - 0x60]
lea r8d, [rdx + 0x70]
call fcn.14028e7e0
mov dword [rbp - 2], 0x10001
lea rax, [rbp + 0x70]
mov qword [rbp - 0x58], rax
xor ecx, ecx
mov byte [rbp + 2], 5
lea rax, [rsp + 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r14
movzx eax, word [r14 + 0x4c]
or dword [rbp + 4], 3
mov word [rbp - 4], ax
movzx eax, word [r14 + 0x4a]
mov word [rsp + 0x30], ax
mov word [rsp + 0x32], cx
test byte [r15 + 0x40], r12b
jne 0x1401e547d
mov rax, qword [r15 + 0x20]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x38], rcx
xor ecx, ecx
mov r9, qword [rbp + 0x60]
lea r13, [rbp - 0x60]
mov r8, qword [rsp + 0x40]
movzx r12d, word [r14 + 0x4a]
cmp r12w, 0xa
jg 0x1401e549c
movzx r14d, cx
jmp 0x1401e54a9
movsx rcx, r12w
call fcn.1401ad480
lea r14d, [rax - 0x21]
cmp qword [r9 + 0x20], rsi
jne 0x1401e55f0
test byte [rbx + 0x3c], 0x20
jne 0x1401e55f0
mov rax, qword [rbx]
mov rcx, qword [rax]
mov eax, dword [rcx + 0x30]
bt rax, 0xf
jae 0x1401e55f0
mov rbx, qword [rsp + 0x28]
cmp qword [r15 + 0x68], rsi
jne 0x1401e55f5
mov eax, dword [r15 + 0x40]
test al, 1
jne 0x1401e55f5
test byte [rbx + 0x40], 0x80
jne 0x1401e55f5
test al, 0x28
jne 0x1401e55f5
movsxd r15, dword [r8 + 0x14]
mov rbx, qword [r8 + 0x20]
shl r15, 6
add r15, rbx
nop dword [rax]
cmp rbx, r15
jae 0x1401e55e2
mov rax, qword [rdi + 8]
test qword [rbx + 0x30], rax
jne 0x1401e55c0
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, rbx
call fcn.1401db630
test eax, eax
je 0x1401e55c0
mov rcx, qword [rsp + 0x28]
mov eax, 1
mov word [rdi + 0x18], ax
xor edx, edx
mov dword [rdi + 0x2c], eax
mov rax, qword [rdi + 0x38]
mov qword [rdi + 0x20], rdx
mov qword [rax], rbx
lea eax, [r12 + r14]
mov word [rdi + 0x12], ax
cmp qword [rcx + 0x18], rdx
jne 0x1401e5577
test byte [rcx + 0x40], 2
jne 0x1401e5577
add ax, 0x1c
jmp 0x1401e557b
sub ax, 0xa
mov word [rdi + 0x12], ax
cmp ax, dx
jge 0x1401e5588
mov word [rdi + 0x12], dx
mov eax, 0x2b
movzx ecx, r14w
mov edx, eax
mov word [rdi + 0x16], ax
call fcn.1401ad510
mov rcx, qword [rbp + 0x60]
mov rdx, rdi
mov word [rdi + 0x14], ax
mov dword [rdi + 0x28], 0x4000
mov rax, qword [rbx + 0x30]
or rax, qword [rbp + 0x68]
mov qword [rdi], rax
call fcn.1401e7360
mov esi, eax
add rbx, 0x40
test esi, esi
je 0x1401e5510
mov eax, esi
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test esi, esi
jne 0x1401e55cc
mov r15, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
test r13, r13
je 0x1401e55cc
movzx edx, byte [r15 + 0x3c]
mov r9, qword [r13 + 0x48]
shr edx, 5
and edx, 1
test r9, r9
je 0x1401e561f
mov ecx, dword [r15 + 0x44]
call fcn.1401e97a0
test eax, eax
je 0x1401e58e9
xor r12d, r12d
test dword [r13 + 0x64], 0x100
jne 0x1401e58ec
mov rax, qword [r13 + 0x10]
mov rdx, r13
mov r14, qword [rbp + 0x60]
mov rcx, r14
movzx esi, word [rax]
mov rax, qword [rbp + 0x68]
mov qword [rdi], rax
mov dword [rdi + 0x18], r12d
mov word [rdi + 0x1c], r12w
mov dword [rdi + 0x2c], r12d
mov byte [rdi + 0x11], r12b
mov word [rdi + 0x12], r12w
mov word [rdi + 0x16], si
mov qword [rdi + 0x20], r13
mov r8d, dword [r15 + 0x44]
mov word [rbp + 0x78], si
call fcn.1401798f0
mov edx, dword [r13 + 0x64]
mov r9d, eax
mov ecx, edx
and ecx, 3
cmp cl, 3
jne 0x1401e56a7
movzx ecx, byte [rsp + 0x20]
test eax, eax
mov edx, r12d
mov dword [rdi + 0x28], 0x100
cmovne edx, ecx
lea eax, [rsi + 0x10]
mov byte [rdi + 0x11], dl
mov word [rdi + 0x14], ax
jmp 0x1401e589a
test dl, 0x20
je 0x1401e56b6
mov eax, 0x240
mov r8, r12
jmp 0x1401e56cb
mov r8, qword [r13 + 0x68]
mov eax, 0x200
and r8, qword [r15 + 0x58]
mov ecx, 0x240
cmove eax, ecx
mov dword [rdi + 0x28], eax
test r9d, r9d
jne 0x1401e5731
test byte [rbx + 0x40], 0x80
jne 0x1401e5731
cmp qword [r13 + 0x48], r12
jne 0x1401e5731
test r8, r8
jne 0x1401e58c2
test byte [r13 + 0x64], 4
jne 0x1401e58c2
movzx eax, word [rbx + 0x4c]
cmp word [r13 + 0x5c], ax
jge 0x1401e58c2
mov r10, qword [rsp + 0x38]
test byte [r10 + 0x3c], 4
jne 0x1401e58c2
cmp byte [reloc.WS2_32.dll_accept], r12b
je 0x1401e58c2
mov rax, qword [r10]
mov rcx, qword [rax]
test byte [rcx + 0x5c], 0x20
jne 0x1401e58c2
jmp 0x1401e5736
mov r10, qword [rsp + 0x38]
movzx eax, byte [rsp + 0x20]
test r9d, r9d
mov ecx, r12d
cmovne ecx, eax
mov byte [rdi + 0x11], cl
movsx eax, word [r13 + 0x5c]
movsx ecx, word [rbx + 0x4c]
imul eax, eax, 0xf
cdq
idiv ecx
inc ax
add ax, si
mov word [rdi + 0x14], ax
test r8, r8
je 0x1401e589a
mov r12d, dword [r15 + 0x44]
lea ebx, [rsi + 0x10]
xor eax, eax
mov r14d, eax
cmp dword [r10 + 0x7c], eax
jle 0x1401e581a
mov r15d, eax
lea rdi, [0x140171330]
nop dword [rax]
mov rsi, qword [r10 + 0x88]
xor eax, eax
add rsi, r15
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
lea rax, [rbp - 0x78]
mov rdx, qword [rsi]
mov dword [rbp - 0x70], r12d
mov qword [rbp - 0x78], r13
mov qword [rsp + 0x60], rdi
mov qword [rbp - 0x80], rax
test rdx, rdx
je 0x1401e57dc
lea rcx, [rsp + 0x58]
call fcn.1401e43f0
mov r10, qword [rsp + 0x38]
cmp word [rsp + 0x7c], 0
jne 0x1401e580c
movzx eax, word [rsi + 0x10]
test ax, ax
jg 0x1401e57f2
add bx, ax
jmp 0x1401e57ff
dec bx
test byte [rsi + 0x14], 0x82
je 0x1401e57ff
add bx, 0xffed
inc r14d
add r15, 0x40
cmp r14d, dword [r10 + 0x7c]
jl 0x1401e5790
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
movzx esi, word [rbp + 0x78]
movzx edx, word [rdi + 0x14]
cmp dx, bx
jl 0x1401e5855
movsx r8d, bx
movsx ecx, dx
lea eax, [r8 + 0x31]
cmp ecx, eax
jg 0x1401e588a
lea eax, [r8 + 0x1f]
cmp ecx, eax
jle 0x1401e583f
inc dx
jmp 0x1401e588a
sub ecx, r8d
movsxd rax, ecx
lea rcx, [0x1402f6b58]
movzx ecx, byte [rax + rcx]
add dx, cx
jmp 0x1401e588a
movsx r8d, dx
movsx ecx, bx
lea eax, [r8 + 0x31]
cmp ecx, eax
jle 0x1401e5869
movzx edx, bx
jmp 0x1401e588a
lea eax, [r8 + 0x1f]
cmp ecx, eax
jle 0x1401e5876
lea edx, [rbx + 1]
jmp 0x1401e588a
sub ecx, r8d
movsxd rax, ecx
lea rcx, [0x1402f6b58]
movzx edx, byte [rax + rcx]
add dx, bx
mov rbx, qword [rsp + 0x28]
xor r12d, r12d
mov r14, qword [rbp + 0x60]
mov word [rdi + 0x14], dx
mov rcx, qword [rsp + 0x40]
movzx r8d, si
mov rdx, rdi
call fcn.1401e74c0
mov rdx, rdi
mov rcx, r14
call fcn.1401e7360
mov word [rdi + 0x16], si
test eax, eax
jne 0x1401e55ce
xor r9d, r9d
mov dword [r14 + 0x28], r12d
mov r8, r13
mov rdx, r15
mov rcx, r14
call fcn.1401e5920
cmp dword [r14 + 0x28], 1
mov esi, eax
jne 0x1401e58ec
or dword [rbx + 0x40], 0x100
jmp 0x1401e58ec
xor r12d, r12d
cmp qword [r15 + 0x68], 0
je 0x1401e58f8
mov r13, r12
jmp 0x1401e58fc
mov r13, qword [r13 + 0x28]
inc dword [rsp + 0x20]
test esi, esi
jne 0x1401e55cc
mov r8, qword [rsp + 0x40]
jmp 0x1401e55f5