Function at 0x1800120f0
Capabilities:
Encode data using xor
Hash data with crc32
Link many functions at runtime

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rbx
lea rbp, [rsp - 0x238]
sub rsp, 0x338
mov ebx, ecx
lea rcx, [rbp + 0x180]
call fcn.180082930
mov r8, qword [rax]
mov rdx, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x180012137
cmp dword [rdx + 0x20], ebx
jae 0x18001212b
mov rdx, qword [rdx + 0x10]
jmp 0x180012131
mov r8, rdx
mov rdx, qword [rdx]
cmp byte [rdx + 0x19], 0
je 0x180012120
cmp byte [r8 + 0x19], 0
jne 0x180012168
cmp ebx, dword [r8 + 0x20]
jb 0x180012168
mov rdx, rax
mov rcx, rax
call fcn.1800861c0
lea rdx, [rbp + 0x250]
call fcn.180082850
mov rax, qword [rax]
add rsp, 0x338
pop rbx
pop rbp
ret
mov qword [rsp + 0x330], rsi
mov rdx, rax
mov qword [rsp + 0x328], rdi
mov rcx, rax
mov qword [rsp + 0x320], r12
mov qword [rsp + 0x318], r13
mov qword [rsp + 0x310], r14
mov qword [rsp + 0x308], r15
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x2e0], xmm7
call fcn.1800861c0
call fcn.180011ff0
mov rcx, rax
mov qword [rbp + 0xf8], rax
mov rsi, rax
call fcn.180011ed0
mov rbx, rax
mov qword [rbp], rax
xor r12d, r12d
lea rdx, [rbp - 0x80]
mov qword [rbp + 0x268], r12
movabs rax, 0xfc1647e8d2d71b62
mov qword [rbp + 0x258], rax
movabs r13, 0x78183a2928cd3af4
mov rcx, qword [rbp + 0x258]
movabs rax, 0x1d7f654741ac579b
mov qword [rbp - 0x80], rcx
mov edi, r12d
mov qword [rbp + 0x258], rax
movabs rax, 0x49a10e69bb27aca1
mov rcx, qword [rbp + 0x258]
mov qword [rbp - 0x78], rcx
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x70], rax
movabs rax, 0xde49181bb99f933a
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x68], rax
movabs rax, 0x98493798b1e5770b
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x258], r13
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x78], rax
movabs rax, 0x2bcc6b1ac846f3d5
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x80], rax
movabs rax, 0xde49181bcafafa56
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
movdqa xmm0, xmmword [rbp - 0x80]
movdqa xmm1, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rbp + 0x70]
mov rcx, qword [0x180285ad8]
mov qword [rbp + 0x88], rax
xorps xmm1, xmmword [rbp + 0x80]
movdqa xmmword [rbp - 0x70], xmm1
mov dword [rbp + 0x260], r12d
movdqa xmmword [rbp - 0x80], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x268]
mov rcx, rsi
call rax
cmp qword [rbp + 0x268], rdi
jbe 0x1800130db
mov rax, qword [rbx]
movabs rcx, 0xf11647e8d2d71b62
movabs rdx, 0xc7d5d764daa5b99
mov dword [rbp + 0x258], r12d
movabs r8, 0x48931869a92a908a
movabs r9, 0xde49181bbe948f39
mov r15d, r12d
mov r14, qword [rax]
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x30], r8
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x30], r9
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
movabs rax, 0x98493798b1e5770b
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x50], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x58], rax
movabs rax, 0x2bcc6b1ac846f3d5
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x60], rax
movabs rax, 0xde49181bcafafa56
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x50]
mov rcx, qword [0x180285ad8]
mov qword [rbp + 0x68], rax
xorps xmm1, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x70], xmm1
mov qword [rbp + 0xf0], r14
movdqa xmmword [rsp + 0x60], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
test rax, rax
je 0x180012f9c
nop word [rax + rax]
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x50], r12
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180012450
lea rcx, [rsp + 0x38]
call fcn.180086a90
movabs rax, 0x98493798dd891325
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x10], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x18], rax
movabs rax, 0x98493798b1e5770b
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x110], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x118], rax
mov rax, 0xffffffffffffffff
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x10], xmm0
inc rax
cmp byte [rcx + rax], 0
jne 0x1800124d2
mov rsi, qword [rsp + 0x50]
lea rcx, [rsp + 0x38]
mov rdi, qword [rsp + 0x38]
lea r9, [rbp + 0x10]
mov rbx, qword [rsp + 0x48]
cmp rsi, 0xf
mov rdx, rbx
mov qword [rsp + 0x20], rax
cmova rcx, rdi
xor r8d, r8d
call fcn.180086870
cmp rbx, rax
jb 0x1800131aa
mov rcx, rbx
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp rsi, 0xf
lea rcx, [rsp + 0x38]
cmova rcx, rdi
sub rbx, rdx
add rcx, rax
mov r8, rbx
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x48], rbx
lea rdx, [rbp + 0xd0]
movabs rcx, 0xde49181bcafafa56
movabs rax, 0xf11647e8d2d71b62
mov qword [rsp + 0x30], rax
movabs rdi, 0x98493798b1e5770b
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xd0], rax
movabs rax, 0xc7d5d764daa5b99
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xd8], rax
movabs rax, 0x2bcc1869a92a908a
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xe0], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xe8], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x160], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x168], rax
movabs rax, 0x2bcc6b1ac846f3d5
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rbp + 0x170], rax
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp + 0xd0]
movdqa xmm1, xmmword [rbp + 0xe0]
xorps xmm0, xmmword [rbp + 0x160]
mov rcx, qword [0x180285ad8]
mov qword [rbp + 0x178], rax
xorps xmm1, xmmword [rbp + 0x170]
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, r15d
mov rcx, r14
call rax
xorps xmm0, xmm0
mov qword [rbp + 0x100], rax
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov r8, 0xffffffffffffffff
mov r15, qword [rax + 0x10]
mov r14, qword [rax + 0x18]
mov qword [rbp + 0xc8], r12
nop dword [rax + rax]
inc r8
cmp byte [r14 + r8], 0
jne 0x180012690
mov rdx, r14
lea rcx, [rbp + 0xb0]
call fcn.180086a90
cmp qword [rbp + 0xc0], 0
mov rdx, qword [rbp + 0xc8]
sete bl
cmp rdx, 0xf
jbe 0x1800126f5
mov rcx, qword [rbp + 0xb0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800126f0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013190
call fcn.18019a9ec
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xb0], 0
test bl, bl
je 0x180012964
movabs rax, 0x98493798b1e54d31
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x20], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x28], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x120], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp + 0x20]
mov r12, qword [rsp + 0x48]
mov qword [rbp + 0x128], rax
lea rax, [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x20], xmm0
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x180012780
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r12
cmp rax, rbx
jb 0x1800131b6
cmp qword [rsp + 0x50], 0xf
lea r13, [rsp + 0x38]
lea r14, [rbx + r12]
mov qword [rbp - 0x30], 0
cmova r13, qword [rsp + 0x38]
lea rsi, [rbp - 0x40]
mov edi, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
cmp r14, rdi
jbe 0x180012856
mov rdi, r14
or rdi, 0xf
cmp rdi, rcx
jbe 0x1800127fb
movabs rax, 0x8000000000000000
mov rdi, rcx
add rax, 0x27
jmp 0x180012822
cmp rdi, 0x16
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180012841
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800131b0
mov rcx, rax
call fcn.18019a9b0
test rax, rax
je 0x180013127
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180012852
test rcx, rcx
je 0x180012850
call fcn.18019a9b0
mov rsi, rax
jmp 0x180012852
xor esi, esi
mov qword [rbp - 0x40], rsi
mov r8, r12
mov qword [rbp - 0x30], r14
mov rdx, r13
mov qword [rbp - 0x28], rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + r12]
mov r8, rbx
lea rdx, [rbp + 0x20]
call sub.VCRUNTIME140.dll_memcpy
mov r8, 0xffffffffffffffff
mov byte [rsi + r14], 0
nop dword [rax + rax]
inc r8
cmp byte [r15 + r8], 0
jne 0x180012890
mov rdx, r15
lea rcx, [rbp - 0x40]
call fcn.18000fd50
xor r12d, r12d
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r12b
mov rdx, qword [rsp + 0x50]
movups xmmword [rbp + 0x1a0], xmm6
movups xmmword [rbp + 0x1b0], xmm7
cmp rdx, 0xf
jbe 0x18001290a
mov rcx, qword [rsp + 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012905
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013127
call fcn.18019a9ec
mov rdx, qword [rbp - 0x28]
movups xmmword [rsp + 0x38], xmm6
movups xmmword [rsp + 0x48], xmm7
cmp rdx, 0xf
jbe 0x18001294f
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001294a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013127
call fcn.18019a9ec
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x40], r12b
jmp 0x180012d9b
movabs rcx, 0x98493798b1e54d31
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x40], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x48], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r13
mov qword [rbp + 0x130], rax
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp + 0x40]
mov qword [rbp + 0x138], rax
xorps xmm0, xmmword [rbp + 0x130]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x30], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x140], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp + 0x30]
mov r13, qword [rsp + 0x48]
mov qword [rbp + 0x148], rax
lea rax, [rbp + 0x30]
xorps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x30], xmm0
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180012a20
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, rbx
jb 0x1800131a4
cmp qword [rsp + 0x50], 0xf
lea rax, [rsp + 0x38]
mov qword [rbp - 0x10], r12
lea rsi, [rbp - 0x20]
cmova rax, qword [rsp + 0x38]
mov edi, reloc.WS2_32.dll_ntohs
mov qword [rbp - 8], r12
xorps xmm0, xmm0
lea r12, [rbx + r13]
mov qword [rsp + 0x30], rax
movups xmmword [rbp - 0x20], xmm0
cmp r12, rdi
jbe 0x180012b01
mov rdi, r12
or rdi, 0xf
cmp rdi, rcx
jbe 0x180012a9c
movabs rax, 0x8000000000000000
mov rdi, rcx
add rax, 0x27
jmp 0x180012ac3
cmp rdi, 0x16
mov ecx, reloc.WLDAP32.dll_Ordinal_22
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180012ae7
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800131bc
mov rcx, rax
call fcn.18019a9b0
test rax, rax
je 0x18001312e
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
mov rax, qword [rsp + 0x30]
jmp 0x180012afd
test rcx, rcx
je 0x180012afb
call fcn.18019a9b0
mov rsi, rax
mov rax, qword [rsp + 0x30]
jmp 0x180012afd
xor esi, esi
mov qword [rbp - 0x20], rsi
mov r8, r13
mov qword [rbp - 0x10], r12
mov rdx, rax
mov qword [rbp - 8], rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + r13]
mov r8, rbx
lea rdx, [rbp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov r8, 0xffffffffffffffff
mov byte [rsi + r12], 0
inc r8
cmp byte [r14 + r8], 0
jne 0x180012b33
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.18000fd50
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r12
mov r8, 0xffffffffffffffff
mov qword [rbp + 0xa8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xa0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r12b
lea rax, [rbp + 0x40]
inc r8
cmp byte [rax + r8], r12b
jne 0x180012b93
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x90]
call fcn.18000fd50
mov qword [rbp - 0x50], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x48], r12
mov rdi, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r12b
inc rdi
cmp byte [r15 + rdi], r12b
jne 0x180012be0
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180012c2c
cmp rdx, 0xf
lea rax, [rdi + rcx]
lea rbx, [rbp - 0x60]
mov qword [rbp - 0x50], rax
cmova rbx, qword [rbp - 0x60]
mov r8, rdi
add rbx, rcx
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbp - 0x60]
mov byte [rbx + rdi], r12b
jmp 0x180012c40
mov r9, r15
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.18000fec0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r12b
mov rdx, qword [rsp + 0x50]
movups xmmword [rbp + 0x1c0], xmm6
movups xmmword [rbp + 0x1d0], xmm7
cmp rdx, 0xf
jbe 0x180012ca1
mov rcx, qword [rsp + 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012c9c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001312e
call fcn.18019a9ec
mov rdx, qword [rbp - 0x48]
movups xmmword [rsp + 0x38], xmm6
movups xmmword [rsp + 0x48], xmm7
cmp rdx, 0xf
jbe 0x180012ce6
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012ce1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001312e
call fcn.18019a9ec
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x60], r12b
cmp rdx, 0xf
jbe 0x180012d37
mov rcx, qword [rbp + 0x90]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012d32
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001312e
call fcn.18019a9ec
mov rdx, qword [rbp - 8]
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x90], r12b
cmp rdx, 0xf
jbe 0x180012d8b
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012d86
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001312e
call fcn.18019a9ec
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x20], r12b
mov r11, qword [rsp + 0x50]
lea rax, [rsp + 0x38]
mov r10, qword [rsp + 0x38]
cmp r11, 0xf
mov rcx, 0xffffffffffffffff
cmova rax, r10
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180012dc0
cmp r11, 0xf
lea r8, [rsp + 0x38]
mov eax, 0xffffffff
cmova r8, r10
test ecx, ecx
je 0x180012e12
mov r9d, ecx
lea r11, [0x1801cc180]
nop dword [rax]
movsx edx, byte [r8]
lea r8, [r8 + 1]
mov ecx, eax
shr eax, 8
xor rdx, rcx
movzx ecx, dl
xor eax, dword [r11 + rcx*4]
sub r9, 1
jne 0x180012df0
mov r11, qword [rsp + 0x50]
mov ecx, dword [rbp + 0x250]
not eax
cmp ecx, eax
je 0x180013135
cmp r11, 0xf
jbe 0x180012e59
lea rdx, [r11 + 1]
mov rax, r10
cmp rdx, 0x1000
jb 0x180012e51
mov r10, qword [r10 - 8]
add rdx, 0x27
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013190
mov rcx, r10
call fcn.18019a9ec
mov r15d, dword [rbp + 0x258]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x48], r12
movabs rax, 0xf11647e8d2d71b62
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
movabs r13, 0x78183a2928cd3af4
mov byte [rsp + 0x38], 0
inc r15d
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
movabs rax, 0xc7d5d764daa5b99
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
movabs rax, 0x48931869a92a908a
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
movabs rax, 0xde49181bbe948f39
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
movabs rax, 0x98493798b1e5770b
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x50], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x58], rax
movabs rax, 0x2bcc6b1ac846f3d5
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x60], rax
movabs rax, 0xde49181bcafafa56
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x50]
mov rcx, qword [0x180285ad8]
mov qword [rbp + 0x68], rax
xorps xmm1, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x70], xmm1
mov dword [rbp + 0x258], r15d
movdqa xmmword [rsp + 0x60], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, qword [rbp + 0xf0]
mov rcx, r14
call rax
movsxd rcx, r15d
cmp rcx, rax
jb 0x180012430
mov rbx, qword [rbp]
mov edi, dword [rbp + 0x260]
mov rsi, qword [rbp + 0xf8]
mov qword [rbp + 0x268], r12
lea rdx, [rbp - 0x80]
movabs rax, 0xfc1647e8d2d71b62
inc edi
mov qword [rbp + 0x258], rax
add rbx, 8
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x80], rax
movabs rax, 0x1d7f654741ac579b
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x78], rax
movabs rax, 0x49a10e69bb27aca1
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x70], rax
movabs rax, 0xde49181bb99f933a
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x68], rax
movabs rax, 0x98493798b1e5770b
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x258], r13
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x78], rax
movabs rax, 0x2bcc6b1ac846f3d5
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x80], rax
movabs rax, 0xde49181bcafafa56
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
movdqa xmm0, xmmword [rbp - 0x80]
movdqa xmm1, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rbp + 0x70]
mov rcx, qword [0x180285ad8]
mov qword [rbp + 0x88], rax
xorps xmm1, xmmword [rbp + 0x80]
movdqa xmmword [rbp - 0x70], xmm1
mov dword [rbp + 0x260], edi
mov qword [rbp], rbx
movdqa xmmword [rbp - 0x80], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x268]
mov rcx, rsi
call rax
movsxd rax, edi
cmp rax, qword [rbp + 0x268]
jb 0x180012314
xor eax, eax
movaps xmm6, xmmword [rsp + 0x2f0]
mov r15, qword [rsp + 0x308]
mov r14, qword [rsp + 0x310]
mov r13, qword [rsp + 0x318]
mov r12, qword [rsp + 0x320]
mov rdi, qword [rsp + 0x328]
mov rsi, qword [rsp + 0x330]
movaps xmm7, xmmword [rsp + 0x2e0]
add rsp, 0x338
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rbx, qword [rbp + 0x100]
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x190]
mov qword [rbp + 0x158], rbx
mov dword [rbp + 0x150], ecx
call fcn.180084730
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18001319c
mov rcx, qword [rsp + 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180013197
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180013197
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18019a9ec
mov rax, rbx
jmp 0x1800130dd
call fcn.18000fd20
int3
call fcn.1800844f0
int3
call fcn.18000fc10
int3
call fcn.18000fd20
int3
call fcn.18000fc10
int3