Function at 0x180023490
Capabilities:
Compress data via winapi

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0x120], rbx
mov r13d, r8d
mov r15, rcx
xor r12d, r12d
mov qword [rbp - 0x41], r12
mov qword [rbp - 0x39], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x51], r12b
mov dword [rbp + 0x7f], r12d
mov dword [rbp + 0xf], r12d
call fcn.1800280b0
mov rbx, rax
movdqa xmm0, xmmword [0x180084c20]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], r12b
lea r8d, [r12 + 0x1e]
lea rdx, str.RtlGetCompressionWorkSpaceSize
lea rcx, [rbp - 0x11]
call fcn.180001520
nop
movdqa xmm0, xmmword [0x180084c20]
movdqu xmmword [rbp - 0x69], xmm0
mov byte [rbp - 0x79], r12b
lea r8d, [r12 + 9]
lea rdx, [0x180083508]
lea rcx, [rbp - 0x79]
call fcn.180001520
nop
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.18000bd70
test rax, rax
je 0x18002355b
mov ecx, 0x102
lea r8, [rbp + 0xf]
lea rdx, [rbp + 0x7f]
call rax
mov ebx, eax
jmp 0x18002355e
mov ebx, r12d
mov rdx, qword [rbp - 0x61]
cmp rdx, 0x10
jb 0x180023599
inc rdx
mov rcx, qword [rbp - 0x79]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023594
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ad8
call fcn.18002aef0
movdqa xmm0, xmmword [0x180084c20]
movdqu xmmword [rbp - 0x69], xmm0
mov byte [rbp - 0x79], 0
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x1800235e5
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800235e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ade
call fcn.18002aef0
test ebx, ebx
js 0x180023688
mov eax, dword [rbp + 0x7f]
test eax, eax
je 0x180023688
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x19], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x31], 0
mov ebx, eax
lea rcx, [rbp - 0x31]
cmp rax, 0xf
ja 0x180023629
mov qword [rbp - 0x21], rax
mov r8d, eax
xor edx, edx
call fcn.18004b570
mov byte [rbp + rbx - 0x31], 0
jmp 0x180023639
mov byte [rsp + 0x20], 0
mov r9, rbx
mov rdx, rbx
call fcn.1800276e0
lea rdi, [rbp - 0x31]
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x180023740
mov rdi, qword [rbp - 0x31]
test rdi, rdi
jne 0x180023740
inc rdx
cmp rdx, 0x1000
jb 0x180023680
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x180023aea
mov rdi, rcx
mov rcx, rdi
call fcn.18002aef0
movdqa xmm0, xmmword [0x180084c20]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], 0
mov byte [r15], 0
lea rcx, [r15 + 8]
lea rdx, [rbp - 0x11]
call fcn.1800279f0
nop
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x1800236e7
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800236e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ae4
call fcn.18002aef0
nop
mov rdx, qword [rbp - 0x39]
cmp rdx, 0x10
jb 0x180023722
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002371d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ac0
call fcn.18002aef0
mov rax, r15
mov rbx, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, dword [rbp + 0x7f]
xor edx, edx
mov rcx, rdi
call fcn.18004b570
lea esi, [r13*2]
add rsi, 4
mov ecx, dword [rbp + 0x7f]
cmp rsi, rcx
ja 0x180023769
lea esi, [rcx + rcx]
add rsi, 4
mov rcx, qword [rbp - 0x41]
cmp rsi, rcx
ja 0x18002378a
lea rax, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae rax, qword [rbp - 0x51]
mov qword [rbp - 0x41], rsi
mov byte [rsi + rax], 0
jmp 0x1800237db
mov r14, rsi
sub r14, rcx
mov rdx, qword [rbp - 0x39]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x1800237c7
mov qword [rbp - 0x41], rsi
lea rbx, [rbp - 0x51]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x51]
add rbx, rcx
mov r8, r14
xor edx, edx
mov rcx, rbx
call fcn.18004b570
mov byte [rbx + r14], 0
jmp 0x1800237db
mov byte [rsp + 0x20], 0
mov r9, r14
mov rdx, r14
lea rcx, [rbp - 0x51]
call fcn.1800276e0
lea r14, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae r14, qword [rbp - 0x51]
test r14, r14
jne 0x180023831
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x180023688
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023683
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ac6
jmp 0x180023683
mov r8, rsi
xor edx, edx
mov rcx, r14
call fcn.18004b570
mov dword [rbp - 0x59], r12d
call fcn.1800280b0
mov rbx, rax
movdqa xmm0, xmmword [0x180084c20]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], 0
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.RtlCompressBuffer
lea rcx, [rbp - 0x11]
call fcn.180001520
nop
movdqa xmm0, xmmword [0x180084c20]
movdqu xmmword [rbp - 0x69], xmm0
mov byte [rbp - 0x79], 0
mov r8d, 9
lea rdx, [0x180083508]
lea rcx, [rbp - 0x79]
call fcn.180001520
nop
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.18000bd70
test rax, rax
je 0x1800238e1
mov ecx, 0x102
mov qword [rsp + 0x38], rdi
lea rdx, [rbp - 0x59]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 0x1000
mov dword [rsp + 0x20], esi
lea r9, [r14 + 4]
mov r8d, r13d
mov rdx, qword [rbp + 0x6f]
call rax
mov ebx, eax
xor edi, edi
jmp 0x1800238e5
xor edi, edi
mov ebx, edi
mov rdx, qword [rbp - 0x61]
cmp rdx, 0x10
jb 0x180023920
inc rdx
mov rcx, qword [rbp - 0x79]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002391b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023af0
call fcn.18002aef0
movdqa xmm0, xmmword [0x180084c20]
movdqu xmmword [rbp - 0x69], xmm0
mov byte [rbp - 0x79], 0
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x18002396c
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023967
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023af6
call fcn.18002aef0
test ebx, ebx
js 0x180023a81
mov ebx, dword [rbp - 0x59]
add rbx, 4
mov dword [r14], r13d
mov qword [rbp - 0x69], rdi
mov qword [rbp - 0x61], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x79], 0
lea rcx, [rbp - 0x79]
cmp rbx, 0xf
ja 0x1800239ad
mov qword [rbp - 0x69], rbx
mov r8, rbx
xor edx, edx
call fcn.18004b570
mov byte [rbp + rbx - 0x79], 0
jmp 0x1800239bd
mov byte [rsp + 0x20], 0
mov r9, rbx
mov rdx, rbx
call fcn.1800276e0
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae rdx, qword [rbp - 0x51]
lea rcx, [rbp - 0x79]
cmp qword [rbp - 0x61], 0x10
cmovae rcx, qword [rbp - 0x79]
mov r8, rbx
call fcn.18004b110
mov byte [r15], 1
movups xmm0, xmmword [rbp - 0x79]
movups xmmword [r15 + 8], xmm0
movups xmm1, xmmword [rbp - 0x69]
movups xmmword [r15 + 0x18], xmm1
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x180023a32
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023a2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023afc
call fcn.18002aef0
mov qword [rbp - 0x21], rdi
mov qword [rbp - 0x19], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x31], 0
mov rdx, qword [rbp - 0x39]
cmp rdx, 0x10
jb 0x180023722
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002371d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023acc
jmp 0x18002371d
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x180023688
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023683
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ad2
jmp 0x180023683
call fcn.18004df84
nop
call fcn.18004df84
nop
call fcn.18004df84
nop
call fcn.18004df84
nop
call fcn.18004df84
nop
call fcn.18004df84
int3
call fcn.18004df84
int3
call fcn.18004df84
nop
call fcn.18004df84
nop
call fcn.18004df84
nop
call fcn.18004df84
int3