Function at 0x100067f0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [ebp + 0x1c]
push ebx
lea ecx, [eax + 0x13b6]
push esi
push edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], ecx
cmp eax, ecx
ja 0x100068be
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
cmp eax, 0x6d09
ja 0x10006cd2
je 0x10006f59
cmp eax, 0x3103
ja 0x100069e9
je 0x100069a3
cmp eax, 0x13af
ja 0x1000698b
je 0x1000691e
sub eax, 0x133b
je 0x1000689a
sub eax, 0x3a
jne 0x10006cb2
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push eax
call fcn.1001f2d0
add esp, 4
test eax, eax
je 0x10006cb2
mov eax, 0x2c01
cmp eax, eax
je 0x10006f60
add eax, 0x1f
cmp eax, 0x2c01
jbe 0x10006885
jmp 0x10006cb2
mov ebx, dword [ebp + 8]
xor edx, edx
cmp ebx, edx
jne 0x100068d8
mov ecx, 0x2a8f
jmp 0x100068b0
mov eax, ecx
sub eax, 0x2a8f
je 0x100068c9
sub eax, 0x38
jne 0x100068cd
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x14], edx
add ecx, 0x38
cmp ecx, 0x2ac7
jbe 0x100068b0
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1048]
cdq
push edx
push eax
push 0
push ecx
call fcn.1002f2b0
mov ecx, eax
mov eax, dword [ebx + 0x104c]
mov dword [esp + 0x28], edx
cdq
add ecx, eax
mov eax, dword [esp + 0x28]
adc eax, edx
mov edx, ebx
mov edx, dword [edx + 0x1044]
xor ebx, ebx
add ecx, edx
adc eax, ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp 0x10006cb2
mov ebx, 0x6946
mov eax, ebx
sub eax, 0x6946
je 0x10006933
sub eax, 0x2d
je 0x100068be
jmp 0x10006956
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x14]
movzx eax, word [edx]
mov edx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp + 0x10]
push eax
mov eax, dword [edx]
push ecx
push eax
call fcn.10028d40
add esp, 0x10
mov dword [esp + 0x14], eax
add ebx, 0x2d
cmp ebx, 0x6973
jbe 0x10006923
mov edx, dword [esp + 0x2c]
mov ecx, 0x659c
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x659c
je 0x10006c77
sub eax, 0x30
je 0x100068be
jmp 0x10006c7b
cmp eax, 0x30c9
jne 0x10006cb2
mov dword [esp + 0x2c], 0
jmp 0x10006cb2
cmp dword [ebp + 8], 0
je 0x10006cb2
mov ebx, 0x48ad
cmp ebx, ebx
jne 0x100069d9
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx]
push edi
push 1
call fcn.1002b046
mov edx, dword [ebp + 8]
push edi
push edx
push eax
mov dword [esp + 0x40], eax
call fcn.10035210
mov edi, dword [esp + 0x2c]
add esp, 0x14
add ebx, 0x27
cmp ebx, 0x48ad
jbe 0x100069b4
jmp 0x10006cb2
cmp eax, 0x313d
je 0x10006961
mov eax, dword [esp + 0x20]
cmp eax, 0x41b0
je 0x10006a0f
cmp eax, 0x6ccf
je 0x10006f47
jmp 0x10006cb2
cmp dword [ebp + 8], 0
jne 0x10006a44
mov ecx, 0x5160
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x5160
je 0x10006a34
sub eax, 0x1f
je 0x100068be
jmp 0x10006a39
mov byte [esp + 0x14], 0xff
add ecx, 0x1f
cmp ecx, 0x517f
jbe 0x10006a20
mov dword [esp + 0x28], 0x7154
mov eax, dword [esp + 0x28]
mov dl, byte [esp + 0x12]
cmp eax, 0x71ed
ja 0x10006b5c
je 0x10006ae8
sub eax, 0x7154
je 0x10006ad3
sub eax, 0x33
je 0x10006abc
sub eax, 0x33
jne 0x10006c2c
cmp byte [esp + 0x1c], 0xff
mov byte [esp + 0x13], dl
je 0x10006a8e
cmp dl, 0xff
jne 0x10006c2c
mov ecx, 0x29b4
mov eax, ecx
sub eax, 0x29b4
je 0x10006aa7
sub eax, 0xf
je 0x100068be
jmp 0x10006aac
mov byte [esp + 0x14], 0xff
add ecx, 0xf
cmp ecx, 0x29c3
jbe 0x10006a93
jmp 0x10006c2c
mov eax, dword [ebp + 8]
push eax
call fcn.10020990
add esp, 4
inc al
mov byte [esp + 0x12], al
jmp 0x10006c2c
mov ecx, dword [ebp + 8]
push ecx
call fcn.100067d0
add esp, 4
mov byte [esp + 0x1c], al
jmp 0x10006c2c
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
push edx
call fcn.1001dd90
mov ebx, dword [ebp + 0x10]
add esp, 4
cmp dword [ebx], eax
jge 0x10006b16
mov eax, 0xbc1
cmp eax, eax
je 0x10006f69
add eax, 0x1f
cmp eax, 0xbc1
jbe 0x10006b06
mov ecx, dword [ebp + 8]
push 0xaa
call fcn.1001dd90
add esp, 4
cmp dword [ebx], eax
jle 0x10006c2c
mov ecx, 0x2a5e
mov eax, ecx
sub eax, 0x2a5e
je 0x10006b47
sub eax, 0x27
je 0x100068be
jmp 0x10006b4c
mov byte [esp + 0x14], 0xff
add ecx, 0x27
cmp ecx, 0x2a85
jbe 0x10006b33
jmp 0x10006c2c
sub eax, 0x7220
je 0x10006bca
sub eax, 0x33
jne 0x10006c2c
cmp dl, byte [esp + 0x13]
jne 0x10006ba0
mov ecx, 0x4a7d
mov eax, ecx
sub eax, 0x4a7d
je 0x10006b8b
sub eax, 0x18
je 0x100068be
jmp 0x10006b90
mov byte [esp + 0x14], 0xaa
add ecx, 0x18
cmp ecx, 0x4a95
jbe 0x10006b77
jmp 0x10006c2c
mov ecx, 0x3a8f
mov eax, ecx
sub eax, 0x3a8f
je 0x10006bb9
sub eax, 0x13
je 0x100068be
jmp 0x10006bbd
mov byte [esp + 0x14], dl
add ecx, 0x13
cmp ecx, 0x3aa2
jbe 0x10006ba5
jmp 0x10006c2c
mov dl, byte [esp + 0x1c]
mov cl, byte [esp + 0x12]
mov ebx, 0x45d5
mov eax, ebx
sub eax, 0x45d5
je 0x10006c44
sub eax, 0x4b
jne 0x10006c0e
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov edi, dword [esp + 0x30]
cmp eax, edi
jg 0x10006c00
mov cl, byte [esp + 0x24]
dec cl
mov byte [esp + 0x12], cl
cmp eax, edi
jl 0x10006c0a
mov dl, byte [esp + 0x24]
inc dl
mov byte [esp + 0x1c], dl
mov edi, dword [esp + 0x18]
add ebx, 0x4b
cmp ebx, 0x4620
jbe 0x10006bd7
cmp dl, cl
jbe 0x10006bd2
movzx eax, cl
movzx ecx, dl
inc eax
cmp ecx, eax
jle 0x10006c2c
inc byte [esp + 0x12]
mov eax, dword [esp + 0x28]
add eax, 0x33
mov dword [esp + 0x28], eax
cmp eax, 0x7253
jbe 0x10006a50
jmp 0x10006cb2
movzx ecx, byte [esp + 0x1c]
movzx eax, byte [esp + 0x12]
add eax, ecx
mov ecx, dword [ebp + 8]
cdq
sub eax, edx
sar eax, 1
mov byte [esp + 0x24], al
mov edx, dword [esp + 0x24]
push edx
call fcn.1001dd90
mov dl, byte [esp + 0x20]
mov cl, byte [esp + 0x16]
add esp, 4
mov dword [esp + 0x30], eax
jmp 0x10006c0e
mov dword [esp + 0x14], edx
add ecx, 0x30
cmp ecx, 0x65cc
jbe 0x10006970
mov ecx, dword [ebp + 0x18]
cmp dword [ecx], 0
je 0x10006cb2
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax]
xor edx, esi
and edx, 0xff
shr esi, 8
xor esi, dword [edx*4 + 0x1003f800]
inc eax
dec dword [ecx]
jne 0x10006c95
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x20]
add eax, 0x3a
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x34]
jbe 0x1000681d
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x6df1
ja 0x10006f1b
je 0x10006f13
sub eax, 0x6d43
je 0x10006eb0
sub eax, 0x3a
je 0x10006ea4
sub eax, 0x3a
jne 0x10006cb2
mov edx, dword [ebp + 0x18]
cmp dword [edx], 0x20
jb 0x10006e1e
xor eax, eax
lea ecx, [eax + 0xb]
lea ecx, [ecx]
cmp eax, 0x5a
ja case.0x10006d20.1
movzx ebx, byte [eax + 0x10006fa0]
jmp dword [ebx*4 + 0x10006f84]
xor esi, dword [edi]
jmp 0x10006e01
add dword [edx], 0xffffffe0
jmp case.0x10006d20.1
mov edx, esi
shr edx, 0x10
mov ebx, esi
and edx, 0xff
mov edx, dword [edx*4 + 0x1003fc00]
shr ebx, 8
and ebx, 0xff
xor edx, dword [ebx*4 + 0x10040000]
mov ebx, esi
shr ebx, 0x18
xor edx, dword [ebx*4 + 0x1003f800]
and esi, 0xff
xor edx, dword [esi*4 + 0x10040400]
mov esi, edx
jmp case.0x10006d20.1
xor esi, dword [edi]
add edi, 4
mov edx, esi
shr edx, 0x10
mov ebx, esi
and edx, 0xff
mov edx, dword [edx*4 + 0x1003fc00]
shr ebx, 8
and ebx, 0xff
xor edx, dword [ebx*4 + 0x10040000]
mov ebx, esi
shr ebx, 0x18
xor edx, dword [ebx*4 + 0x1003f800]
and esi, 0xff
xor edx, dword [esi*4 + 0x10040400]
mov esi, edx
jmp case.0x10006d20.1
mov edx, esi
shr edx, 0x10
mov ebx, esi
and edx, 0xff
mov edx, dword [edx*4 + 0x1003fc00]
shr ebx, 8
and ebx, 0xff
xor edx, dword [ebx*4 + 0x10040000]
mov ebx, esi
shr ebx, 0x18
xor edx, dword [ebx*4 + 0x1003f800]
and esi, 0xff
xor edx, dword [esi*4 + 0x10040400]
xor edx, dword [edi]
mov esi, edx
add edi, 4
mov edx, dword [ebp + 0x18]
add eax, 9
dec ecx
jne 0x10006d10
cmp dword [edx], 0x20
jae 0x10006d08
mov dword [esp + 0x18], edi
cmp dword [edx], 4
jb 0x10006cb2
mov edx, dword [ebp + 0x18]
lea ebx, [ebx]
mov ecx, 0x2bfd
mov eax, ecx
sub eax, 0x2bfd
je 0x10006e86
sub eax, 0x26
jne 0x10006e8b
mov eax, esi
shr eax, 0x10
and eax, 0xff
mov eax, dword [eax*4 + 0x1003fc00]
mov ebx, esi
shr ebx, 8
and ebx, 0xff
xor eax, dword [ebx*4 + 0x10040000]
mov ebx, esi
shr ebx, 0x18
xor eax, dword [ebx*4 + 0x1003f800]
and esi, 0xff
xor eax, dword [esi*4 + 0x10040400]
add dword [edx], 0xfffffffc
mov esi, eax
jmp 0x10006e8b
xor esi, dword [edi]
add edi, 4
add ecx, 0x26
cmp ecx, 0x2c23
jbe 0x10006e35
cmp dword [edx], 4
jae 0x10006e30
mov dword [esp + 0x18], edi
jmp 0x10006cb2
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x18], edi
jmp 0x10006cb2
mov ecx, dword [ebp + 0x18]
cmp dword [ecx], 0
je 0x10006cb2
mov edx, dword [ebp + 0x10]
nop
test dl, 3
je 0x10006cb2
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x18]
mov ecx, 0x3384
mov eax, ecx
sub eax, 0x3384
je 0x10006ee6
sub eax, 0x2e
jne 0x10006efb
dec dword [ebx]
jmp 0x10006efb
movzx eax, byte [edx]
xor eax, esi
and eax, 0xff
shr esi, 8
xor esi, dword [eax*4 + 0x1003f800]
inc edx
add ecx, 0x2e
cmp ecx, 0x33b2
jbe 0x10006ed4
cmp dword [ebx], 0
mov dword [ebp + 0x10], edx
jne 0x10006ec0
jmp 0x10006cb2
mov dword [ebp + 0x10], edi
jmp 0x10006cb2
sub eax, 0x6e2b
je 0x10006c8a
sub eax, 0x3a
je 0x10006f59
sub eax, 0x3a
jne 0x10006cb2
mov eax, 0x37bd
cmp eax, eax
je 0x10006f79
add eax, 0x17
cmp eax, 0x37bd
jbe 0x10006f3b
mov edi, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
mov dword [esp + 0x18], edi
jmp 0x10006cb2
not esi
jmp 0x10006cb2
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x14], 0
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret