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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov word [rsp + 0x10], dx
push r15
sub rsp, 0xa0
mov r15, rcx
test rcx, rcx
je 0x140094f63
mov eax, dword [rcx + 0x750]
bt rax, 0xd
jae 0x1400954c3
jmp 0x140094f81
mov rax, qword [reloc.WS2_32.dll_htonl]
test rax, rax
je 0x140094f81
mov eax, dword [rax + 0x150]
bt rax, 0xd
jae 0x1400954c3
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x78], r12
xor ecx, ecx
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x68], r14
test r8, r8
je 0x140094fd2
movzx ecx, word [r8 + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
mov ecx, 0x200
mov dword [rsp + 0x50], eax
cmp ax, cx
jbe 0x140094fdb
mov eax, ecx
mov dword [rsp + 0x50], ecx
xor ecx, ecx
jmp 0x140094fdd
mov ax, cx
mov dword [rsp + 0x50], eax
jmp 0x140094fdd
xor ecx, ecx
mov r14, qword [0x1402e8788]
movzx eax, ax
mov qword [rsp + 0x80], rdi
lea ebx, [rax + 0x10]
mov dword [rsp + 0x54], eax
mov r13, rcx
mov rbp, rcx
mov r12d, ecx
mov dword [rsp + 0xb0], ebx
mov esi, ebx
test ebx, ebx
jle 0x140095198
cmp esi, 0xb0
jle 0x1400950cb
mov rcx, r14
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x14009506f
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
mov eax, 1
mov qword [rdi + 0x28], rcx
mov dword [rdi + 0x38], ecx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov qword [rdi + 0x30], rcx
mov dword [rdi + 0x3c], ecx
mov dword [rdi + 0x40], ecx
mov word [rdi + 0x44], cx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x46], cx
mov qword [rdi + 0x48], rcx
jmp 0x140095071
xor ecx, ecx
mov qword [rdi + 0x50], rcx
mov rcx, qword [0x1402e8790]
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rbx, rax
call fcn.1401e6440
mov edx, 1
mov dword [rax], edx
or dword [rdi + 0x1c], edx
xor ecx, ecx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov ebx, dword [rsp + 0xb0]
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x58], rcx
mov qword [rdi + 0x60], rcx
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], edx
mov eax, 0x800
jmp 0x140095168
test r12b, 2
je 0x14009512e
mov rcx, r14
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x140095122
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
mov eax, 1
mov qword [rdi + 0x28], rcx
mov dword [rdi + 0x38], ecx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov qword [rdi + 0x30], rcx
mov dword [rdi + 0x3c], ecx
mov dword [rdi + 0x40], ecx
mov word [rdi + 0x44], cx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x46], cx
mov qword [rdi + 0x48], rcx
mov eax, 0xb0
cmp esi, eax
cmovl eax, esi
jmp 0x140095168
mov rcx, r14
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x14009515e
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
mov dword [rax + 0x1c], ecx
mov eax, 1
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x28]
mov qword [rdi + 0x10], rax
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x140095292
cmp eax, ebx
jl 0x14009527e
sub esi, eax
test rbp, rbp
je 0x140095186
mov qword [rbp], rdi
jmp 0x140095189
mov r13, rdi
and r12d, 0xfffffffd
mov rbp, rdi
test esi, esi
jg 0x140095010
test r12b, 4
je 0x1400951a2
or dword [rbp + 0x1c], 4
test r13, r13
jne 0x14009538b
xor ebx, ebx
mov dword [rsp + 0xb0], reloc.WS2_32.dll_recv
mov esi, reloc.WS2_32.dll_recv
mov r13, rbx
mov r12, rbx
mov ebp, ebx
nop word [rax + rax]
cmp esi, 0xb0
jle 0x1400952af
mov rcx, r14
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x14009522b
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rdi + 0x28], rbx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov dword [rdi + 0x38], ebx
mov qword [rdi + 0x30], rbx
mov dword [rdi + 0x3c], ebx
mov dword [rdi + 0x40], ebx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], bx
mov word [rdi + 0x46], bx
mov qword [rdi + 0x48], rbx
mov rcx, qword [0x1402e8790]
mov qword [rdi + 0x50], rbx
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rbx, rax
call fcn.1401e6440
mov ecx, 1
mov dword [rax], ecx
or dword [rdi + 0x1c], ecx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
xor ebx, ebx
mov qword [rdi + 0x70], rax
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], ecx
mov eax, 0x800
mov qword [rdi + 0x58], rbx
mov qword [rdi + 0x60], rbx
jmp 0x140095348
mov rcx, rdi
call fcn.1400795b0
mov r14, qword [0x1402e8788]
jmp 0x1400951ab
test r13, r13
je 0x1400951ab
mov rcx, r13
call fcn.1400795b0
mov r14, qword [0x1402e8788]
jmp 0x1400951ab
test bpl, 2
je 0x140095310
mov rcx, r14
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x140095304
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rdi + 0x28], rbx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov dword [rdi + 0x38], ebx
mov qword [rdi + 0x30], rbx
mov dword [rdi + 0x3c], ebx
mov dword [rdi + 0x40], ebx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], bx
mov word [rdi + 0x46], bx
mov qword [rdi + 0x48], rbx
mov eax, 0xb0
cmp esi, eax
cmovl eax, esi
jmp 0x140095348
mov rcx, r14
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x14009533e
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], ebx
mov eax, 1
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x28]
mov qword [rdi + 0x10], rax
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x140095487
cmp eax, 0x10
jl 0x140095482
sub esi, eax
test r12, r12
je 0x140095367
mov qword [r12], rdi
jmp 0x14009536a
mov r13, rdi
and ebp, 0xfffffffd
mov r12, rdi
test esi, esi
jg 0x1400951d0
test bpl, 4
je 0x140095382
or dword [rdi + 0x1c], 4
test r13, r13
je 0x140095494
mov rbx, qword [r13 + 0x10]
mov edi, dword [rsp + 0xb0]
xor esi, esi
xor edx, edx
mov r8, rdi
mov rcx, rbx
mov qword [r13], rsi
call fcn.1401e6750
movzx eax, word [rsp + 0xb8]
mov r11d, 3
mov word [rbx + 8], ax
mov word [rbx + 2], si
mov dword [rbx + 4], reloc.WS2_32.dll_recv
mov word [rbx], r11w
mov eax, dword [r15 + 0x520]
mov dword [rbx + 0xc], eax
cmp edi, 0x10
jbe 0x1400953f9
movzx r8d, word [rsp + 0x50]
mov rdx, qword [rsp + 0xc0]
lea rcx, [rbx + 0x10]
call fcn.1401e75a0
mov r11d, dword [rsp + 0x54]
add dword [rbx + 4], r11d
mov eax, dword [rbx + 4]
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x38], sil
mov dword [r13 + 0x18], eax
mov eax, dword [r15 + 0x568]
mov rdx, qword [r15 + 0x3d0]
mov dword [rsp + 0x30], esi
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov word [rsp + 0x28], si
mov dword [rsp + 0x20], eax
call fcn.1400c9eb0
test rax, rax
je 0x14009548c
mov ecx, dword [r13 + 0x18]
mov qword [rax + 0x40], r13
mov r8, rax
mov dword [rax + 0x20], ecx
mov ecx, 0x100
mov rdx, r15
mov word [rax + 0x8a], cx
mov ecx, dword [rsp + 0xc8]
mov r9, qword [r15]
mov dword [rsp + 0x30], ecx
mov ecx, 1
add r9, 0xc8
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov rcx, qword [r15 + 8]
call fcn.140097760
jmp 0x140095494
mov rcx, rdi
jmp 0x14009548f
test r13, r13
je 0x140095494
mov rcx, r13
call fcn.1400795b0
mov rdi, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov r14, qword [rsp + 0x68]
add rsp, 0xa0
pop r15
ret