Function at 0x20008290
Capabilities:
Encode data using xor
Hash data using crc32b
Resolve function by parsing pe exports

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x24
test edx, edx
jne 0x200082a4
mov eax, 6
add esp, 0x24
ret
mov eax, dword [edx + 0x3c]
cmp dword [eax + edx + 0x7c], 0
lea eax, [eax + edx + 0x78]
jne 0x200082b8
xor eax, eax
add esp, 0x24
ret
mov ecx, dword [eax]
mov eax, dword [ecx + edx + 0x20]
add ecx, edx
push ebx
add eax, edx
push ebp
push esi
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x24]
add esi, edx
add eax, edx
xor ebp, ebp
cmp dword [ecx + 0x14], ebp
push edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
jbe 0x20008344
mov eax, dword [esi + ebp*4]
test eax, eax
je 0x2000833c
mov esi, dword [esp + 0x3c]
mov cx, word [ecx + 0x10]
mov edi, dword [esi + 8]
add cx, bp
add eax, edx
test edi, edi
mov word [esp + 0x2c], cx
mov dword [esp + 0x30], eax
jl 0x20008359
lea ebx, [edi + 1]
call fcn.20009320
mov eax, esi
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x18]
lea edx, [edi + edi*2]
lea eax, [ecx + edx*4]
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x14]
add ebp, 1
cmp ebp, dword [ecx + 0x14]
jb 0x200082e7
xor edi, edi
cmp dword [ecx + 0x18], edi
mov dword [esp + 0x10], edi
ja 0x2000836c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
jmp fcn.2000f362
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + edi*2]
movzx eax, ax
cmp eax, dword [ecx + 0x14]
jae 0x20008684
mov esi, dword [esi + eax*4]
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx + edi*4]
add esi, edx
add ebx, edx
mov eax, ebx
mov dword [esp + 0x24], esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x20008397
sub eax, edx
test byte [0x2005e4fc], 1
mov ebp, eax
jne 0x200085ca
or dword [0x2005e4fc], 1
xor edx, edx
lea ebx, [ebx]
mov eax, edx
xor ecx, ecx
mov edi, 0x80
lea esp, [esp]
test al, 1
je 0x200083d6
or ecx, edi
shr edi, 1
shr eax, 1
test edi, edi
jne 0x200083d0
shl ecx, 8
mov eax, ecx
and eax, 0x8000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x1021
xor ax, cx
mov ecx, eax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
and ecx, 0x1021
add eax, eax
xor cx, ax
mov eax, ecx
and eax, 0x8000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x1021
xor ax, cx
mov ecx, eax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
and ecx, 0x1021
add eax, eax
xor cx, ax
mov eax, ecx
and eax, 0x8000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x1021
xor ax, cx
mov ecx, eax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
and ecx, 0x1021
add eax, eax
xor cx, ax
mov eax, ecx
and eax, 0x8000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x1021
xor ax, cx
mov ecx, eax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
and ecx, 0x1021
add eax, eax
xor cx, ax
mov word [edx*2 + 0x2005e500], cx
movzx ecx, cx
mov eax, 0x8000
test cl, 1
je 0x200084a8
or edi, eax
shr eax, 1
shr ecx, 1
test eax, eax
jne 0x200084a1
mov word [edx*2 + 0x2005e500], di
add edx, 1
cmp edx, 0xff
jle 0x200083c0
xor edx, edx
lea esp, [esp]
mov eax, edx
xor ecx, ecx
mov edi, 0x80
lea esp, [esp]
test al, 1
je 0x200084e6
or ecx, edi
shr edi, 1
shr eax, 1
test edi, edi
jne 0x200084e0
shl ecx, 0x18
mov eax, ecx
and eax, 0x80000000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x4c11db7
xor eax, ecx
mov ecx, eax
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
add eax, eax
and ecx, 0x4c11db7
xor ecx, eax
mov eax, ecx
and eax, 0x80000000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x4c11db7
xor eax, ecx
mov ecx, eax
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
add eax, eax
and ecx, 0x4c11db7
xor ecx, eax
mov eax, ecx
and eax, 0x80000000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x4c11db7
xor eax, ecx
mov ecx, eax
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
add eax, eax
and ecx, 0x4c11db7
xor ecx, eax
mov eax, ecx
and eax, 0x80000000
neg eax
sbb eax, eax
add ecx, ecx
and eax, 0x4c11db7
xor eax, ecx
mov ecx, eax
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
add eax, eax
and ecx, 0x4c11db7
xor ecx, eax
mov dword [edx*4 + 0x2005e700], ecx
mov eax, SysReAllocStringLen
test cl, 1
je 0x200085ac
or edi, eax
shr eax, 1
shr ecx, 1
test eax, eax
jne 0x200085a5
mov dword [edx*4 + 0x2005e700], edi
add edx, 1
cmp edx, 0xff
jle 0x200084d0
or eax, 0xffffffff
xor ecx, ecx
test ebp, ebp
jbe 0x200085ed
movzx edx, byte [ecx + ebx]
movzx edi, al
xor edx, edi
shr eax, 8
xor eax, dword [edx*4 + 0x2005e700]
add ecx, 1
cmp ecx, ebp
jb 0x200085d3
not eax
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov edi, dword [eax + 8]
xor ecx, ecx
test edi, edi
jle 0x20008628
xor edx, edx
test edx, edx
jl 0x20008359
cmp ecx, edi
jge 0x20008359
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
add eax, edx
cmp dword [eax + 8], esi
je 0x20008680
add ecx, 1
add edx, 0xc
cmp ecx, edi
jl 0x20008600
test edi, edi
mov word [esp + 0x2c], 0
jl 0x20008359
mov esi, dword [esp + 0x3c]
lea ebx, [edi + 1]
call fcn.20009320
mov edx, esi
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x24]
lea ecx, [edi + edi*2]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add eax, 1
cmp eax, dword [ecx + 0x18]
mov dword [esp + 0x10], eax
jb 0x20008360
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov dword [eax], ebp
jmp 0x2000865e
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x24
ret