Function at 0x140106114
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 0x140106160
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 0x1401061e7
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 0x14010626d
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 0x1401062f6
lea rax, [rbp - 0x59]
mov qword [rbp + 0xf], rax
mov r15d, r14d
call fcn.1400fc970
movsx ebx, al
call fcn.1400fc974
movsx ecx, al
imul ebx, ecx
call fcn.1400fc980
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 0x14010642e
call fcn.1400fc978
movsx edx, al
movsx eax, byte [0x14055e028]
imul edx, eax
add edx, edx
call fcn.1400fc984
movsx ecx, al
sub edx, ecx
call fcn.1400fc97c
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14010642e
mov r13d, 1
jmp 0x140106483
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 0x140106483
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 0x140106930
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 0x1401064f1
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 0x1401064af
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 0x140106512
lea rdx, [rbp - 0x79]
lea rcx, [rbp - 0x59]
call fcn.140038c20
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 0x14010659a
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 0x140106558
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 0x1401065bc
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x29]
call fcn.140038c20
nop
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x29]
call fcn.1400be8a4
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 0x140106647
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140106642
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140106922
call fcn.140165c30
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 0x140106693
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010668e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140106929
call fcn.140165c30
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 0x14010690a
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 0x14010676d
call fcn.1400fc978
movsx edx, al
movsx eax, byte [0x14055e028]
imul edx, eax
add edx, edx
call fcn.1400fc984
movsx ecx, al
sub edx, ecx
call fcn.1400fc97c
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14010676d
mov dword [rbp + 0x67], 1
jmp 0x1401067c4
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 0x1401067c4
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 0x14010690d
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 0x1401068a3
call fcn.1400fc978
movsx edx, al
movsx eax, byte [0x14055e028]
imul edx, eax
add edx, edx
call fcn.1400fc984
movsx ecx, al
sub edx, ecx
call fcn.1400fc97c
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x140106903
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 0x1401068fc
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 0x1401068ff
mov eax, dword [rbp + 0x77]
test eax, eax
jle 0x14010690d
mov al, 1
jmp 0x140106ab7
xor r14d, r14d
inc rsi
cmp rsi, 4
jl 0x14010648f
inc r15d
jmp 0x14010637e
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.1400fc974
movsx edx, al
call fcn.1400fc970
movsx ecx, al
imul edx, ecx
call fcn.1400fc980
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.1400fc974
movsx edx, al
call fcn.1400fc970
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.1400fc980
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 0x140106a1a
call fcn.1400fc978
movsx edx, al
movsx eax, byte [0x14055e028]
imul edx, eax
add edx, edx
call fcn.1400fc984
movsx ecx, al
sub edx, ecx
call fcn.1400fc97c
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x140106ab5
call fcn.1400fc974
movsx edx, al
call fcn.1400fc970
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.1400fc980
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 0x140106aad
call fcn.1400fc974
movsx edx, al
call fcn.1400fc970
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.1400fc980
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 0x140106ab0
mov eax, dword [rbp + 0x67]
cmp r14d, eax
jge 0x140106ab7
xor al, al
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret