Function at 0x140011b10
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Get number of processors
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 - 0x9a0]
sub rsp, 0xaa0
mov rax, qword [0x1400c4080]
xor rax, rsp
mov qword [rbp + 0x950], rax
mov rax, qword [0x1400c66b0]
xor r12d, r12d
mov dword [rbp - 0x68], r12d
test rax, rax
jne 0x140011c21
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140011bf9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140011bf9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x82c503f0
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x140011bf4
nop
movsx edx, cl
lea r9, [r9 + 1]
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
movzx ecx, byte [r9 - 1]
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
test cl, cl
jne 0x140011bc0
cmp r10d, 0xe348b9f5
je 0x140011c01
test r11d, r11d
jne 0x140011ba0
mov rax, qword [rax]
jmp 0x140011b70
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov qword [0x1400c66b0], rax
mov r15d, 4
mov qword [rsp + 0x20], r12
mov r9d, r15d
lea r8, [rbp - 0x68]
lea edx, [r15 + 0x1b]
lea rcx, [r15 - 5]
call rax
mov ecx, dword [rbp - 0x68]
mov dword [rbp - 0x64], ecx
test eax, eax
jns 0x140011c54
mov dword [rsp + 0x30], r12d
xor r14d, r14d
jmp 0x140012060
mov eax, r12d
test ecx, ecx
sete al
mov dword [rbp - 0x68], eax
mov rax, qword [0x1400c66e0]
test rax, rax
jne 0x140011d32
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140011d0a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140011d0a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x457f7191
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140011d05
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x140011cd0
cmp r10d, 0x17d45c96
je 0x140011d12
test r11d, r11d
jne 0x140011cb0
mov rax, qword [rax]
jmp 0x140011c80
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov qword [0x1400c66e0], rax
mov edx, Ordinal_35
mov r9d, r15d
mov rcx, 0xffffffffffffffff
lea r8d, [rdx - 0x1e]
call rax
test eax, eax
js 0x140011d5b
mov dword [rsp + 0x30], 1
xor r14d, r14d
jmp 0x140012060
mov rax, qword [0x1400c6698]
test rax, rax
jne 0x140011e32
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140011e0a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140011e0a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x47cf3e93
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140011e05
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x140011dd0
cmp r10d, 0xf09d77c8
je 0x140011e12
test r11d, r11d
jne 0x140011db0
mov rax, qword [rax]
jmp 0x140011d80
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov qword [0x1400c6698], rax
mov r9d, r15d
lea r8, [rbp - 0x68]
mov edx, Ordinal_35
mov rcx, 0xffffffffffffffff
call rax
test eax, eax
jns 0x140011e53
xor r14d, r14d
jmp 0x14001205b
mov rax, qword [0x1400c6710]
test rax, rax
jne 0x140011f32
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140011f0a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140011f0a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0xc4bae6fe
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140011f05
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x140011ed0
cmp r10d, 0x8c6d0a8b
je 0x140011f12
test r11d, r11d
jne 0x140011eb0
mov rax, qword [rax]
jmp 0x140011e80
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov qword [0x1400c6710], rax
xor r14d, r14d
lea r8, [rbp - 0x68]
mov r9d, r15d
mov qword [rsp + 0x20], r14
lea edx, [r14 + 0x1f]
lea rcx, [r14 - 1]
call rax
test eax, eax
js 0x140011f62
cmp dword [rbp - 0x68], r12d
je 0x140011f62
mov dword [rsp + 0x30], 1
jmp 0x140012060
mov rax, qword [0x1400c66a0]
test rax, rax
jne 0x140012046
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14001201a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14001201a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x259c1ccf
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140012015
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x140011fe0
cmp r10d, 0x50b930f4
je 0x140012022
test r11d, r11d
jne 0x140011fc0
mov rax, qword [rax]
jmp 0x140011f90
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx r8d, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + r8*4]
add rax, rbx
mov qword [0x1400c66a0], rax
xor r14d, r14d
mov r9d, r15d
lea r8, [rbp - 0x64]
mov edx, Ordinal_35
mov rcx, 0xffffffffffffffff
call rax
mov dword [rsp + 0x30], r14d
mov rax, qword [0x1400c66c0]
mov dword [rbp - 0x58], r14d
mov dword [rbp - 0x5c], r14d
mov dword [rbp - 0x60], r14d
test rax, rax
jne 0x140012145
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14001211a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14001211a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x838bba17
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140012115
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x1400120e0
cmp r10d, 0xe1ef2794
je 0x140012122
test r11d, r11d
jne 0x1400120c0
mov rax, qword [rax]
jmp 0x140012090
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov qword [0x1400c66c0], rax
xor r14d, r14d
mov r13d, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x28], rcx
lea r9, [rbp - 0x5c]
mov r8d, r13d
mov dword [rsp + 0x20], r13d
lea rdx, [rbp - 0x58]
lea ecx, [r13 + 0x15]
call rax
mov qword [rsp + 0x60], r14
mov r15d, eax
mov dword [rsp + 0x5c], r14d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov dword [rsp + 0x68], Ordinal_50
mov r12d, r14d
mov qword [rsp + 0x70], r14
mov dword [rbp - 0x80], r14d
mov qword [rsp + 0x78], r14
mov rcx, qword gs:[0x60]
mov dword [rsp + 0x34], eax
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rax, qword [rcx]
mov r10, qword [rax + 0x30]
mov rax, qword [0x1400c6678]
test rax, rax
jne 0x140012257
movsxd rax, dword [r10 + 0x3c]
mov r11d, r14d
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
nop dword [rax + rax]
mov ebx, r11d
mov r9d, 0x55e67664
lea rax, [r10 + rbx*4]
mov r8d, dword [rax + rsi]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012231
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012200
cmp r9d, 0x8dc456a2
je 0x140012236
inc r11d
jmp 0x1400121e0
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c6678], rax
xor r9d, r9d
lea r8, [rsp + 0x68]
mov edx, 0x1f000f
lea rcx, [rsp + 0x60]
call rax
test eax, eax
js 0x1400129be
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c66d8]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x140012327
movsxd rax, dword [r10 + 0x3c]
mov r11d, r14d
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
nop
mov ebx, r11d
mov r9d, 0x7e4062ee
lea rax, [r10 + rbx*4]
mov r8d, dword [rax + rsi]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012301
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x1400122d0
cmp r9d, 0x4464b0cf
je 0x140012306
inc r11d
jmp 0x1400122b0
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c66d8], rax
mov ebx, 4
lea rcx, [rsp + 0x5c]
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x5c]
mov r9d, ebx
xor ecx, ecx
lea edx, [rbx - 1]
call rax
mov edx, dword [rsp + 0x5c]
mov r9d, ebx
xor ecx, ecx
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r15, rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov r10, qword [rax + 0x30]
test r15, r15
jne 0x140012424
mov rax, qword [0x1400c66c8]
test rax, rax
jne 0x140012418
movsxd rax, dword [r10 + 0x3c]
mov r11d, r14d
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
mov ebx, r11d
mov r9d, 0x9f286878
lea rax, [r10 + rbx*4]
mov r8d, dword [rax + rsi]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x1400123f2
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x1400123c1
cmp r9d, 0x731a0d1e
je 0x1400123f7
inc r11d
jmp 0x1400123a2
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c66c8], rax
mov rcx, qword [rsp + 0x60]
call rax
jmp 0x1400129b9
mov rax, qword [0x1400c66a8]
test rax, rax
jne 0x1400124c9
movsxd rax, dword [r10 + 0x3c]
mov r11d, r14d
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
nop dword [rax + rax]
mov ebx, r11d
mov r9d, 0xbfae1287
lea rax, [r10 + rbx*4]
mov r8d, dword [rax + rsi]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x1400124a1
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012470
cmp r9d, 0xfa5cf6e0
je 0x1400124a6
inc r11d
jmp 0x140012450
mov r8d, dword [rdi + r10 + 0x24]
add r8, r10
movzx r9d, word [r8 + rbx*2]
mov r8d, dword [rdi + r10 + 0x1c]
add r8, r10
mov eax, dword [r8 + r9*4]
add rax, r10
mov qword [0x1400c66a8], rax
mov r9d, dword [rsp + 0x5c]
mov r8, r15
mov edx, 3
mov qword [rsp + 0x20], r14
mov rcx, 0xffffffffffffffff
call rax
test eax, eax
jns 0x1400125c4
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c66d0]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x1400125a7
movsxd rax, dword [r10 + 0x3c]
mov r11d, r14d
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
nop dword [rax + rax]
mov ebx, r11d
mov r9d, 0x7a254fd0
lea rax, [r10 + rbx*4]
mov r8d, dword [rax + rsi]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012581
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012550
cmp r9d, 0xac0cf736
je 0x140012586
inc r11d
jmp 0x140012530
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c66d0], rax
mov rcx, qword [rsp + 0x60]
call rax
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x1400129b9
mov eax, dword [r15]
lea r11, [r15 + 8]
test eax, eax
je 0x1400128d8
movzx r14d, word [0x1400b4bf6]
mov edx, 0xb8
mov esi, dword [reloc.WS2_32.dll_accept]
mov edi, eax
movaps xmmword [rsp + 0xa80], xmm7
xor r13d, r13d
movsd xmm7, qword [0x1400b4bf0]
movaps xmmword [rsp + 0xa70], xmm8
movups xmm8, xmmword [str.HYp__0E]
mov dword [rsp + 0x38], edx
movaps xmmword [rsp + 0xa60], xmm9
movq xmm9, qword [str.HYp__0E]
movaps xmmword [rsp + 0xa90], xmm6
nop word [rax + rax]
mov rbx, qword [r11 + 8]
movsd qword [rsp + 0x50], xmm7
movups xmmword [rsp + 0x40], xmm8
test r14w, r14w
je 0x14001278a
mov r8d, r13d
cmp esi, 2
jl 0x140012739
movdqa xmm2, xmmword [0x1400b6920]
mov r8d, 8
movdqa xmm3, xmmword [0x1400b6930]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1400b69c0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 3
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400b6940]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, xmm9
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
paddw xmm2, xmmword [str.::::::::]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movq qword [rsp + 0x40], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 3
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400b6940]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [str.::::::::]
xorps xmm2, xmm0
movq qword [rsp + 0x48], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x40]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x22b63cbf
lea r9, [r9 + 2]
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3b
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x3a
xor word [r9 - 2], ax
cmp r8d, 0xc
jl 0x140012750
mov edx, 0xb8
lea r10, [rsp + 0x40]
mov r9, rbx
test rbx, rbx
je 0x140012884
nop dword [rax + rax]
movzx ecx, word [r10]
lea eax, [rcx - 0x41]
cmp eax, 0x19
ja 0x1400127b2
lea r8d, [rcx + 0x20]
jmp 0x1400127d0
lea eax, [rcx - 0xc0]
cmp eax, 0x1f
ja 0x1400127c3
lea r8d, [rcx + 0x20]
jmp 0x1400127d0
cmp ecx, 0xa8
mov r8d, ecx
cmove r8d, edx
movzx edx, word [r9]
lea eax, [rdx - 0x41]
cmp eax, 0x19
ja 0x1400127e1
lea eax, [rdx + 0x20]
jmp 0x1400127fe
lea eax, [rdx - 0xc0]
cmp eax, 0x1f
ja 0x1400127f1
lea eax, [rdx + 0x20]
jmp 0x1400127fe
cmp edx, 0xa8
mov eax, edx
cmove eax, dword [rsp + 0x38]
cmp r8d, eax
jne 0x140012821
test cx, cx
je 0x14001281c
test dx, dx
je 0x140012821
add r10, 2
mov edx, 0xb8
add r9, 2
jmp 0x1400127a0
test dx, dx
je 0x140012879
lea eax, [rcx - 0x41]
mov r8d, 0xb8
cmp eax, 0x19
ja 0x140012834
add ecx, 0x20
jmp 0x14001284e
lea eax, [rcx - 0xc0]
cmp eax, 0x1f
ja 0x140012844
add ecx, 0x20
jmp 0x14001284e
cmp ecx, 0xa8
cmove ecx, r8d
lea eax, [rdx - 0x41]
cmp eax, 0x19
ja 0x14001285b
add edx, 0x20
jmp 0x140012875
lea eax, [rdx - 0xc0]
cmp eax, 0x1f
ja 0x14001286b
add edx, 0x20
jmp 0x140012875
cmp edx, 0xa8
cmove edx, r8d
cmp ecx, edx
jne 0x140012884
mov eax, dword [r11 + 0x14]
test eax, eax
je 0x140012884
add r12d, eax
movzx ecx, word [r11 + 2]
mov edx, 0xb8
add rcx, rbx
mov rax, rcx
and rax, 0xfffffffffffffff8
cmp rax, rcx
lea r11, [rax + 8]
cmove r11, rax
sub rdi, 1
jne 0x140012630
movaps xmm9, xmmword [rsp + 0xa60]
mov r13d, reloc.WS2_32.dll_recv
movaps xmm8, xmmword [rsp + 0xa70]
xor r14d, r14d
movaps xmm7, xmmword [rsp + 0xa80]
movaps xmm6, xmmword [rsp + 0xa90]
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c66f8]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x1400129a7
movsxd rax, dword [r10 + 0x3c]
mov r11d, r14d
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
nop word [rax + rax]
mov ebx, r11d
mov r9d, 0xf81a82ca
lea rax, [rsi + rbx*4]
mov r8d, dword [rax + r10]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012981
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012950
cmp r9d, 0x6ca583bc
je 0x140012986
inc r11d
jmp 0x140012930
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c66f8], rax
mov rcx, qword [rsp + 0x60]
call rax
cmp r12d, 1
sbb r14d, r14d
and r14d, 8
mov r15d, dword [rsp + 0x34]
xor edx, edx
lea rcx, [rbp + 0x480]
mov r8d, 0x4d0
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x4d0
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x4f0], 1
lea r12, [0x140011b00]
mov qword [rbp + 0x4c8], r12
mov dword [rbp + 0x4b0], r13d
mov dword [rbp - 0x20], 0x100010
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c6700]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x140012ac7
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
xor eax, eax
mov r11d, eax
mov esi, dword [rdi + r10 + 0x20]
nop dword [rax + rax]
mov ebx, r11d
mov r9d, 0x77f997c8
lea rax, [r10 + rbx*4]
mov r8d, dword [rax + rsi]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012aa1
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012a70
cmp r9d, 0xefb5409
je 0x140012aa6
inc r11d
jmp 0x140012a50
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c6700], rax
mov edx, 1
lea rcx, [rdx - 3]
call rax
test eax, eax
jns 0x140012e79
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c66b8]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x140012b99
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
xor eax, eax
mov r11d, eax
mov esi, dword [rdi + r10 + 0x20]
nop dword [rax + rax]
mov ebx, r11d
mov r9d, 0x30b8aede
lea rax, [r10 + rbx*4]
mov r8d, dword [rax + rsi]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012b71
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012b40
cmp r9d, 0x66da0603
je 0x140012b76
inc r11d
jmp 0x140012b20
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx r8d, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x1400c66b8], rax
mov edx, 1
lea rcx, [rdx - 3]
call rax
test eax, eax
jns 0x140012e79
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c6708]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x140012c67
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
xor eax, eax
mov r11d, eax
mov esi, dword [rdi + r10 + 0x20]
nop word [rax + rax]
mov ebx, r11d
mov r9d, 0x909d3bd6
lea rax, [rsi + rbx*4]
mov r8d, dword [rax + r10]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012c41
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012c10
cmp r9d, 0x647a44f
je 0x140012c46
inc r11d
jmp 0x140012bf0
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c6708], rax
lea rdx, [rbp + 0x480]
mov rcx, 0xfffffffffffffffe
call rax
test eax, eax
jns 0x140012c85
xor eax, eax
mov r13d, eax
jmp 0x140012e79
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c6670]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x140012d47
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
xor eax, eax
mov r11d, eax
mov esi, dword [rdi + r10 + 0x20]
mov ebx, r11d
mov r9d, 0x6602405c
lea rax, [rsi + rbx*4]
mov r8d, dword [rax + r10]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012d21
nop dword [rax]
nop word [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012cf0
cmp r9d, 0x68d713a9
je 0x140012d26
inc r11d
jmp 0x140012cc3
mov ecx, dword [rdi + r10 + 0x24]
add rcx, r10
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x1400c6670], rax
lea rdx, [rbp - 0x50]
mov rcx, 0xfffffffffffffffe
call rax
test eax, eax
js 0x140012c7b
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x4c8]
jne 0x140012e79
cmp rax, r12
jne 0x140012e79
cmp qword [rbp], 0
jne 0x140012e79
cmp qword [rbp + 8], 0
jne 0x140012e79
cmp qword [rbp + 0x10], 0
jne 0x140012e79
cmp qword [rbp + 0x20], 0
je 0x140012e79
mov dword [rbp - 0x20], 0x100010
xor r13d, r13d
mov qword [rbp - 8], r13
mov qword [rbp + 0x20], r13
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax]
mov rax, qword [0x1400c6688]
mov r10, qword [rcx + 0x30]
test rax, rax
jne 0x140012e69
movsxd rax, dword [r10 + 0x3c]
mov r11d, r13d
mov edi, dword [rax + r10 + 0x88]
mov esi, dword [rdi + r10 + 0x20]
mov ebx, r11d
mov r9d, 0x1b94c53
lea rax, [rsi + rbx*4]
mov r8d, dword [rax + r10]
add r8, r10
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140012e41
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x140012e10
cmp r9d, 0x81a8f2e6
je 0x140012e46
inc r11d
jmp 0x140012df0
mov edx, dword [rdi + r10 + 0x24]
add rdx, r10
movzx r8d, word [rdx + rbx*2]
mov edx, dword [rdi + r10 + 0x1c]
add rdx, r10
mov eax, dword [rdx + r8*4]
add rax, r10
mov qword [0x1400c6688], rax
lea rdx, [rbp + 0x480]
mov rcx, 0xfffffffffffffffe
call rax
cmp r15d, 0xc0000354
mov eax, 4
mov ecx, 0
cmovne eax, ecx
or al, r14b
or al, byte [rsp + 0x30]
or al, r13b
mov rcx, qword [rbp + 0x950]
xor rcx, rsp
call fcn.1400a04f0
lea r11, [rsp + 0xaa0]
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