Function at 0x140106294
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xf8
mov dword [rbp - 0x79], 0x6f386968
mov dword [rbp - 0x75], 0x4b49757f
mov dword [rbp - 0x71], 0x7e75777d
mov word [rbp - 0x6d], 0xc14e
xor eax, eax
mov qword [rbp - 0x6b], rax
mov dword [rbp - 0x63], eax
mov word [rbp - 0x5f], ax
xor r14d, r14d
mov qword [rbp + 0x67], r14
mov rax, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x67]
movzx edx, byte [rbp + rax - 0x79]
movabs rax, 0x17169a6843d117a2
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x6e
mov rax, qword [rbp + 0x67]
mov byte [rbp + rax - 0x79], r8b
mov rax, qword [rbp + 0x67]
inc rax
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
cmp rax, 0x1c
jb 0x1401062e0
lea rax, [rbp - 0x79]
mov qword [rbp - 9], rax
mov dword [rsp + 0x40], 0xbf4cbdbc
mov dword [rsp + 0x44], 0xa849acb2
mov word [rsp + 0x48], 0x934d
mov byte [rsp + 0x4a], 2
xor eax, eax
mov qword [rsp + 0x4b], rax
mov dword [rsp + 0x53], eax
mov byte [rsp + 0x57], al
mov qword [rbp + 0x67], r14
mov rax, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x67]
movzx edx, byte [rsp + rax + 0x40]
movabs rax, 0xea65731391ba642c
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x34
mov rax, qword [rbp + 0x67]
mov byte [rsp + rax + 0x40], r8b
mov rax, qword [rbp + 0x67]
inc rax
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
cmp rax, 0x18
jb 0x140106367
lea rax, [rsp + 0x40]
mov qword [rbp - 1], rax
mov dword [rsp + 0x40], 0x77467572
mov dword [rsp + 0x44], 0x500067
mov dword [rsp + 0x48], 0x9770909
mov byte [rsp + 0x4c], 0x9a
xor eax, eax
mov qword [rsp + 0x4d], rax
mov word [rsp + 0x55], ax
mov qword [rbp + 0x67], r14
mov rax, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x67]
movzx edx, byte [rsp + rax + 0x40]
movabs rax, 0xdd40fa4793bbc643
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x2b
mov rax, qword [rbp + 0x67]
mov byte [rsp + rax + 0x40], r8b
mov rax, qword [rbp + 0x67]
inc rax
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
cmp rax, 0x17
jb 0x1401063ed
lea rax, [rsp + 0x40]
mov qword [rbp + 7], rax
mov dword [rbp - 0x59], 0xe7d6e5ea
mov dword [rbp - 0x55], 0x988c86f2
mov dword [rbp - 0x51], 0xa7abc98c
mov dword [rbp - 0x4d], 0xb1b6c1a5
mov byte [rbp - 0x49], 6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x48], xmm0
mov dword [rbp - 0x38], eax
mov qword [rbp + 0x67], r14
mov rax, qword [rbp + 0x67]
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x67]
movzx edx, byte [rbp + rax - 0x59]
movabs rax, 0xe27f8a01d4099057
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x61
mov rax, qword [rbp + 0x67]
mov byte [rbp + rax - 0x59], r8b
mov rax, qword [rbp + 0x67]
inc rax
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
cmp rax, 0x25
jb 0x140106476
lea rax, [rbp - 0x59]
mov qword [rbp + 0xf], rax
mov r15d, r14d
call fcn.1400753c0
movsx ebx, al
call fcn.1400753c4
movsx ecx, al
imul ebx, ecx
call fcn.1400753d0
movsx edi, al
imul r9d, ebx, 7
add r9d, edi
mov dword [rbp + 0x6f], r9d
lea r12d, [rdi + rbx*8]
add r12d, ebx
mov r13d, dword [rbp + 0x67]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 + 0x7f], xmm1
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 0x1401065ae
call fcn.1400753c8
movsx edx, al
movsx eax, byte [0x1403122a0]
imul edx, eax
add edx, edx
call fcn.1400753d4
movsx ecx, al
sub edx, ecx
call fcn.1400753cc
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1401065ae
mov r13d, 1
jmp 0x140106603
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 0x140106603
lea ecx, [rbx + rdi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rbx*2]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x7f]
cvttsd2si r13d, xmm0
cmp r15d, r13d
jge 0x140106ab0
mov rsi, r14
mov dword [rbp - 0x79], 0x7a474b9b
mov dword [rbp - 0x75], 0x4e684858
mov dword [rbp - 0x71], 0xd3934c44
xor eax, eax
mov dword [rbp - 0x6d], eax
mov qword [rbp + 0x7f], r14
jmp 0x140106671
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rbp + 0x7f]
movzx edx, byte [rbp + rax - 0x79]
movabs rax, 0x155f506f460952e4
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x3c
mov rax, qword [rbp + 0x7f]
mov byte [rbp + rax - 0x79], r8b
mov rax, qword [rbp + 0x7f]
inc rax
mov qword [rbp + 0x7f], rax
mov rax, qword [rbp + 0x7f]
cmp rax, 0x10
jb 0x14010662f
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], r14
mov qword [rbp - 0x41], r14
lea rax, [rbp - 0x79]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r14b
jne 0x140106692
lea rdx, [rbp - 0x79]
lea rcx, [rbp - 0x59]
call fcn.1400110fc
nop
mov dword [rsp + 0x40], 0x656a5e1b
mov dword [rsp + 0x44], 0xada9615d
mov dword [rsp + 0x48], 0x6f6c55a0
mov byte [rsp + 0x4c], 0xf2
xor eax, eax
mov qword [rsp + 0x4d], rax
mov word [rsp + 0x55], ax
mov qword [rbp + 0x7f], r14
jmp 0x14010671a
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rbp + 0x7f]
movzx edx, byte [rsp + rax + 0x40]
movabs rax, 0xcda54ca1ea98063f
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x47
mov rax, qword [rbp + 0x7f]
mov byte [rsp + rax + 0x40], r8b
mov rax, qword [rbp + 0x7f]
inc rax
mov qword [rbp + 0x7f], rax
mov rax, qword [rbp + 0x7f]
cmp rax, 0x17
jb 0x1401066d8
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x11], r14
lea rax, [rsp + 0x40]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r14b
jne 0x14010673c
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x29]
call fcn.1400110fc
nop
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x29]
call fcn.1400c1ae4
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, qword [rbp + rsi*8 - 9]
call rax
mov r14, rax
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x1401067c7
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401067c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140106aa2
call fcn.14017fd24
and qword [rbp - 0x19], 0
mov qword [rbp - 0x11], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x29], 0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0xf
jbe 0x140106813
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010680e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140106aa9
call fcn.14017fd24
and qword [rbp - 0x49], 0
mov qword [rbp - 0x41], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x59], 0
lea edx, [rbx + rbx*4]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
mov r9d, dword [rbp + 0x6f]
cmp eax, ecx
je 0x140106a8a
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
xor eax, eax
cmp r14, 0xffffffffffffffff
setne al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rbp + 0x7f], xmm1
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 0x1401068ed
call fcn.1400753c8
movsx edx, al
movsx eax, byte [0x1403122a0]
imul edx, eax
add edx, edx
call fcn.1400753d4
movsx ecx, al
sub edx, ecx
call fcn.1400753cc
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1401068ed
mov dword [rbp + 0x67], 1
jmp 0x140106944
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 0x140106944
lea ecx, [rbx + rdi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rbx*2]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x7f]
cvttsd2si eax, xmm0
mov dword [rbp + 0x67], eax
lea ecx, [rbx + rdi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rbx*4]
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
imul eax, dword [rbp + 0x67]
xor r14d, r14d
test eax, eax
je 0x140106a8d
lea edx, [rbx + rbx*2]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
lea eax, [rax + rdx*2]
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 + 0x7f], xmm1
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 0x140106a23
call fcn.1400753c8
movsx edx, al
movsx eax, byte [0x1403122a0]
imul edx, eax
add edx, edx
call fcn.1400753d4
movsx ecx, al
sub edx, ecx
call fcn.1400753cc
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x140106a83
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 0x140106a7c
lea ecx, [rbx + rdi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rbx*2]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x7f]
cvttsd2si eax, xmm0
mov dword [rbp + 0x77], eax
jmp 0x140106a7f
mov eax, dword [rbp + 0x77]
test eax, eax
jle 0x140106a8d
mov al, 1
jmp 0x140106c37
xor r14d, r14d
inc rsi
cmp rsi, 4
jl 0x14010660f
inc r15d
jmp 0x1401064fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400753c4
movsx edx, al
call fcn.1400753c0
movsx ecx, al
imul edx, ecx
call fcn.1400753d0
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]
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 + 0x67], xmm1
call fcn.1400753c4
movsx edx, al
call fcn.1400753c0
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.1400753d0
movsx eax, al
add eax, r9d
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 0x140106b9a
call fcn.1400753c8
movsx edx, al
movsx eax, byte [0x1403122a0]
imul edx, eax
add edx, edx
call fcn.1400753d4
movsx ecx, al
sub edx, ecx
call fcn.1400753cc
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x140106c35
call fcn.1400753c4
movsx edx, al
call fcn.1400753c0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.1400753d0
movsx eax, al
add eax, r9d
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 0x140106c2d
call fcn.1400753c4
movsx edx, al
call fcn.1400753c0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.1400753d0
movsx eax, al
add eax, r9d
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]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x67]
cvttsd2si eax, xmm0
jmp 0x140106c30
mov eax, dword [rbp + 0x67]
cmp r14d, eax
jge 0x140106c37
xor al, al
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret