Function at 0x14004f818
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov qword [rbp - 9], rdx
mov qword [rbp - 0x39], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0xf], xmm0
lea rcx, [rbp + 0x5f]
movabs rdx, 0xff00ff00ff00ff07
mov qword [rbp + 0x17], rdx
mov qword [rbp + 0x1f], rcx
mov rax, qword [rcx]
xor rax, rdx
mov qword [rbp + 0xf], rax
xor r14d, r14d
mov qword [rcx], r14
mov byte [rbp - 0x45], r14b
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x45]
call fcn.1400854c4
mov r9, rax
lea ebx, [r14 + 0xa]
cmp byte [rax], r14b
jne 0x1400502d1
mov dword [rbp - 0x49], r14d
mov ecx, dword [rbp - 0x49]
call fcn.1400a4578
movsx r11d, al
call fcn.1400a4574
movsx ecx, al
imul r11d, ecx
call fcn.1400a4584
movsx r10d, al
lea eax, [r10 + r11*8]
add eax, r11d
mov dword [rbp - 0x31], eax
call fcn.1400a457c
movsx edi, al
call fcn.1400a4588
movsx esi, al
call fcn.1400a4580
movsx r14d, al
movsd xmm3, qword [0x14015cdf0]
mov r13d, dword [rbp - 0x31]
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*2]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fac1
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rbp - 0x41], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004f97c
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004f97c
mov dword [rbp - 0x2d], ebx
jmp 0x14004f9d2
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004f9d2
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x2d], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rbp - 0x41], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fa43
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fa43
mov r13d, ebx
jmp 0x14004fa9a
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fa9a
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si r13d, xmm0
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, r13d
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x2d]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, dword [rbp - 0x31]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400500ca
movsx edx, byte [0x14022ead4]
imul edx, edi
shl edx, 3
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fcd3
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde8]
movsd qword [rbp - 0x41], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fb87
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fb87
mov dword [rbp - 0x25], ebx
jmp 0x14004fbdd
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fbdd
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x25], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde8]
movsd qword [rbp - 0x41], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fc52
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fc52
mov dword [rbp - 0x29], ebx
jmp 0x14004fcab
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fcab
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x29], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x29]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x25]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*2]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fec1
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde0]
movsd qword [rbp - 0x41], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fd75
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fd75
mov dword [rbp - 0x1d], ebx
jmp 0x14004fdcb
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fdcb
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x1d], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde0]
movsd qword [rbp - 0x41], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fe40
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004fe40
mov dword [rbp - 0x21], ebx
jmp 0x14004fe99
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004fe99
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x21], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x21]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x1d]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400500ca
mov eax, dword [rbp - 0x49]
sub eax, 0x5b
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x41], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004ff74
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14004ff74
mov dword [rbp - 0x15], ebx
jmp 0x14004ffca
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14004ffca
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x15], eax
mov eax, dword [rbp - 0x49]
sub eax, 0x5b
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x41], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050049
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050049
mov dword [rbp - 0x19], ebx
jmp 0x1400500a2
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400500a2
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x19], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x19]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x15]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400502ba
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cdd8]
movsd qword [rbp - 0x41], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14005016e
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14005016e
mov dword [rbp - 0xd], ebx
jmp 0x1400501c4
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400501c4
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0xd], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cdd8]
movsd qword [rbp - 0x41], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050239
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050239
mov dword [rbp - 0x11], ebx
jmp 0x140050292
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050292
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x41]
cvttsd2si eax, xmm0
mov dword [rbp - 0x11], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x11]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0xd]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
mov eax, dword [rbp - 0x49]
cmp eax, 1
jb 0x14004f8de
xor r14d, r14d
mov byte [r9], 1
mov eax, dword [r9 + 4]
lea rcx, [0x140000000]
mov rax, qword [rcx + rax*8 + 0x1a9060]
mov rcx, qword [rbp - 0x39]
call rax
mov rdi, rax
mov qword [rbp - 0x41], rax
mov byte [rbp - 0x45], r14b
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x45]
call fcn.140089114
mov r9, rax
cmp byte [rax], r14b
jne 0x140050d66
mov dword [rbp - 0x49], r14d
mov ecx, dword [rbp - 0x49]
cmp ecx, 1
jae 0x140050d66
call fcn.1400a4578
movsx r11d, al
call fcn.1400a4574
movsx ecx, al
imul r11d, ecx
call fcn.1400a4584
movsx r10d, al
lea eax, [r10 + r11*8]
add eax, r11d
mov dword [rbp - 0x31], eax
call fcn.1400a457c
movsx edi, al
call fcn.1400a4588
movsx esi, al
call fcn.1400a4580
movsx r14d, al
movsd xmm3, qword [0x14015cdd0]
mov r13d, dword [rbp - 0x31]
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*2]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14005055a
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde8]
movsd qword [rbp - 0x39], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050411
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050411
mov dword [rbp - 0xd], ebx
jmp 0x140050467
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050467
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0xd], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde8]
movsd qword [rbp - 0x39], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400504dc
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400504dc
mov r13d, ebx
jmp 0x140050533
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050533
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si r13d, xmm0
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, r13d
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0xd]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, dword [rbp - 0x31]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050b63
movsx edx, byte [0x14022ead4]
imul edx, edi
shl edx, 3
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14005076c
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde0]
movsd qword [rbp - 0x39], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050620
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050620
mov dword [rbp - 0x15], ebx
jmp 0x140050676
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050676
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x15], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cde0]
movsd qword [rbp - 0x39], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400506eb
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400506eb
mov dword [rbp - 0x11], ebx
jmp 0x140050744
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050744
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x11], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x11]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x15]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*2]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14005095a
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cdd8]
movsd qword [rbp - 0x39], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14005080e
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14005080e
mov dword [rbp - 0x1d], ebx
jmp 0x140050864
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050864
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x1d], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14015cdd8]
movsd qword [rbp - 0x39], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400508d9
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400508d9
mov dword [rbp - 0x19], ebx
jmp 0x140050932
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050932
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x19], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x19]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x1d]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050b63
mov eax, dword [rbp - 0x49]
sub eax, 0x5a
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x39], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050a0d
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050a0d
mov dword [rbp - 0x25], ebx
jmp 0x140050a63
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050a63
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x25], eax
mov eax, dword [rbp - 0x49]
sub eax, 0x5a
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x39], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050ae2
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050ae2
mov dword [rbp - 0x21], ebx
jmp 0x140050b3b
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050b3b
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x21], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x21]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x25]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050d4b
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rbp - 0x39], xmm1
lea eax, [r11 + r11*2]
lea r12d, [rax + rax]
lea r15d, [r12 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050c03
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050c03
mov dword [rbp - 0x2d], ebx
jmp 0x140050c59
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050c59
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x2d], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rbp - 0x39], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050cca
movsx ecx, byte [0x14022ead4]
imul ecx, edi
lea edx, [rcx + rcx*4]
sub edx, esi
add edx, r14d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140050cca
mov dword [rbp - 0x29], ebx
jmp 0x140050d23
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r11*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050d23
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x39]
cvttsd2si eax, xmm0
mov dword [rbp - 0x29], eax
movsxd rax, dword [rbp - 0x49]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rbp - 0x29]
add r8d, r8d
movsxd rax, dword [rbp - 0x49]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rbp - 0x2d]
movsxd rax, dword [rbp - 0x49]
mov dword [r9 + rax*4 + 4], edx
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
mov eax, dword [rbp - 0x49]
cmp eax, 1
jb 0x14005036f
mov rdi, qword [rbp - 0x41]
xor r14d, r14d
mov byte [r9], 1
mov eax, dword [r9 + 4]
lea r8, [0x140000000]
mov r8, qword [r8 + rax*8 + 0x1a90b0]
mov rax, qword [rbp - 9]
cmp qword [rax + 0x18], 0xf
jbe 0x140050d8b
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call r8
mov qword [0x140231220], rax
call fcn.1400a4578
movsx esi, al
call fcn.1400a4574
movsx r9d, al
imul r9d, esi
call fcn.1400a4584
movsx r11d, al
imul ecx, r9d, 7
movsx eax, byte [reloc.WS2_32.dll_htons]
add ecx, r11d
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
lea r10d, [r9 + r9*2]
add r10d, r10d
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050f31
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r14
cmp qword [0x140231220], r14
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rbp - 9], xmm1
lea edi, [r11 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050e89
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x140050ee0
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r11d
lea eax, [rax + r9*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050edd
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 9]
cvttsd2si ebx, xmm0
jmp 0x140050ee0
mov ebx, dword [rbp - 0x31]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r11d
lea eax, [rax + r9*8]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, ebx
test eax, eax
je 0x140050f31
mov edx, Ordinal_27
lea rcx, [rbp + 0xf]
call fcn.1400a458c
lea rdx, [rbp + 0x5f]
lea rcx, [rbp + 0xf]
call fcn.14008454c
nop
mov ecx, 0x99
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea ecx, [r9 + r11]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r9*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 9], xmm1
lea r9d, [r11 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140050fe9
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x140051057
call fcn.1400a4574
movsx edx, al
imul edx, esi
call fcn.1400a4584
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14005104f
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 9]
cvttsd2si eax, xmm0
jmp 0x140051052
mov eax, dword [rbp - 0x31]
cmp r14d, eax
jge 0x140051078
mov rax, qword [0x140231220]
mov rcx, qword [rbp + 0xf]
movabs rdx, 0xff00ff00ff00ff07
xor rcx, rdx
lea rdx, [rbp + 0x5f]
mov qword [rdx], rcx
jmp 0x140051090
mov rax, qword [rbp + 0xf]
movabs rdx, 0xff00ff00ff00ff07
xor rax, rdx
lea rdx, [rbp + 0x5f]
mov qword [rdx], rax
mov rbx, qword [rsp + 0xe0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret