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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
cmp dword [rcx + 0x30], 0
jne 0x1401e20db
mov rdi, r8
mov rbx, rcx
mov rsi, qword [rcx + 0x10]
mov byte [r8], 1
cmp dword [r8 + 0x30], 0
jle 0x1401e20aa
mov dword [rsp + 0x6c], r9d
mov dword [rsp + 0x5c], edx
mov rbp, qword [rdi + 0x28]
xor r15d, r15d
xorps xmm6, xmm6
xor r12d, r12d
mov rax, qword [rbp]
mov r14, qword [rax + 0x20]
test byte [rax + 7], 1
jne 0x1401e2536
mov dword [rsp + 0x3c], 0
cmp dword [rbp + 0x18], 0
mov dword [rsp + 0x50], r12d
jns 0x1401e2396
test r14, r14
je 0x1401e212b
mov ecx, dword [r14]
cmp ecx, 1
mov qword [rsp + 0x40], rcx
je 0x1401e2102
mov eax, dword [rbx + 0x28]
sub eax, ecx
jge 0x1401e2119
mov eax, dword [rbx + 0x38]
lea r13d, [rax + 1]
add eax, ecx
mov dword [rbx + 0x38], eax
mov byte [rsp + 0x20], 1
mov qword [rsp + 0x48], 0
mov rcx, rbx
mov rdx, r14
mov r8d, r13d
xor r9d, r9d
call fcn.140268c10
mov r12d, r13d
mov r8d, dword [rbp + 0x10]
test r8d, r8d
setns al
test r14, r14
setne cl
and cl, al
cmp cl, 1
je 0x1401e24fc
mov r9, qword [rsp + 0x40]
cmp dword [rbp + 0x18], 0
mov r12d, dword [rsp + 0x50]
jns 0x1401e25bf
lea r8, [rbp + 8]
mov rax, qword [rbp + 8]
test byte [rax + 4], 0x20
jne 0x1401e221f
mov r14d, dword [rsp + 0x3c]
mov eax, dword [rdi + 0xc]
add eax, r15d
add eax, dword [rdi + 0x20]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jle 0x1401e2163
lea edx, [rcx + 1]
mov dword [rsi + 0x90], edx
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], Ordinal_167
mov dword [rdx + rcx*8 + 8], r13d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
mov rdx, qword [r8]
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x1401e2378
mov rax, qword [rsi + 0x88]
movsxd rcx, dword [rsi + 0x90]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 - 0x17], 0xf9
mov qword [rax + rcx*8 - 8], rdx
movsxd rax, dword [rsi + 0x90]
test rax, rax
jle 0x1401e205c
movzx ecx, r9b
mov rdx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov word [rdx + rax*8 - 0x16], cx
cmp r9d, 1
jne 0x1401e20f7
test r13d, r13d
je 0x1401e2083
movzx eax, byte [rbx + 0x1f]
cmp rax, 7
ja 0x1401e2083
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rax*4 + 0xd8], r13d
test r14d, r14d
jne 0x1401e24c8
inc r15d
add rbp, 0x20
cmp r15d, dword [rdi + 0x30]
jl 0x1401e1f04
test r12d, r12d
mov edx, dword [rsp + 0x5c]
jne 0x1401e2193
mov eax, dword [rdi + 0x24]
test eax, eax
sete cl
test edx, edx
sete r8b
xor r14d, r14d
or r8b, cl
mov r12d, edx
je 0x1401e2193
test eax, eax
jg 0x1401e21b9
mov byte [rdi], 0
test r14d, r14d
jne 0x1401e21e6
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r9d, dword [rbx + 0x28]
jle 0x1401e2083
jmp 0x1401e2664
mov al, byte [rbx + 0x1f]
test al, al
jne 0x1401e214e
mov r13d, dword [rbx + 0x38]
inc r13d
mov dword [rbx + 0x38], r13d
jmp 0x1401e1f5e
mov r13d, dword [rbx + 0x2c]
add ecx, r13d
mov dword [rbx + 0x2c], ecx
mov dword [rbx + 0x28], eax
jmp 0x1401e1f5e
lea r8, [rbp + 8]
mov rax, qword [rbp + 8]
xor r13d, r13d
test byte [rax + 4], 0x20
mov r9d, 0
jne 0x1401e2270
xor r9d, r9d
jmp 0x1401e1fc1
dec al
mov byte [rbx + 0x1f], al
movzx eax, al
mov r13d, dword [rbx + rax*4 + 0xd8]
jmp 0x1401e1f5e
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov edx, 0xa2
mov qword [rsp + 0x48], r8
xor r8d, r8d
mov qword [rsp + 0x40], r9
mov r9d, r13d
call fcn.1401cbb10
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1401e2010
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, reloc.WS2_32.dll_recvfrom
mov r8d, r12d
xor r9d, r9d
call fcn.140364e30
mov r14d, eax
mov eax, dword [rdi + 0x24]
jmp 0x1401e20c7
mov r15, qword [rdi + 0x18]
add r15, 8
xor ebp, ebp
mov r8d, dword [rdi + 0xc]
add r8d, ebp
mov rdx, qword [r15]
mov rcx, rbx
call fcn.1401d78c0
inc ebp
add r15, 0x18
cmp ebp, dword [rdi + 0x24]
jge 0x1401e20cf
jmp 0x1401e21c3
mov eax, dword [rsi + 0x90]
lea ecx, [rax - 1]
cmp r14d, ecx
je 0x1401e2671
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x1401e267d
movsxd rcx, r14d
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rsi + 0x88]
mov dword [rcx + 8], eax
jmp 0x1401e20db
mov qword [rsp + 0x48], r8
test r9d, r9d
jle 0x1401e25b0
add r14, 8
mov r12d, 1
mov rdx, qword [r14]
mov rcx, rbx
call fcn.1401cbf50
mov r9, qword [rsp + 0x40]
mov r10, rax
add r14, 0x20
test rax, rax
sete al
cmp r12d, r9d
setl cl
inc r12d
test al, cl
jne 0x1401e2237
test r10, r10
mov r12d, dword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
jne 0x1401e2277
mov rax, qword [rbx]
mov r10, qword [rax + 0x10]
test r12d, r12d
mov r14d, dword [rsp + 0x3c]
jne 0x1401e228e
xor r12d, r12d
cmp dword [rdi + 0x24], 0
jne 0x1401e2654
mov eax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x1401e233a
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rsi + 0x90], edx
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x55
mov dword [rdx + rcx*8 + 4], r12d
movups xmmword [rdx + rcx*8 + 8], xmm6
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x1401e1fc6
test eax, eax
js 0x1401e2306
mov rcx, qword [rsi + 0x88]
cdqe
lea rax, [rax + rax*2]
lea rdx, [rcx + rax*8]
cmp byte [rdx + 1], 0
jne 0x1401e2310
test r10, r10
je 0x1401e1fc6
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xfe
jmp 0x1401e1fc6
mov eax, dword [rsi + 0x90]
dec eax
jmp 0x1401e22d9
mov rcx, rsi
mov qword [rsp + 0x48], r8
mov r8, r10
mov qword [rsp + 0x40], r9
mov r9d, 0xfffffffe
call fcn.140265ed0
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1401e1fc6
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x55
mov qword [rsp + 0x48], r8
mov r8d, r12d
mov qword [rsp + 0x40], r9
xor r9d, r9d
mov qword [rsp + 0x50], r10
call fcn.1401cbb10
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1401e22c8
test byte [rdx + 4], 0x10
je 0x1401e203c
mov qword [rsp + 0x40], r9
call fcn.140247330
mov r9, qword [rsp + 0x40]
jmp 0x1401e203c
mov edx, dword [r14]
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov r12, qword [rax + 0x20]
xor eax, eax
cmp byte [rbp + 0x1c], 0
mov ecx, edx
cmove ecx, eax
cmp byte [rbp + 0x1e], 0
mov qword [rsp + 0x40], rdx
cmovne eax, edx
cmp byte [rbp + 0x1d], 1
adc ecx, dword [r12]
lea edx, [rcx + rax]
inc edx
mov rcx, rbx
mov qword [rsp + 0x48], rdx
call fcn.14036a3f0
mov r13d, eax
mov byte [rsp + 0x20], 1
mov rcx, rbx
mov rdx, r12
mov r8d, eax
xor r9d, r9d
call fcn.140268c10
mov eax, dword [r12]
cmp byte [rbp + 0x1d], 0
jne 0x1401e241f
mov r12, rax
lea r9d, [rax + r13]
mov r8d, dword [rbp + 0x18]
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, Ordinal_127
call fcn.140364e30
inc r12d
mov rax, r12
cmp byte [rbp + 0x1c], 0
je 0x1401e24c3
mov qword [rsp + 0x60], rax
lea r12d, [rax + r13]
mov byte [rsp + 0x20], 1
mov rcx, rbx
mov rdx, r14
mov r8d, r12d
xor r9d, r9d
call fcn.140268c10
mov rax, qword [rsp + 0x60]
add eax, dword [rsp + 0x40]
cmp byte [rbp + 0x1e], 0
je 0x1401e1f80
cmp byte [rbp + 0x1c], 0
mov ecx, r12d
cmove ecx, r13d
mov qword [rsp + 0x78], rcx
cmp dword [rsp + 0x40], 0
jle 0x1401e1f80
mov ecx, r13d
add ecx, eax
mov qword [rsp + 0x70], rcx
xor ecx, ecx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rcx
lea r9d, [rax + rcx]
mov rax, qword [rsp + 0x78]
lea r8d, [rax + rcx]
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0xb5
call fcn.140364e30
mov rax, qword [rsp + 0x60]
inc eax
mov rcx, rax
cmp dword [rsp + 0x40], eax
jne 0x1401e2482
jmp 0x1401e1f80
mov r12d, r13d
jmp 0x1401e2451
mov rcx, qword [rsi + 0x18]
not r14d
mov r8d, r14d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401e24ef
mov eax, dword [rsi + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x1401e208c
mov rdx, rsi
call fcn.1401dd6e0
jmp 0x1401e208c
cmp dword [rsp + 0x3c], 0
jne 0x1401e2513
mov eax, dword [rbx + 0x44]
dec eax
mov dword [rsp + 0x3c], eax
mov dword [rbx + 0x44], eax
mov r8d, dword [rbp + 0x10]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov edx, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x3c]
call fcn.1401ea4f0
mov dword [rbp + 0x10], eax
jmp 0x1401e1f9b
mov r13d, r12d
mov rax, qword [rax + 0x40]
mov r12, qword [rax + 0x48]
cmp dword [rdi + 0x24], 0
je 0x1401e2587
cmp dword [rsp + 0x5c], 0
je 0x1401e2587
mov rax, qword [rbp + 8]
mov eax, dword [rax + 4]
and eax, 0x20
je 0x1401e2587
test r13d, r13d
jne 0x1401e256a
mov eax, dword [rbx + 0x38]
inc eax
mov r13d, eax
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x50
mov r8d, dword [rsp + 0x5c]
mov r9d, r13d
call fcn.140364e30
mov r8d, dword [rbx + 0x44]
dec r8d
mov dword [rbx + 0x44], r8d
mov rcx, rbx
mov rdx, r12
mov dword [rsp + 0x3c], r8d
mov r9d, reloc.WS2_32.dll_recv
call fcn.1401da1e0
mov r12d, r13d
jmp 0x1401e1f1e
mov r12d, dword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
jmp 0x1401e2270
mov r12, qword [rsp + 0x48]
lea r14d, [r12 - 1]
lea eax, [r12 + r13]
dec eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov edx, WSASetLastError
mov r8d, r13d
mov r9d, r14d
call fcn.140364e30
mov r8d, dword [rbp + 0x18]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r13d
mov rcx, rsi
mov edx, Ordinal_142
mov r9d, dword [rsp + 0x40]
call fcn.140357670
cmp r12d, 1
jne 0x1401e262f
test r13d, r13d
je 0x1401e2645
movzx eax, byte [rbx + 0x1f]
cmp rax, 7
ja 0x1401e2645
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rax*4 + 0xd8], r13d
jmp 0x1401e2645
mov rax, qword [rsp + 0x48]
cmp eax, dword [rbx + 0x28]
jle 0x1401e2645
mov rax, qword [rsp + 0x48]
mov dword [rbx + 0x28], eax
mov dword [rbx + 0x2c], r13d
mov r12d, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x3c]
jmp 0x1401e2083
mov r12d, dword [rbx + 0x38]
inc r12d
mov dword [rbx + 0x38], r12d
jmp 0x1401e228e
mov dword [rbx + 0x28], r9d
mov dword [rbx + 0x2c], r13d
jmp 0x1401e2083
mov dword [rsi + 0x90], r14d
jmp 0x1401e20db
lea rcx, [0x14044c9a0]
jmp 0x1401e2217