Function at 0x14001df10
Capabilities:
Create thread
Send data
Send data on socket
Send http request

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
sub rsp, 0x30
movzx ebp, byte [rsp + 0x80]
mov r13, r8
movsxd r12, r9d
mov rsi, rdx
mov rbx, rcx
mov r10, qword [rbx + 0xc8]
test r10, r10
je 0x14001df47
test bpl, bpl
je 0x14001e733
jmp 0x14001df50
test bpl, bpl
je 0x14001dfde
test r10, r10
je 0x14001dfde
mov r9d, dword [rbx + 0xf0]
xor r8d, r8d
cmp r8d, r9d
jae 0x14001df95
xor edx, edx
mov eax, r8d
add rax, rsi
div r9
imul rbx, rdx, 0x1e8
add rbx, r10
mov eax, dword [rbx + 0x184]
cmp dword [rbx + 0x180], eax
jb 0x14001df90
inc r8d
jmp 0x14001df63
mov bpl, 1
jmp 0x14001df30
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14001dfc4
mov rcx, qword [0x140096480]
lea r9, [0x140088f88]
mov r8d, 0x897
lea rdx, [0x140089230]
call qword [0x140096478]
int3
call fcn.14002dfd0
mov ebp, reloc.WS2_32.dll_socket
mov dword [rax], ebp
xor eax, eax
add rsp, 0x30
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rbx + 0x184]
cmp dword [rbx + 0x180], eax
je 0x14001e6f1
mov r8d, r12d
mov rdx, r13
mov rcx, rbx
call fcn.14001d280
test eax, eax
je 0x14001e6f1
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x14001e06a
mov rcx, qword [rbx + 0x68]
mov r8d, r12d
mov rdx, r13
call rax
test eax, eax
jne 0x14001e06a
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14001e04e
mov rcx, qword [0x140096480]
lea r9, [0x140089288]
mov r8d, 0x8e6
lea rdx, [0x1400893a0]
call qword [0x140096478]
int3
mov r8d, r12d
mov rdx, r13
mov rcx, rbx
call fcn.14001d450
xor eax, eax
add rsp, 0x30
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
mov edx, 0x170
mov qword [rsp + 0x60], rdi
mov ecx, 1
call fcn.14002db90
mov rdi, rax
test rax, rax
jne 0x14001e102
call fcn.14002dfd0
mov edi, dword [rax]
call fcn.14002dfd0
mov ecx, dword [rax]
call fcn.140036350
mov r8, rax
lea rdx, [0x140089368]
mov rcx, rbx
call fcn.1400285a0
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14001e0da
mov rcx, qword [0x140096480]
lea r9, [0x1400892f8]
mov r8d, 0x8f8
lea rdx, [0x140089420]
call qword [0x140096478]
int3
mov r8d, r12d
mov rdx, r13
mov rcx, rbx
call fcn.14001d450
call fcn.14002dfd0
mov dword [rax], edi
xor eax, eax
mov rdi, qword [rsp + 0x60]
add rsp, 0x30
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x68], r14
mov ecx, 0x28
mov qword [rsp + 0x70], r15
mov r15, qword [rbx + 0xd8]
call fcn.14002e1e4
mov r14, rax
test rax, rax
je 0x14001e196
cmp r15, 0x8000
ja 0x14001e134
or rax, 0xffffffffffffffff
jmp 0x14001e14b
mov r9d, 4
mov r8d, 0x3000
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rcx, r14
mov qword [rcx], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14001e161
mov eax, 1
jmp 0x14001e180
mov rcx, r15
call fcn.14002e1e4
mov qword [r14], rax
test rax, rax
jne 0x14001e17e
mov rcx, r14
call fcn.14002dff0
xor r14d, r14d
jmp 0x14001e196
xor eax, eax
mov rcx, r14
mov dword [rcx + 0x20], eax
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], r15
mov qword [r14 + 8], r15
mov qword [rdi + 0x40], r14
test r14, r14
jne 0x14001e212
call fcn.14002dfd0
mov ecx, dword [rax]
call fcn.140036350
mov r8, rax
lea rdx, [0x140089400]
mov rcx, rbx
call fcn.1400285a0
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14001e1ec
mov rcx, qword [0x140096480]
lea r9, [0x140089388]
mov r8d, 0x907
lea rdx, [0x140089490]
call qword [0x140096478]
int3
mov r8d, r12d
mov rdx, r13
mov rcx, rbx
call fcn.14001d450
mov rcx, rdi
call fcn.14002dff0
call fcn.14002dfd0
mov dword [rax], recv
jmp 0x14001e2b2
mov rax, qword [rbx + 0x188]
mov rcx, r12
mov qword [rdi + 0x108], rax
call fcn.14002e1e4
mov qword [rdi + 0x98], rax
test rax, rax
jne 0x14001e2cf
call fcn.14002dfd0
mov ebp, dword [rax]
call fcn.14002dfd0
mov ecx, dword [rax]
call fcn.140036350
mov r8, rax
lea rdx, [0x1400894e8]
mov rcx, rbx
call fcn.1400285a0
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14001e28c
mov rcx, qword [0x140096480]
lea r9, [0x140089478]
mov r8d, 0x91b
lea rdx, [0x140089520]
call qword [0x140096478]
int3
mov r8d, r12d
mov rdx, r13
mov rcx, rbx
call fcn.14001d450
mov rcx, qword [rdi + 0x40]
call fcn.140028460
mov rcx, rdi
call fcn.14002dff0
call fcn.14002dfd0
mov dword [rax], ebp
xor eax, eax
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
add rsp, 0x30
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
mov r8, r12
mov rdx, r13
mov rcx, rax
call fcn.14002aeb0
movzx eax, byte [rsp + 0x88]
mov byte [rdi + 0x120], al
mov dword [rdi + 0xf8], r12d
mov qword [rdi + 0x118], rsi
mov qword [rdi + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
movabs rax, 0x624dd2f1a9fbe77
sub rcx, qword [0x1400968c8]
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
mov qword [rdi + 0x100], rcx
mov eax, dword [rbx + 0x194]
and eax, 2
test al, al
jne 0x14001e57e
lea rax, [0x1400229f0]
mov qword [rdi + 0x148], rax
lea rcx, [rbx + 0x130]
lea rax, [0x140022a80]
mov qword [rdi + 0x150], rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [rbx + 0x180]
cmp eax, dword [rbx + 0x184]
jb 0x14001e39c
lea rcx, [rbx + 0x130]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rdx, str.Server_reached_connection_limit._Closing_inbound_connection._n
mov rcx, rbx
call fcn.1400285a0
mov ebp, reloc.WS2_32.dll_socket
jmp 0x14001e583
inc eax
mov dword [rbx + 0x180], eax
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
jne 0x14001e3f0
cmp qword [rdi + 0x10], 0
jne 0x14001e77d
cmp qword [rdi + 0x18], 0
jne 0x14001e7c7
mov rax, qword [rbx + 0x40]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0
cmp qword [rbx + 0x48], 0
jne 0x14001e3e4
mov qword [rbx + 0x48], rdi
jmp 0x14001e3ec
mov rax, qword [rbx + 0x40]
mov qword [rax + 0x18], rdi
mov qword [rbx + 0x40], rdi
cmp qword [rdi], 0
jne 0x14001e811
cmp qword [rdi + 8], 0
jne 0x14001e85b
mov rax, qword [rbx + 0x10]
mov qword [rdi], rax
mov qword [rdi + 8], 0
cmp qword [rbx + 0x18], 0
jne 0x14001e421
mov qword [rbx + 0x18], rdi
jmp 0x14001e429
mov rax, qword [rbx + 0x10]
mov qword [rax + 8], rdi
lea rcx, [rbx + 0x130]
mov qword [rbx + 0x10], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x14001e459
mov rcx, qword [rbx + 0x88]
lea r8, [rdi + 0x50]
xor r9d, r9d
mov rdx, rdi
call rax
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
je 0x14001e50f
mov r15, qword [rbx + 0xe8]
mov ecx, 0x18
call fcn.14002e1e4
mov r14, rax
test rax, rax
je 0x14001e4ed
lea rax, [0x14001d7e0]
mov qword [r14 + 8], rdi
mov qword [r14], rax
lea rax, str.MHD_connection
mov qword [r14 + 0x10], rax
mov eax, 0xffffffff
cmp r15, rax
jbe 0x14001e4b3
call fcn.14002dfd0
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x14001e4e5
mov qword [rsp + 0x28], 0
lea r8, [0x1400288d0]
mov r9, r14
mov dword [rsp + 0x20], 0
mov edx, r15d
xor ecx, ecx
call fcn.1400339d4
mov qword [rdi + 0xa0], rax
cmp rax, 0xffffffffffffffff
jne 0x14001e51d
mov rcx, r14
call fcn.14002dff0
call fcn.14002dfd0
mov ebp, dword [rax]
mov ecx, ebp
call fcn.140036350
mov r8, rax
lea rdx, str.Failed_to_create_a_thread:__s_n
mov rcx, rbx
call fcn.1400285a0
jmp 0x14001e583
movups xmm0, xmmword [rbx + 0xf8]
movups xmmword [rdi + 0xa0], xmm0
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
jne 0x14001e574
test bpl, bpl
je 0x14001e574
cmp qword [rbx + 0x168], 0xffffffffffffffff
je 0x14001e574
mov rcx, qword [rbx + 0x170]
lea rdx, [0x140088d44]
xor r9d, r9d
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x14001e574
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x14001e574
lea rdx, str.Failed_to_signal_new_connection_via_inter_thread_communication_channel.
mov rcx, rbx
call fcn.1400285a0
mov eax, 1
jmp 0x14001e2b4
mov ebp, reloc.WS2_32.dll_shutdown
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x14001e5a5
mov rcx, qword [rbx + 0x88]
lea r8, [rdi + 0x50]
mov r9d, 1
mov rdx, rdi
call rax
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14001e5d4
mov rcx, qword [0x140096480]
lea r9, [0x1400895f8]
mov r8d, 0x9db
lea rdx, [0x140089b80]
call qword [0x140096478]
int3
mov r8d, r12d
mov rdx, r13
mov rcx, rbx
call fcn.14001d450
lea rcx, [rbx + 0x130]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
jne 0x14001e65e
mov rax, qword [rdi + 0x10]
test rax, rax
jne 0x14001e60f
cmp rdi, qword [rbx + 0x48]
jne 0x14001e8a5
mov rcx, qword [rdi + 0x18]
test rcx, rcx
jne 0x14001e62d
cmp rdi, qword [rbx + 0x40]
jne 0x14001e8ef
test rcx, rcx
jne 0x14001e62d
mov qword [rbx + 0x40], rax
jmp 0x14001e631
mov qword [rcx + 0x10], rax
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
test rcx, rcx
jne 0x14001e64e
xor edx, edx
mov qword [rbx + 0x48], rax
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x18], rdx
jmp 0x14001e660
xor edx, edx
mov qword [rcx + 0x18], rax
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x18], rdx
jmp 0x14001e660
xor edx, edx
mov rax, qword [rdi]
test rax, rax
jne 0x14001e672
cmp rdi, qword [rbx + 0x18]
jne 0x14001e939
mov rcx, qword [rdi + 8]
test rcx, rcx
jne 0x14001e690
cmp rdi, qword [rbx + 0x10]
jne 0x14001e983
test rcx, rcx
jne 0x14001e690
mov qword [rbx + 0x10], rax
jmp 0x14001e693
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
test rcx, rcx
jne 0x14001e6a5
mov qword [rbx + 0x18], rax
jmp 0x14001e6a9
mov qword [rcx + 8], rax
lea rcx, [rbx + 0x130]
mov qword [rdi], rdx
mov qword [rdi + 8], rdx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rdi + 0x40]
call fcn.140028460
mov rcx, qword [rdi + 0x98]
call fcn.14002dff0
mov rcx, rdi
call fcn.14002dff0
call fcn.14002dfd0
test ebp, ebp
jne 0x14001e2b0
mov ebp, reloc.WS2_32.dll_shutdown
jmp 0x14001e2b0
lea rdx, [0x1400891d8]
mov rcx, rbx
call fcn.1400285a0
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14001dfc4
mov rcx, qword [0x140096480]
lea r9, [0x140089218]
mov r8d, 0x8d3
lea rdx, [0x140089310]
call qword [0x140096478]
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x140089180]
lea rax, str._NULL__daemon__worker_pool____external_add_
mov r9d, 0x884
lea rdx, [0x140089118]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x140089710]
lea rax, [0x140089668]
mov r9d, 0x982
lea rdx, [0x140089768]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x1400897f0]
lea rax, [0x1400896e8]
mov r9d, 0x982
lea rdx, [0x140089798]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x1400898b0]
lea rax, [0x140089848]
mov r9d, 0x986
lea rdx, [0x140089868]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x140089970]
lea rax, [0x140089908]
mov r9d, 0x986
lea rdx, [0x140089928]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x140089cd0]
lea rax, [0x140089d70]
mov r9d, 0x9e4
lea rdx, [0x1400899c8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x140089eb0]
lea rax, [0x140089e10]
mov r9d, 0x9e4
lea rdx, [0x140089ac8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x140089f50]
lea rax, [0x140089ff0]
mov r9d, 0x9e8
lea rdx, [0x140089bd8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x14008a090]
lea rax, [0x14008a040]
mov r9d, 0x9e8
lea rdx, [0x140089c88]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3