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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], r8
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x30
mov r15, qword [rsp + 0x80]
mov ebp, r9d
mov r11, r8
mov r13, rdx
mov rsi, rcx
test r9d, r9d
jns 0x1402e4cad
movzx edi, byte [rcx]
movzx eax, byte [rcx + 1]
jmp 0x1402e4cb4
movzx edi, byte [rcx + 1]
movzx eax, byte [rcx]
mov rbx, qword [rsp + 0x98]
mov edx, 4
mov r14, qword [rsp + 0x90]
shl edi, 8
or edi, eax
test dl, bpl
je 0x1402e4d37
mov eax, edi
and eax, 0xf007
cmp eax, 0x3001
je 0x1402e4ce9
test edi, 0xf00e
jne 0x1402e4d37
cmp dword [rsp + 0x88], edx
jl 0x1402e4f86
mov word [r15], dx
mov r9, r14
movzx ecx, byte [rcx + 2]
mov r8, r13
movzx eax, byte [rsi + 3]
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x20], rbx
mov eax, edi
mov edi, ecx
shl eax, 0x10
or edi, eax
mov ecx, edi
call fcn.1402e3420
test al, al
je 0x1402e4d2d
mov al, 1
jmp 0x1402e4f88
mov r11, qword [rsp + 0x70]
mov edx, 4
mov eax, edi
and eax, 0xf000
cmp eax, 0xf000
jne 0x1402e4f6d
test bpl, bpl
jns 0x1402e4f20
mov eax, edi
xor cl, cl
shr eax, 0xa
and eax, 3
je 0x1402e4efc
sub eax, 1
je 0x1402e4dcd
cmp eax, 1
jne 0x1402e4f1b
cmp dword [rsp + 0x88], 4
jl 0x1402e4f86
mov word [r15], dx
test ebp, ebp
jns 0x1402e4d9e
movzx ecx, byte [rsi + 2]
mov eax, edi
shl eax, 0x10
shl ecx, 8
mov edi, ecx
or edi, eax
movzx eax, byte [rsi + 3]
or edi, eax
jmp 0x1402e4db0
movzx edx, byte [rsi + 3]
movzx eax, byte [rsi + 2]
shl edx, 8
or edx, eax
shl edx, 0x10
or edi, edx
mov r9, r14
mov qword [rsp + 0x20], rbx
mov r8d, ebp
mov rdx, r13
mov ecx, edi
call fcn.1402e4960
movzx ecx, al
jmp 0x1402e4f88
movzx eax, di
lea rdx, [0x140000000]
mov r10d, eax
mov esi, eax
mov r9d, eax
shr esi, 1
mov edi, eax
shr r9d, 2
shr rax, 4
and r10d, 1
and eax, 0xf
shr edi, 8
and esi, 1
and r9d, 3
and edi, 3
mov ecx, 2
mov word [r15], cx
mov r11d, dword [rdx + rax*4 + 0x1296fb0]
test r11d, r11d
jne 0x1402e4e1f
xor cl, cl
movzx eax, cl
jmp 0x1402e4f88
mov dword [r13 + 8], 0x9e
lea eax, [r9 + 1]
mov dword [r14 + 0x10], ecx
mov ebp, 1
mov edx, 5
mov r8d, r10d
mov ecx, ebp
sub rcx, r8
cmp edi, 2
mov dword [r14 + rcx*4 + 0x14], edx
cmovae edx, ebp
mov dword [r14 + r10*4 + 0x14], eax
mov dword [r14 + rcx*4 + 0x1c], r11d
lea ecx, [rdx + rdi]
mov dword [r14 + r10*4 + 0x1c], ecx
test r9d, r9d
je 0x1402e4e9e
sub r9d, ebp
je 0x1402e4e86
sub r9d, ebp
je 0x1402e4e9e
cmp r9d, ebp
jne 0x1402e4eaf
test rbx, rbx
je 0x1402e4eaf
movzx eax, byte [rbx + 0x28]
mov word [rbx + rax*2], 9
inc byte [rbx + 0x28]
jmp 0x1402e4e8b
test rbx, rbx
je 0x1402e4eaf
movzx ecx, byte [rbx + 0x28]
movzx eax, word [r14 + r10*4 + 0x1c]
mov word [rbx + rcx*2], ax
inc byte [rbx + 0x28]
jmp 0x1402e4eaf
test rbx, rbx
je 0x1402e4eaf
movzx eax, byte [rbx + 0x52]
mov word [rbx + rax*2 + 0x2a], cx
inc byte [rbx + 0x52]
test r10d, r10d
je 0x1402e4ecd
cmp r10d, ebp
jne 0x1402e4ede
test rbx, rbx
je 0x1402e4ede
movzx eax, byte [rbx + 0x52]
mov word [rbx + rax*2 + 0x2a], r11w
inc byte [rbx + 0x52]
jmp 0x1402e4ede
test rbx, rbx
je 0x1402e4ede
movzx eax, byte [rbx + 0x28]
mov word [rbx + rax*2], r11w
inc byte [rbx + 0x28]
mov eax, reloc.WS2_32.dll_recv
mov byte [r14 + 5], bpl
shlx eax, eax, esi
movzx ecx, bpl
mov dword [r14 + 0x3c], eax
movzx eax, cl
jmp 0x1402e4f88
mov r9, r14
mov word [r15], 2
mov r8d, ebp
mov qword [rsp + 0x20], rbx
mov rdx, r13
movzx ecx, di
call fcn.1402e37e0
movzx ecx, al
movzx eax, cl
jmp 0x1402e4f88
test bpl, 0x40
je 0x1402e4f86
mov word [r15], 2
mov ecx, edi
mov eax, edi
shr ecx, 8
and eax, 0xf
and ecx, 0xf0
or ecx, eax
lea rdx, [0x140000000]
mov r10, qword [rdx + rcx*8 + 0x1297560]
test r10, r10
je 0x1402e4f86
mov qword [rsp + 0x28], rbx
mov r9d, ebp
mov r8, r13
mov qword [rsp + 0x20], r14
mov rdx, r11
movzx ecx, di
call r10
jmp 0x1402e4f88
add eax, 0xffff8000
mov word [r15], 2
cmp eax, 0x6fff
ja 0x1402e4f2c
mov ecx, edi
shr ecx, 8
jmp 0x1402e4f3e
xor al, al
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret