Function at 0x840088
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
call fcn.00423320
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x30]
cmp si, 0x46d5
cmc
test edx, edx
jmp 0x600094
je 0x662c68
mov edi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x40]
xadd si, si
cmp edi, 8
mov esi, 0x10b9248f
lea eax, [edx - 1]
xchg si, si
bswap si
cmovae ecx, dword [ebp - 0x40]
bt si, 0x2d
or esi, 0x766b500d
or ebx, 0xffffffff
stc
cmp eax, ebx
mov esi, ebx
jmp 0x6f308c
mov dword [ebp - 0x70], 0
jmp 0x8e2eb5
lea eax, [ebp - 0x40]
jmp 0x854181
mov word [ebp - 0x70], ax
jmp 0x974647
je 0x9e5973
cmp eax, ecx
jmp 0x9e595d
cmovb esi, eax
btr eax, esp
adc ax, si
cmp word [ecx + esi*2], 0x5c
bswap ax
jmp 0xa6ed92
push edi
jmp 0x9a70a8
je 0x662c68
lea ecx, [eax + 1]
test ecx, eax
cmp si, 0x12c0
mov dword [ebp - 0x58], 0
cmp ebp, 0x6e622877
sub eax, eax
test esp, edx
cmc
cmp bx, sp
mov dword [ebp - 0x48], 0
cmc
mov dword [ebp - 0x44], 7
stc
cmc
mov word [ebp - 0x58], ax
cmp edx, ecx
jb 0x80f8c8
sub edx, ecx
add ah, 0xb2
lea eax, [ebp - 0x40]
stc
clc
cmp edx, 0xffffffff
jmp 0x7ac01b
push ebx
push esi
mov bl, 1
jmp 0x9c3cda
mov dword [ebp - 0x60], 0
jmp 0xa59ea8
cmovb ebx, edx
test edi, ebp
cmp edi, 8
jmp 0xab9fe3
call fcn.00436c70
jmp 0x9dd450
je 0x662c68
lea eax, [eax - 2]
stc
cmp word [eax], 0x2f
jne 0xb8915f
sub eax, ecx
clc
cmp cx, bx
sar eax, 1
cmp eax, 0xffffffff
jmp 0x73850c
push ebp
mov ebp, esp
shr eax, 0xf1
rcr eax, cl
push 0xffffffffffffffff
btr eax, 0xad
push 0x492cb0
mov eax, dword fs:[0]
cmc
cmp ah, dl
push eax
mov dword fs:[0], esp
stc
test di, si
sub esp, 0x84
jmp 0x773430
push eax
mov cl, ch
lea ecx, [ebp - 0x58]
jmp 0x9205d8
push 0x4ab1ac
jmp 0x7ab22f
call fcn.00422b40
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x70]
cmovg ecx, edx
movzx ecx, ax
movsx ecx, si
push 0xffffffffffffffff
movzx cx, dl
bswap cx
push dword [ebp - 0x18]
cmovle cx, di
xchg ecx, ecx
setle ch
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
jmp 0x4509be
call fcn.00423320
mov edx, dword [ebp + 0x18]
xadd esi, esi
rcr ch, 0x45
xor eax, eax
mov ecx, edx
shr si, 0x71
bts esi, edi
sub si, ax
mov dword [ebp - 4], 0
movsx esi, di
cmp edi, 0x591314b0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
clc
xor si, si
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
xor ah, 0xf0
sal ah, 0xd7
lea esi, [ecx + 2]
sal al, cl
mov ax, word [ecx]
lea ecx, [ecx + 2]
test cl, 0xa1
test ax, ax
jmp 0xb52dea
cmp eax, 0xffffffff
jne 0x738512
cmp edi, 8
movsx ecx, si
lea ecx, [ebp - 0x40]
not eax
mov ax, bp
cmovae ecx, dword [ebp - 0x40]
cmovno ax, bp
not eax
sub al, 0x75
cmp word [ecx + esi*2], 0x2f
lea eax, [ecx + esi*2]
jmp 0xb89155
mov dword [ebp - 0x14], ebx
jmp 0x9acc98
call fcn.00a9d8cf
mov dword [ebp - 0x1c], eax
clc
lea ecx, [ebp - 0x70]
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
xor eax, eax
jmp 0xb9b7d4
push ecx
mov ecx, ebx
push edx
lea ecx, [ebp - 0x40]
jmp 0x5dce83
mov ebx, ecx
jmp 0x72cd63
call fcn.00402d60
jmp 0xab6944
je 0x97b336
lea eax, [eax - 2]
test bx, dx
cmp word [eax], 0x5c
jne 0x6ab401
sub eax, ecx
test cl, 0x88
clc
sar eax, 1
cmc
jmp 0x97b32d
mov dword [ebp - 0x5c], 7
jmp 0x68092a
lea eax, [ecx + esi*2]
jmp 0x6ab3fb
call fcn.00476f7f
int3
cmovae eax, dword [ebp - 0x40]
test sp, 0x4696
lea eax, [eax + ecx*2]
stc
mov dword [ebp + 0x18], eax
clc
cmp ebx, 7
jmp 0x42bd4d
jne 0x97469b
sub ecx, esi
sar ecx, 1
jmp 0x9b1798
je 0x83c779
nop dword [eax]
cmp eax, ecx
jmp 0x83c765
push eax
jmp 0x639230