Function at 0x1400495c8
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.140084f44
mov r9, rax
lea ebx, [r14 + 0xa]
cmp byte [rax], r14b
jne 0x14004a081
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 0x140049871
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 0x14004972c
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 0x14004972c
mov dword [rbp - 0x2d], ebx
jmp 0x140049782
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 0x140049782
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 0x1400497f3
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 0x1400497f3
mov r13d, ebx
jmp 0x14004984a
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 0x14004984a
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 0x140049e7a
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 0x140049a83
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 0x140049937
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 0x140049937
mov dword [rbp - 0x25], ebx
jmp 0x14004998d
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 0x14004998d
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 0x140049a02
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 0x140049a02
mov dword [rbp - 0x29], ebx
jmp 0x140049a5b
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 0x140049a5b
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 0x140049c71
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 0x140049b25
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 0x140049b25
mov dword [rbp - 0x1d], ebx
jmp 0x140049b7b
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 0x140049b7b
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 0x140049bf0
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 0x140049bf0
mov dword [rbp - 0x21], ebx
jmp 0x140049c49
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 0x140049c49
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 0x140049e7a
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 0x140049d24
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 0x140049d24
mov dword [rbp - 0x15], ebx
jmp 0x140049d7a
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 0x140049d7a
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 0x140049df9
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 0x140049df9
mov dword [rbp - 0x19], ebx
jmp 0x140049e52
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 0x140049e52
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 0x14004a06a
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 0x140049f1e
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 0x140049f1e
mov dword [rbp - 0xd], ebx
jmp 0x140049f74
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 0x140049f74
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 0x140049fe9
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 0x140049fe9
mov dword [rbp - 0x11], ebx
jmp 0x14004a042
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 0x14004a042
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 0x14004968e
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.140088bb4
mov r9, rax
cmp byte [rax], r14b
jne 0x14004ab16
mov dword [rbp - 0x49], r14d
mov ecx, dword [rbp - 0x49]
cmp ecx, 1
jae 0x14004ab16
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 0x14004a30a
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 0x14004a1c1
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 0x14004a1c1
mov dword [rbp - 0xd], ebx
jmp 0x14004a217
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 0x14004a217
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 0x14004a28c
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 0x14004a28c
mov r13d, ebx
jmp 0x14004a2e3
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 0x14004a2e3
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 0x14004a913
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 0x14004a51c
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 0x14004a3d0
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 0x14004a3d0
mov dword [rbp - 0x15], ebx
jmp 0x14004a426
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 0x14004a426
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 0x14004a49b
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 0x14004a49b
mov dword [rbp - 0x11], ebx
jmp 0x14004a4f4
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 0x14004a4f4
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 0x14004a70a
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 0x14004a5be
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 0x14004a5be
mov dword [rbp - 0x1d], ebx
jmp 0x14004a614
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 0x14004a614
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 0x14004a689
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 0x14004a689
mov dword [rbp - 0x19], ebx
jmp 0x14004a6e2
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 0x14004a6e2
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 0x14004a913
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 0x14004a7bd
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 0x14004a7bd
mov dword [rbp - 0x25], ebx
jmp 0x14004a813
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 0x14004a813
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 0x14004a892
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 0x14004a892
mov dword [rbp - 0x21], ebx
jmp 0x14004a8eb
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 0x14004a8eb
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 0x14004aafb
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 0x14004a9b3
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 0x14004a9b3
mov dword [rbp - 0x2d], ebx
jmp 0x14004aa09
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 0x14004aa09
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 0x14004aa7a
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 0x14004aa7a
mov dword [rbp - 0x29], ebx
jmp 0x14004aad3
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 0x14004aad3
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 0x14004a11f
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 0x14004ab3b
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call r8
mov qword [0x140231180], 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 0x14004ace1
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 [0x140231180], 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 0x14004ac39
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 0x14004ac90
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 0x14004ac8d
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 0x14004ac90
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 0x14004ace1
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 0x14004ad99
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 0x14004ae07
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 0x14004adff
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 0x14004ae02
mov eax, dword [rbp - 0x31]
cmp r14d, eax
jge 0x14004ae28
mov rax, qword [0x140231180]
mov rcx, qword [rbp + 0xf]
movabs rdx, 0xff00ff00ff00ff07
xor rcx, rdx
lea rdx, [rbp + 0x5f]
mov qword [rdx], rcx
jmp 0x14004ae40
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