Function at 0x1800034c0
Capabilities:
Compress data via winapi

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push rbx
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x98
mov r12d, dword [rdx]
mov r13, rdx
mov qword [rbp - 0x29], 0
mov r14, rcx
mov qword [rbp - 0x21], 0xf
mov ebx, r12d
mov byte [rbp - 0x39], 0
test r12d, r12d
jne 0x18000350b
mov qword [rbp - 0x29], rbx
mov byte [rbp + r12 - 0x39], r12b
jmp 0x18000353e
lea rcx, [rbp - 0x39]
cmp rbx, 0xf
ja 0x18000352b
mov r8, rbx
mov qword [rbp - 0x29], rbx
xor edx, edx
call sub.msvcrt.dll_memset
mov byte [rbp + r12 - 0x39], 0
jmp 0x18000353e
mov r9, rbx
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rbx
call fcn.180004220
cmp qword [rbp - 0x21], 0x10
lea r15, [rbp - 0x39]
mov qword [rsp + 0x90], rdi
jb 0x18000355e
mov r15, qword [rbp - 0x39]
test r15, r15
je 0x1800038b1
mov r8, rbx
mov qword [rsp + 0xd0], rsi
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov eax, dword [0x180187040]
mov dword [rbp + 0x6f], r12d
test al, 1
jne 0x1800035a7
or eax, 1
lea rcx, [0x180187050]
mov edx, 2
mov dword [0x180187040], eax
call fcn.180005710
lea rcx, [0x18002f840]
call fcn.1800060c0
mov rbx, qword [0x180182e98]
test rbx, rbx
jne 0x18000369b
nop word [rax + rax]
lea rcx, [0x180187050]
call fcn.1800057b0
test eax, eax
je 0x1800035d7
mov ecx, eax
call fcn.1800052e0
cmp qword [0x180182e98], 0
jne 0x180003674
mov ecx, 0xa0
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__]
mov rsi, rax
test rax, rax
je 0x180003669
xor eax, eax
xor r8d, r8d
mov qword [rsi], rax
xor edx, edx
mov qword [rsi + 8], rax
mov dword [rsi + 0x10], eax
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rax
call fcn.180003d10
mov qword [rsi + 0x18], rax
lea rcx, [rsi + 0x10]
xor eax, eax
mov dword [rsi + 0x10], 0x3f800000
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rax
lea edx, [rax + 8]
call fcn.180002e40
lea rcx, [rsi + 0x50]
mov edx, 2
call fcn.180005710
lea rcx, [rsi + 0x18]
call fcn.180002d90
mov edx, 8
lea rcx, [rsi + 0x10]
call fcn.180002e40
mov qword [0x180182e98], rsi
jmp 0x180003674
mov qword [0x180182e98], 0
lea rcx, [0x180187050]
call fcn.1800057e0
test eax, eax
je 0x18000368b
mov ecx, eax
call fcn.1800052e0
mov rbx, qword [0x180182e98]
test rbx, rbx
je 0x1800035c0
mov edi, dword [rbp + 0x77]
lea rsi, [r13 + 4]
xor r13d, r13d
mov qword [rbp + 0x1f], 0xf
add rdi, 0xfffffffffffffffc
mov qword [rbp + 0x17], r13
mov byte [rbp + 7], r13b
lea ecx, [r13 + 0x20]
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__]
movups xmm0, xmmword [str.RtlDecompressBuffer]
mov qword [rbp + 0x17], 0x13
lea r8d, [r13 + 9]
mov qword [rbp + 0x1f], 0x1f
movups xmmword [rax], xmm0
movzx ecx, word [0x180034ff8]
mov word [rax + 0x10], cx
lea rcx, [rbp - 0x19]
movzx edx, byte [0x180034ffa]
mov byte [rax + 0x12], dl
lea rdx, [0x180035000]
mov byte [rax + 0x13], r13b
mov qword [rbp + 7], rax
mov qword [rbp - 1], 0xf
mov byte [rbp - 0x19], r13b
mov qword [rbp - 9], 9
call sub.msvcrt.dll_memmove
lea r8, [rbp + 7]
mov byte [rbp - 0x10], r13b
lea rdx, [rbp - 0x19]
mov rcx, rbx
call fcn.180003f20
test rax, rax
je 0x18000375c
lea rdx, [rbp + 0x6f]
mov ecx, 0x102
mov qword [rsp + 0x28], rdx
mov r9, rsi
mov rdx, r15
mov dword [rsp + 0x20], edi
mov r8d, r12d
call rax
mov ebx, eax
jmp 0x18000375f
mov ebx, r13d
mov rdx, qword [rbp - 1]
mov rsi, qword [rsp + 0xd0]
cmp rdx, 0x10
jb 0x1800037a2
mov rcx, qword [rbp - 0x19]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000379d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003922
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rdx, qword [rbp + 0x1f]
mov qword [rbp - 9], r13
mov qword [rbp - 1], 0xf
mov byte [rbp - 0x19], r13b
cmp rdx, 0x10
jb 0x1800037ed
mov rcx, qword [rbp + 7]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800037e8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003922
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
test ebx, ebx
js 0x1800038b1
mov ecx, dword [rbp + 0x6f]
mov rdx, qword [rbp - 0x29]
cmp rcx, rdx
ja 0x180003819
cmp qword [rbp - 0x21], 0x10
lea rax, [rbp - 0x39]
mov qword [rbp - 0x29], rcx
cmovae rax, qword [rbp - 0x39]
mov byte [rax + rcx], r13b
jmp 0x18000386c
mov r8, qword [rbp - 0x21]
mov rdi, rcx
mov rax, r8
sub rdi, rdx
sub rax, rdx
cmp rdi, rax
ja 0x180003855
cmp r8, 0x10
mov qword [rbp - 0x29], rcx
lea rbx, [rbp - 0x39]
mov r8, rdi
cmovae rbx, qword [rbp - 0x39]
add rbx, rdx
xor edx, edx
mov rcx, rbx
call sub.msvcrt.dll_memset
mov byte [rdi + rbx], r13b
jmp 0x18000386c
mov r9, rdi
mov byte [rsp + 0x20], r13b
xor r8d, r8d
lea rcx, [rbp - 0x39]
mov rdx, rdi
call fcn.180004220
lea rcx, [r14 + 8]
mov byte [r14], 1
lea rdx, [rbp - 0x39]
call fcn.180004920
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x1800038f9
mov rcx, qword [rbp - 0x39]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800038f4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000391c
jmp 0x1800038f4
lea rcx, [r14 + 8]
mov byte [r14], 0
lea rdx, [rbp - 0x39]
call fcn.180004920
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x1800038f9
mov rcx, qword [rbp - 0x39]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800038f4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003916
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rdi, qword [rsp + 0x90]
mov rax, r14
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
ret
call fcn.18002b620
int3
call fcn.18002b620
int3
call fcn.18002b620
int3