Function at 0x1400893dc
Capabilities:
Send data
Send data on socket

Disassembly:
mov r11, rsp
mov dword [r11 + 0x18], r8d
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov eax, 0x40000000
mov r15d, 1
mov rbx, rcx
mov edi, r15d
test eax, r8d
je 0x14008941a
xor dword [r11 + 0x18], eax
mov r12d, r15d
jmp 0x14008941d
xor r12d, r12d
test rbx, rbx
jne 0x14008942c
mov eax, 0xfffffffc
jmp 0x140089989
xor r13d, r13d
lea rbp, [rsp + 0xa8]
cmp qword [rcx + 0x2a8], r13
je 0x14008965f
test r12d, r12d
jne 0x140089459
mov rcx, qword [rcx + 0x288]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor esi, esi
cmp dword [rsp + 0xa0], esi
jbe 0x1400894d0
lea rdi, [rbp - 8]
mov rax, qword [rdi + 0x10]
mov rbp, qword [rdi + 8]
lea rdi, [rdi + 0x18]
mov r14d, dword [rdi]
cmp rax, 0x7fffffff
ja 0x1400894a5
test r13d, r13d
jne 0x1400894a5
mov rcx, qword [rbx + 0x2a8]
mov r8d, eax
mov rdx, rbp
call fcn.140184180
test r14d, r14d
jne 0x1400894b5
mov rcx, rbp
call fcn.1401c3c8c
jmp 0x1400894b5
test r14d, r14d
jne 0x1400894b2
mov rcx, rbp
call fcn.1401c3c8c
mov r13d, r15d
add esi, r15d
cmp esi, dword [rsp + 0xa0]
jb 0x140089468
test r13d, r13d
je 0x1400894d0
mov edi, 0xfffffffb
jmp 0x14008962d
cmp qword [rbx + 0x280], 0
mov rax, qword [rbx + 0x2d0]
jne 0x140089637
cmp qword [rax], 0
jbe 0x140089628
mov rcx, qword [rbx + 0x2c0]
mov edx, reloc.WS2_32.dll_ntohs
call fcn.1400c6a30
mov rdx, qword [rbx + 0x2d0]
xor r9d, r9d
mov rcx, qword [rbx + 0x68]
mov r8d, dword [rdx]
mov rdx, qword [rdx + 8]
call qword [sym.imp.WS2_32.dll_send]
movsxd rsi, eax
test eax, eax
jle 0x14008952f
mov rcx, qword [rbx + 0x2d0]
cmp esi, dword [rcx]
jl 0x140089546
test eax, eax
jns 0x1400895f3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1400895f3
test esi, esi
jns 0x14008954e
xor eax, eax
jmp 0x140089559
mov rax, qword [rbx + 0x2d0]
mov eax, dword [rax]
sub eax, esi
xor r9d, r9d
movsxd rdx, eax
xor r8d, r8d
lea ecx, [r9 + 0x38]
call fcn.14008e120
and dword [rax + 0xc], 0
mov dword [rax + 0x2c], 3
mov qword [rbx + 0x280], rax
mov qword [rbx + 0x278], rax
test esi, esi
jle 0x14008963c
lea rcx, [rax + 0x40]
mov r8, rsi
mov qword [rax], rcx
mov rax, qword [rbx + 0x2d0]
mov ecx, dword [rax]
mov rax, qword [rbx + 0x278]
sub ecx, esi
mov dword [rax + 8], ecx
mov rcx, qword [rbx + 0x278]
mov rax, qword [rbx + 0x2d0]
movsxd rdx, dword [rcx + 8]
add r8, qword [rax + 8]
mov r9, rdx
mov rcx, qword [rcx]
call section..text
mov rax, qword [rbx + 0x278]
xor r9d, r9d
add dword [rbx + 0x74], esi
xor r8d, r8d
mov edx, r15d
mov ecx, dword [rax + 8]
mov dword [rbx + 0x70], ecx
mov rcx, qword [rbx + 0x2c0]
call fcn.1400c6a60
jmp 0x14008963c
mov rcx, qword [rbx + 0x2d0]
cmp rsi, qword [rcx]
jne 0x140089628
mov rcx, qword [rbx + 0x2c0]
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
mov edi, r15d
call fcn.1400c6a60
mov rax, qword [rbx + 0x2d0]
add dword [rbx + 0x74], esi
mov ecx, dword [rax]
mov dword [rbx + 0x70], ecx
jmp 0x14008963e
mov edi, 0xfffffffc
mov rcx, rbx
call fcn.140089378
jmp 0x14008963e
mov ecx, dword [rax]
mov dword [rbx + 0x70], ecx
xor edi, edi
test r12d, r12d
jne 0x14008996c
mov rcx, qword [rbx + 0x288]
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
jmp 0x14008996c
test r12d, r12d
jne 0x14008967c
mov rcx, qword [rcx + 0x288]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rdx, qword [rsp + 0x98]
cmp qword [rbx + 0x68], 0xffffffffffffffff
jne 0x1400896d1
xor esi, esi
cmp dword [rsp + 0xa0], esi
jbe 0x1400896b0
lea rdi, [rbp - 8]
mov rcx, qword [rdi + 8]
lea rdi, [rdi + 0x18]
cmp dword [rdi], r13d
jne 0x1400896a4
call fcn.1401c3c8c
add esi, r15d
cmp esi, dword [rsp + 0xa0]
jb 0x140089692
test r12d, r12d
jne 0x140089422
mov rcx, qword [rbx + 0x288]
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
jmp 0x140089422
and dword [rsp + 0x30], r13d
cmp dword [rsp + 0xa0], r13d
jbe 0x140089942
lea rax, [rbp - 8]
mov ecx, 0x1c
mov rbp, qword [rax + 0x10]
mov r14, qword [rax + 8]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov r15d, dword [rax]
cmp rbp, 0x7fffffff
ja 0x1400898fe
test r13d, r13d
jne 0x1400898fe
cmp qword [rbx + 0x280], 0
jne 0x14008984b
cmp dword [rbx + 0x258], r13d
je 0x14008984b
lea edi, [r13 + 1]
test rdx, rdx
je 0x140089768
cmp word [rdx], di
je 0x140089768
cmp word [rdx], 0x17
lea eax, [rdi + 0xf]
mov r8d, ebp
cmove eax, ecx
mov rcx, qword [rbx + 0x68]
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov qword [rsp + 0x20], rdx
mov rdx, r14
call qword [sym.imp.WS2_32.dll_sendto]
jmp 0x14008977b
mov rcx, qword [rbx + 0x68]
xor r9d, r9d
mov r8d, ebp
mov rdx, r14
call qword [sym.imp.WS2_32.dll_send]
mov esi, eax
test eax, eax
jle 0x140089787
cmp eax, ebp
jl 0x14008979a
test eax, eax
jns 0x14008980e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14008980e
xor eax, eax
test esi, esi
cmovns eax, esi
xor edx, edx
xor r9d, r9d
movsxd rsi, eax
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14008e120
mov rdi, rax
cmp r15d, 2
jne 0x1400897ef
sub ebp, esi
movsxd rcx, ebp
mov dword [rax + 8], ebp
call fcn.1401c4328
mov qword [rdi], rax
test rax, rax
je 0x14008999a
movsxd rdx, dword [rdi + 8]
lea r8, [r14 + rsi]
mov r9, rdx
mov rcx, rax
call section..text
and dword [rdi + 0x2c], 0
jmp 0x1400897fc
mov qword [rax], r14
mov dword [rax + 8], ebp
mov dword [rax + 0xc], esi
mov dword [rax + 0x2c], r15d
mov qword [rbx + 0x280], rdi
mov qword [rbx + 0x278], rdi
xor edi, edi
jmp 0x14008982e
cmp esi, ebp
jne 0x140089821
test r15d, r15d
jne 0x14008982e
mov rcx, r14
call fcn.1401c3c8c
jmp 0x14008982e
mov rcx, rbx
mov edi, 0xfffffffc
call fcn.140089378
test esi, esi
jle 0x140089911
add dword [rbx + 0x74], esi
sub dword [rbx + 0x70], esi
jns 0x140089911
and dword [rbx + 0x70], 0
jmp 0x140089911
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14008e120
mov rsi, rax
mov dword [rax + 8], ebp
add dword [rbx + 0x70], ebp
cmp r15d, 2
jne 0x140089897
movsxd rcx, dword [rax + 8]
call fcn.1401c4328
mov qword [rsi], rax
test rax, rax
je 0x1400899e0
movsxd rdx, dword [rsi + 8]
mov r9, rbp
mov r8, r14
mov rcx, rax
call section..text
and dword [rsi + 0x2c], 0
jmp 0x14008989e
mov qword [rax], r14
mov dword [rax + 0x2c], r15d
and dword [rsi + 0xc], 0
mov r8, qword [rsp + 0x98]
test r8, r8
je 0x1400898cb
cmp word [r8], 0x17
lea rcx, [rsi + 0x10]
mov r9d, reloc.WS2_32.dll_recv
lea edx, [r9 + 0xc]
cmove r9d, edx
call section..text
and qword [rsi + 0x30], 0
mov ecx, 0x1c
mov rax, qword [rbx + 0x280]
test rax, rax
jne 0x1400898f1
mov qword [rbx + 0x280], rsi
mov qword [rbx + 0x278], rsi
jmp 0x140089916
mov qword [rax + 0x30], rsi
mov qword [rbx + 0x280], rsi
jmp 0x140089916
mov r13d, 1
test r15d, r15d
jne 0x14008991b
mov rcx, r14
call fcn.1401c3c8c
mov ecx, 0x1c
mov rax, qword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
mov r15d, 1
add edx, r15d
mov dword [rsp + 0x30], edx
cmp edx, dword [rsp + 0xa0]
jae 0x140089942
mov rdx, qword [rsp + 0x98]
jmp 0x1400896ed
test r12d, r12d
jne 0x14008995a
mov rcx, qword [rbx + 0x288]
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test r13d, r13d
je 0x14008996c
mov rcx, rbx
mov edi, 0xfffffffb
call fcn.140089378
cmp edi, r15d
je 0x140089987
mov rcx, qword [rbx + 0x20]
call fcn.1400963b8
test eax, eax
jne 0x140089987
mov rcx, qword [rbx + 0x20]
call fcn.14008e6c8
mov eax, edi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str...microstackILibAsyncSocket.c
mov edi, 0x2ee
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400961f4
mov r8d, edi
lea rdx, str...microstackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.140001090
mov ecx, ebx
call fcn.1401be828
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str...microstackILibAsyncSocket.c
mov edi, 0x2bf
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400961f4
mov r8d, edi
lea rdx, str...microstackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.140001090
mov ecx, ebx
call fcn.1401be828
int3