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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
xor edi, edi
mov r15, rdx
mov rsi, rcx
test rdx, rdx
jne 0x14012833a
mov r12d, edi
jmp 0x140128372
movzx ecx, word [rdx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14012835b
cmp byte [r15 + 0x16], 1
jne 0x14012835b
mov r12, qword [r15 + 8]
jmp 0x140128372
test cl, 1
mov rcx, r15
je 0x140128368
mov r12, rdi
jmp 0x140128375
mov dl, 1
call fcn.1400856f0
mov r12, rax
mov rcx, r15
mov eax, reloc.WS2_32.dll_sendto
mov qword [rsp + 0x70], r14
movzx ecx, word [rcx + rax]
test cl, 2
je 0x140128395
cmp byte [r15 + 0x16], 1
jne 0x140128395
mov r14d, dword [r15 + 0x10]
jmp 0x1401283c1
test cl, 0x10
je 0x1401283aa
bt cx, 0xa
mov r14d, dword [r15 + 0x10]
jae 0x1401283c1
add r14d, dword [r15]
jmp 0x1401283c1
test cl, 1
je 0x1401283b4
mov r14d, edi
jmp 0x1401283c1
mov dl, 1
mov rcx, r15
call fcn.140085dc0
mov r14d, eax
mov dword [rsp + 0x20], edi
mov r8d, 0xffffffff
mov dword [rsp + 0x78], r8d
mov rbp, rdi
mov r13d, edi
test r12, r12
je 0x1401286d0
nop
mov rax, qword [rsi + 0x18]
lea edx, [rdi - 0x68f72]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x140128415
cmp dword [rcx + 4], edx
jne 0x14012840c
mov eax, dword [rsi + 0x20]
cmp dword [rcx], eax
je 0x140128435
lea eax, [rdi - 0x68f72]
test eax, eax
js 0x140128435
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1401283f6
mov dword [rsp + 0x20], edi
test rbp, rbp
je 0x1401284ea
lea ecx, [r13 + 1]
mov byte [rbp + 0x32], 0
mov dword [rbp + 0x4c], ecx
mov rax, rbp
jmp 0x1401286d2
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x140128415
test rbp, rbp
jne 0x1401284be
cmp dword [rbx + 0x3c], r14d
jne 0x140128484
cmp byte [rbx + 0x37], bpl
je 0x14012845a
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x14012848b
mov rcx, qword [rbx + 0x10]
cmp rcx, r12
je 0x140128477
movsxd r8, r14d
mov rdx, r12
call fcn.14023fbb0
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x140128484
mov byte [rbx + 0x32], 0
mov rbp, rbx
mov byte [rbx + 0x36], 0
jmp 0x1401284d1
mov eax, dword [rsp + 0x88]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1401284be
test eax, eax
jne 0x1401284be
cmp dword [rbx + 0x40], r14d
jne 0x1401284be
movsxd r8, r14d
mov rdx, r12
call fcn.14023fbb0
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x1401284be
mov byte [rbx + 0x32], al
mov rbp, rbx
mov byte [rbx + 0x36], 1
jmp 0x1401284d1
mov eax, dword [rbx + 0x4c]
cmp eax, r8d
jae 0x1401284d1
mov r8d, eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], edi
cmp dword [rbx + 0x4c], r13d
cmova r13d, dword [rbx + 0x4c]
inc edi
cmp edi, 4
jl 0x1401283e0
jmp 0x140128419
movzx eax, word [r15 + 0x14]
mov edx, recv
test al, 0x12
setne cl
bt ax, dx
mov edx, 1
setb al
test al, cl
je 0x14012851e
lea rax, [fcn.14005b570]
cmp qword [r15 + 0x30], rax
jne 0x14012851e
xor ebp, ebp
mov edi, edx
mov ebx, ebp
jmp 0x140128526
xor ebp, ebp
lea ebx, [r14 + 1]
mov edi, ebp
call fcn.14011e510
test eax, eax
jne 0x14012869f
movsxd rcx, ebx
add rcx, 0x50
call fcn.1400583c0
mov rbx, rax
test rax, rax
je 0x14012869f
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
test edi, edi
je 0x140128574
inc qword [r12 - 8]
mov qword [rax + 0x10], r12
mov byte [rax + 0x34], 1
jmp 0x14012858b
lea rcx, [rax + 0x50]
mov rdx, r12
mov qword [rax + 0x10], rcx
lea eax, [r14 + 1]
movsxd r8, eax
call fcn.14023fcb0
mov rdi, qword [rsp + 0x80]
mov rcx, rbx
mov rdx, rdi
mov dword [rbx + 0x38], 1
call fcn.140128100
test eax, eax
je 0x14012863f
test rdi, rdi
jne 0x1401285be
mov byte [rbx + 0x32], 1
mov rax, rbx
jmp 0x1401286d2
mov eax, dword [rbx + 0x38]
cmp eax, 1
jbe 0x1401285d0
dec eax
mov dword [rbx + 0x38], eax
jmp 0x1401286d0
mov rcx, rbx
call fcn.140125bb0
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x140128631
mov rcx, qword [0x1402eed58]
test rcx, rcx
je 0x1401285f3
call qword [0x1402dc860]
mov rcx, rbx
call qword [0x1402dc818]
dec qword [0x1402eeb58]
movsxd rcx, eax
sub qword [0x1402eeb10], rcx
mov rcx, rbx
call qword [0x1402dc808]
mov rcx, qword [0x1402eed58]
test rcx, rcx
je 0x1401286d0
call qword [0x1402dc870]
jmp 0x1401286d0
mov rcx, rbx
call qword [0x1402dc808]
jmp 0x1401286d0
mov edi, dword [rsp + 0x20]
lea eax, [r13 + 1]
add edi, 0xfff9708e
mov dword [rbx + 0x3c], r14d
mov edx, edi
mov dword [rbx + 0x4c], eax
lea r9, [fcn.140125d50]
mov r8, rbx
mov rcx, rsi
call fcn.14008cf10
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x14012869a
cmp dword [rcx + 4], edi
jne 0x140128688
mov eax, dword [rsi + 0x20]
cmp dword [rcx], eax
je 0x140128696
test edi, edi
js 0x140128696
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140128678
mov rax, rbp
jmp 0x1401286d2
mov rbp, qword [rcx + 8]
mov rax, rbp
jmp 0x1401286d2
mov rax, qword [rsi]
mov ecx, 0x9000
test word [rax + 0x14], cx
je 0x1401286b7
mov rcx, rax
call fcn.1400848f0
jmp 0x1401286bd
mov word [rax + 0x14], 1
mov rcx, qword [rsi]
mov dword [rsi + 0x24], 7
mov rcx, qword [rcx + 0x18]
call fcn.140058e60
xor eax, eax
mov r14, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret