Function at 0x4f20e8
Capabilities:
Compress data via winapi
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
push 0x80000301
push 0
push 0x100
push 0x80000301
push 0
push 2
push 2
mov ebx, 0xc8
call fcn.00578360
add esp, 0x1c
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], esp
mov eax, 0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.ntdll.dll_RtlGetCompressionWorkSpaceSize]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x4f21a0
push 0x5b
push 0x4397739
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4f251e
push VariantClear
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x4f21c2
mov eax, 0x834e87
push eax
push 1
mov ebx, 0x194
call fcn.00578ea0
add esp, 0x10
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fadd qword [0x841047]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
call fcn.00459f50
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4f251e
push 0x80000301
push 0
push dword [ebp - 0x10]
push 1
mov ebx, 0x1bc
call fcn.00578e70
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4f2232
push ebx
call fcn.005769c9
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x1bc
call fcn.00578e70
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4f2269
push ebx
call fcn.005769c9
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], esp
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4f227a
add eax, 8
push eax
lea eax, [ebp - 0x20]
push eax
push 0x1000
push dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4f2291
add eax, 8
push eax
push dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x4f22a1
add eax, 8
push eax
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.ntdll.dll_RtlCompressBuffer]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x4f22cb
push 0x1b8
push 0x4397739
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4f24e5
push 0x80000301
push 0
push dword [ebp - 0x20]
push VariantClear
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4f22f5
mov eax, 0x834e87
push eax
push 2
mov ebx, 0x1a0
call fcn.00577e50
add esp, 0x1c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4f231f
push ebx
call fcn.005769c9
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], esp
push dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x4f2335
add eax, 8
push eax
push 0
xor eax, eax
call dword [sym.imp.ntdll.dll_RtlComputeCrc32]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x4f2361
push 0x2c5
push 0x4397739
push 6
call fcn.005769b1
add esp, 0xc
mov dword [ebp - 0x24], eax
push 0x80000301
push 0
push 0x6c8f4
push 1
mov ebx, 0x9dc
call fcn.00578720
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x198
call fcn.005773e0
add esp, 0x10
mov dword [ebp - 0x30], eax
push 0x80000301
push 0
push dword [ebp - 0xc]
push 1
mov ebx, 0x198
call fcn.005773e0
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0x80000301
push 0
push dword [ebp - 0x24]
push 1
mov ebx, 0x198
call fcn.005773e0
add esp, 0x10
mov dword [ebp - 0x38], eax
push dword [ebp - 0x14]
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
mov ecx, 4
call fcn.004b92c0
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x4f2409
push ebx
call fcn.005769c9
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x4f2419
push ebx
call fcn.005769c9
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4f2429
push ebx
call fcn.005769c9
add esp, 4
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x4f243d
push ebx
call fcn.005769c9
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x4f2454
mov eax, 0x834e87
push eax
push 1
mov ebx, 0x194
call fcn.00578ea0
add esp, 0x10
mov dword [ebp - 0x2c], eax
push VariantClear
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x4f247f
mov eax, 0x834e87
push eax
push 1
mov ebx, 0x194
call fcn.00578ea0
add esp, 0x10
cmp dword [ebp - 0x2c], eax
jl 0x4f24c1
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x4f24b7
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.005769bd
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x4f253f
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4f24db
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.005769bd
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x4f253f
cmp dword [ebp - 0x1c], 0xc0000023
jne 0x4f2514
fild dword [ebp - 0x10]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fmul qword [0x8352ab]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
call fcn.00459f50
mov dword [ebp - 0x10], eax
jmp 0x4f2519
jmp 0x4f251e
jmp 0x4f21f5
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x4f253a
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.005769bd
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x4f253f
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4f2550
push ebx
call fcn.005769c9
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4f2560
push ebx
call fcn.005769c9
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x4f2570
push ebx
call fcn.005769c9
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 4