Function at 0x48bef0
Capabilities:
Check for time delay via gettickcount
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x9b9f58]
sub esp, 0x10
inc dword [0x9ba078]
or eax, dword [0x9b9f5c]
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x48bf24
call eax
mov dword [0x9b9f50], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x9b9f54], 0
push ebx
push edi
mov edi, dword [ebp + 8]
test edi, edi
jne 0x48bf56
cmp dword [0x9ba054], edi
jne 0x48bf56
xorps xmm0, xmm0
movlpd qword [0x9b9f60], xmm0
call eax
push edi
mov dword [0x9b9f88], eax
mov dword [0x9b9f8c], edi
call fcn.0048af70
add esp, 4
mov ebx, dword [ebp + 0x10]
mov eax, ebx
mov ecx, dword [0x9ba06c]
cdq
add dword [0x9b9f58], eax
mov eax, dword [0x9ba058]
adc dword [0x9b9f5c], edx
cmp ecx, 1
jne 0x48bf7d
add eax, 7
jmp 0x48bf80
imul eax, ecx
cdq
and edx, 7
push esi
mov esi, dword [ebp + 0xc]
add esi, 2
lea ecx, [edx + eax]
mov eax, dword [0x52c98c]
sar ecx, 3
add esi, ecx
mov dword [ebp - 4], esi
test eax, eax
jns 0x48c0e8
mov eax, dword [0x40003c]
xor edx, edx
lea ecx, [eax + 0x400000]
movzx eax, word [ecx + 0x14]
add eax, 0x18
add eax, ecx
movzx ecx, word [ecx + 6]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x48bfe6
add eax, 3
cmp byte [eax - 1], 0x65
jne 0x48bfde
cmp byte [eax], 0x78
jne 0x48bfde
cmp byte [eax - 3], 0x2e
jne 0x48bfde
cmp byte [eax - 2], 0x74
je 0x48bfe6
inc edx
add eax, 0x28
cmp edx, ecx
jl 0x48bfc7
mov ebx, dword [ebp - 0x10]
lea eax, [edx + edx*4]
mov edx, dword [ebp - 0x10]
or ecx, 0xffffffff
mov edx, dword [edx + eax*8 + 0xc]
mov eax, dword [ebx + eax*8 + 0x10]
add edx, 0x400000
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x48c0a8
mov edi, eax
movzx eax, byte [edx]
lea edx, [edx + 1]
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
sub edi, 1
jne 0x48c010
mov edi, dword [ebp + 8]
not ecx
cmp ecx, dword [0x52c990]
je 0x48c0c3
cmp ecx, dword [0x52c994]
je 0x48c0c3
mov dword [ebp - 0x10], 1
jmp 0x48c0c8
xor eax, eax
mov dword [ebp - 0x10], eax
mov ecx, dword [0x9b9fb0]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x48c150
mov eax, dword [ebp - 0x10]
test eax, eax
mov dword [0x52c98c], eax
jle 0x48c185
mov eax, dword [0x9ba06c]
shl eax, 5
mov dword [ebp - 0x10], eax
cdq
sub eax, edx
mov ecx, eax
mov eax, ebx
sar ecx, 1
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
shl eax, 2
cdq
idiv dword [0x9ba06c]
mov ecx, eax
mov eax, dword [0x9ba054]
cdq
idiv ecx
test al, 1
je 0x48c15c
cmp dword [ebp - 8], 0
jle 0x48c185
mov eax, dword [ebp - 0xc]
add esi, eax
mov ebx, dword [ebp - 8]
xor edi, edi
push eax
lea eax, [esi + edi]
push 0
push eax
call fcn.004b90a0
add edi, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [ebp - 0xc]
cmp edi, ebx
jl 0x48c135
jmp 0x48c17f
mov dword [0x52c98c], 0
jmp 0x48c185
cmp dword [ebp - 8], 0
jle 0x48c185
mov edi, dword [ebp - 8]
xor ebx, ebx
push dword [ebp - 0xc]
lea eax, [ebx + esi]
push 0
push eax
call fcn.004b90a0
add ebx, dword [ebp - 0x10]
add esp, 0xc
cmp ebx, edi
jl 0x48c167
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov ecx, dword [0x9ba034]
test ecx, ecx
jle 0x48c56e
mov esi, dword [0x9ba054]
sub esi, dword [0x9ba048]
js 0x48c56e
cmp esi, ecx
jge 0x48c1f5
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
push esi
push dword [0x9ba038]
push ecx
push 0
push dword [0x9ba03c]
push dword [ebp - 4]
call fcn.00491200
mov ecx, dword [0x9ba034]
add esp, 0x18
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
push esi
push dword [0x9ba038]
push ecx
push 0
jmp 0x48c34b
mov eax, dword [0x9ba068]
lea edx, [ecx + ecx]
add eax, edx
cmp esi, eax
jge 0x48c24a
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
push esi
push dword [0x9ba038]
push ecx
push dword [0x9ba05c]
push dword [0x9ba03c]
push dword [ebp - 4]
call fcn.00491200
mov ecx, dword [0x9ba034]
add esp, 0x18
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
push esi
jmp 0x48c33e
mov eax, dword [0x9ba044]
add eax, ecx
cmp esi, eax
jle 0x48c2bf
mov eax, dword [0x9ba044]
add eax, edx
cmp esi, eax
jge 0x48c2bf
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
sub edx, esi
add edx, dword [0x9ba044]
push edx
push dword [0x9ba038]
push ecx
push 0
push dword [0x9ba03c]
push dword [ebp - 4]
call fcn.00491200
mov ecx, dword [0x9ba034]
add esp, 0x18
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
lea eax, [ecx + ecx]
sub eax, esi
add eax, dword [0x9ba044]
push eax
push dword [0x9ba038]
push ecx
push 0
jmp 0x48c34b
mov eax, dword [0x9ba044]
sub eax, dword [0x9ba060]
cmp esi, eax
jle 0x48c2d9
mov eax, dword [0x9ba044]
add eax, edx
cmp esi, eax
jl 0x48c2f1
cmp dword [0x52c988], 0
je 0x48c36e
mov eax, dword [0x9ba044]
add eax, edx
cmp esi, eax
jge 0x48c36e
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
sub edx, esi
add edx, dword [0x9ba044]
push edx
push dword [0x9ba038]
push ecx
push dword [0x9ba05c]
push dword [0x9ba03c]
push dword [ebp - 4]
call fcn.00491200
mov ecx, dword [0x9ba034]
add esp, 0x18
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c36e
lea eax, [ecx + ecx]
sub eax, esi
add eax, dword [0x9ba044]
push eax
push dword [0x9ba038]
push ecx
push dword [0x9ba064]
mov eax, dword [0x9ba03c]
sub eax, dword [0x9ba04c]
sub eax, dword [0x9ba058]
push eax
push dword [ebp - 4]
call fcn.00491320
mov ecx, dword [0x9ba034]
add esp, 0x18
cmp esi, ecx
je 0x48c381
mov eax, dword [0x9ba044]
add eax, ecx
cmp esi, eax
jne 0x48c419
cmp dword [0x52c988], 0
mov eax, dword [edi*4 + 0x52ae68]
je 0x48c3b9
test eax, eax
je 0x48c419
mov ecx, dword [0x9ba03c]
mov eax, ecx
sub eax, dword [0x9ba04c]
sub eax, dword [0x9ba058]
push eax
push ecx
push dword [ebp - 4]
call fcn.004911a0
jmp 0x48c410
test eax, eax
je 0x48c3e0
mov eax, dword [0x9ba05c]
add eax, dword [0x9ba038]
push eax
push dword [0x9ba03c]
push dword [ebp - 4]
call fcn.004911a0
mov ecx, dword [0x9ba034]
add esp, 0xc
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c419
mov eax, dword [0x9ba064]
add eax, dword [0x9ba038]
push eax
mov eax, dword [0x9ba03c]
sub eax, dword [0x9ba04c]
sub eax, dword [0x9ba058]
push eax
push dword [ebp - 4]
call fcn.004912b0
mov ecx, dword [0x9ba034]
add esp, 0xc
mov eax, dword [0x9ba068]
test eax, eax
je 0x48c4c8
add eax, ecx
cmp esi, eax
jne 0x48c4c8
cmp dword [0x52c988], 0
mov eax, dword [edi*4 + 0x52ae68]
je 0x48c468
test eax, eax
je 0x48c4c8
mov ecx, dword [0x9ba03c]
mov eax, ecx
sub eax, dword [0x9ba04c]
sub eax, dword [0x9ba058]
push eax
push ecx
push dword [ebp - 4]
call fcn.004913f0
jmp 0x48c4bf
test eax, eax
je 0x48c48f
mov eax, dword [0x9ba05c]
add eax, dword [0x9ba038]
push eax
push dword [0x9ba03c]
push dword [ebp - 4]
call fcn.004913f0
mov ecx, dword [0x9ba034]
add esp, 0xc
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c4c8
mov eax, dword [0x9ba064]
add eax, dword [0x9ba038]
push eax
mov eax, dword [0x9ba03c]
sub eax, dword [0x9ba04c]
sub eax, dword [0x9ba058]
push eax
push dword [ebp - 4]
call fcn.00491460
mov ecx, dword [0x9ba034]
add esp, 0xc
mov edx, dword [0x9ba060]
test edx, edx
je 0x48c56e
mov eax, dword [0x9ba044]
sub eax, edx
add eax, ecx
cmp esi, eax
jne 0x48c56e
cmp dword [0x52c988], 0
mov eax, dword [edi*4 + 0x52ae68]
je 0x48c51b
test eax, eax
je 0x48c56e
mov ecx, dword [0x9ba03c]
mov eax, ecx
sub eax, dword [0x9ba04c]
sub eax, dword [0x9ba058]
push eax
push ecx
push dword [ebp - 4]
call fcn.004913f0
jmp 0x48c56b
mov esi, dword [ebp - 4]
test eax, eax
je 0x48c53d
mov eax, dword [0x9ba05c]
add eax, dword [0x9ba038]
push eax
push dword [0x9ba03c]
push esi
call fcn.004913f0
add esp, 0xc
cmp dword [edi*4 + 0x52ae68], 0
je 0x48c56e
mov eax, dword [0x9ba064]
add eax, dword [0x9ba038]
push eax
mov eax, dword [0x9ba03c]
sub eax, dword [0x9ba04c]
sub eax, dword [0x9ba058]
push eax
push esi
call fcn.00491460
add esp, 0xc
mov esi, dword [ebp + 0xc]
xor eax, eax
add esi, 2
cmp dword [edi*4 + 0x52ae68], eax
push esi
setne al
push eax
push dword [0x9ba054]
push edi
call fcn.004201b0
add esp, 0x10
cmp byte [0x9b9f4d], 0
jne 0x48c5a4
mov eax, dword [0x9ba050]
dec eax
cmp edi, eax
jne 0x48c5aa
inc dword [0x9ba054]
mov eax, dword [0x9ba06c]
cmp eax, 1
jne 0x48c5c3
push ebx
push esi
call fcn.0048afa0
mov eax, dword [0x9ba06c]
add esp, 8
cmp eax, 0x10
jne 0x48c706
cmp dword [0x52c984], eax
jge 0x48c706
mov eax, dword [0x9ba07c]
cmp ebx, dword [0x9ba080]
jle 0x48c610
test eax, eax
je 0x48c5f2
push eax
call fcn.00417300
add esp, 4
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, 2
push eax
call fcn.00417230
add esp, 4
mov dword [0x9ba07c], eax
mov dword [0x9ba080], ebx
mov dword [ebp + 0xc], eax
lea ecx, [eax + 2]
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [ebp + 0xc]
mov ebx, eax
xor eax, eax
sar ebx, 1
mov word [edx], bx
test ebx, ebx
jle 0x48c709
cmp ebx, 0x20
jb 0x48c6e4
lea eax, [esi - 2]
lea eax, [eax + ebx*2]
cmp ecx, eax
ja 0x48c64f
lea eax, [ecx - 1]
add eax, ebx
cmp eax, esi
jae 0x48c6e2
mov eax, ebx
and eax, 0x8000001f
jns 0x48c65d
dec eax
or eax, 0xffffffe0
inc eax
mov dword [ebp + 0xc], ebx
sub dword [ebp + 0xc], eax
mov eax, 8
movd xmm1, eax
xor eax, eax
nop
movups xmm0, xmmword [esi]
add eax, 0x20
psrlw xmm0, xmm1
andps xmm0, xmmword [0x500590]
packuswb xmm0, xmm0
movq qword [ecx], xmm0
movups xmm0, xmmword [esi + 0x10]
psrlw xmm0, xmm1
andps xmm0, xmmword [0x500590]
packuswb xmm0, xmm0
movq qword [ecx + 8], xmm0
movups xmm0, xmmword [esi + 0x20]
psrlw xmm0, xmm1
andps xmm0, xmmword [0x500590]
packuswb xmm0, xmm0
movq qword [ecx + 0x10], xmm0
movups xmm0, xmmword [esi + 0x30]
add esi, 0x40
psrlw xmm0, xmm1
andps xmm0, xmmword [0x500590]
packuswb xmm0, xmm0
movq qword [ecx + 0x18], xmm0
add ecx, 0x20
cmp eax, dword [ebp + 0xc]
jl 0x48c670
cmp eax, ebx
jge 0x48c709
jmp 0x48c6e4
xor eax, eax
mov edi, ebx
sub edi, eax
nop dword [eax + eax]
mov al, byte [esi + 1]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
lea esi, [esi + 2]
sub edi, 1
jne 0x48c6f0
mov edi, dword [ebp + 8]
jmp 0x48c709
mov edx, dword [ebp + 0xc]
mov eax, dword [0x52c980]
pop esi
cmp eax, 0x3e8
jg case.0x48c730.2
je 0x48c7ef
cmp eax, 0x1b
ja case.0x48c730.2
movzx eax, byte [eax + 0x48c984]
jmp dword [eax*4 + 0x48c950]
cmp dword [0x52c998], 0
je 0x48c76a
movsx eax, word [edx]
push eax
mov eax, dword [0x9ba03c]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push ebx
push dword [0x9ba034]
push str.BITBUCKET:_n_nmarkLength___d_nwidthInBytes___d_n_Width7__8___d_nbuf_size_in_bytes___d
call fcn.004153c0
add esp, 0x14
mov dword [0x52c998], 0
jmp case.0x48c730.2
push ebx
push edx
call fcn.004928c0
jmp 0x48c80e
push ebx
push edx
push edi
call fcn.00492c50
add esp, 0xc
jmp case.0x48c730.2
push ebx
push edx
push edi
call fcn.004951f0
add esp, 0xc
jmp case.0x48c730.2
push ebx
push edx
push edi
call fcn.004931c0
add esp, 0xc
jmp case.0x48c730.2
push edx
push edi
call fcn.004933e0
jmp 0x48c80e
push edx
push edi
call fcn.00494220
jmp 0x48c80e
push ebx
push edx
call fcn.00491100
jmp 0x48c80e
push ebx
push edx
call fcn.00494620
jmp 0x48c80e
push ebx
push edx
call fcn.00494860
jmp 0x48c80e
push ebx
push edx
call fcn.00494b70
jmp 0x48c80e
push ebx
push edx
push edi
call fcn.00495060
add esp, 0xc
jmp case.0x48c730.2
mov ecx, dword [0x9ba028]
test ecx, ecx
je 0x48c806
lea eax, [edx + 2]
push eax
push ebx
push edi
call ecx
add esp, 0xc
jmp case.0x48c730.2
push edx
push edi
call dword [0x9ba024]
add esp, 8
add dword [0x9b9f34], ebx
test edi, edi
pop edi
pop ebx
jne 0x48c94c
mov ecx, dword [0x9ba040]
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp dword [0x9ba054], eax
jne 0x48c874
mov eax, dword [0x9b9f58]
mov ecx, dword [0x9b9f5c]
mov dword [0x9b9f68], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x9b9f6c], ecx
call eax
push 1
mov dword [0x9b9f90], eax
mov dword [0x9b9f94], 0
call fcn.0048af70
add esp, 4
mov esp, ebp
pop ebp
ret
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp dword [0x9ba054], eax
jne 0x48c8bd
mov eax, dword [0x9b9f58]
mov ecx, dword [0x9b9f5c]
mov dword [0x9b9f70], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x9b9f74], ecx
call eax
push 2
mov dword [0x9b9f98], eax
mov dword [0x9b9f9c], 0
call fcn.0048af70
add esp, 4
mov esp, ebp
pop ebp
ret
lea eax, [ecx + ecx*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp dword [0x9ba054], eax
jne 0x48c90b
mov eax, dword [0x9b9f58]
mov ecx, dword [0x9b9f5c]
mov dword [0x9b9f78], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x9b9f7c], ecx
call eax
push 3
mov dword [0x9b9fa0], eax
mov dword [0x9b9fa4], 0
call fcn.0048af70
add esp, 4
mov esp, ebp
pop ebp
ret
lea eax, [ecx - 1]
cmp dword [0x9ba054], eax
jne 0x48c94c
mov eax, dword [0x9b9f58]
mov ecx, dword [0x9b9f5c]
mov dword [0x9b9f80], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x9b9f84], ecx
call eax
push 4
mov dword [0x9b9fa8], eax
mov dword [0x9b9fac], 0
call fcn.0048af70
add esp, 4
mov esp, ebp
pop ebp
ret