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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
push ebx
mov dword [esp + 8], ecx
push esi
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
push edi
cmp ecx, 0x10
jb 0x432fca
mov esi, dword [eax]
jmp 0x432fcc
mov esi, eax
xor ecx, ecx
mov edx, 0x811c9dc5
test ebx, ebx
je 0x432fe8
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x432fd7
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x14]
and edx, ecx
cmp dword [ebx + 0x18], edx
ja 0x432fff
shr ecx, 1
or eax, 0xffffffff
sub eax, ecx
add edx, eax
mov ecx, dword [ebx + 8]
lea esi, [edx*8]
mov edi, dword [ebx]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], esi
mov eax, dword [esi + ecx]
cmp edi, eax
je 0x433103
mov edi, dword [esi + ecx + 4]
mov edi, dword [edi]
cmp edi, eax
je 0x433103
lea eax, [edx*8]
mov dword [esp + 0x20], eax
jmp 0x433040
mov edi, dword [edi + 4]
cmp dword [edi + 0x1c], 0x10
lea ecx, [edi + 8]
mov ebx, dword [ecx + 0x10]
jb 0x433051
mov ecx, dword [ecx]
cmp dword [esp + 0x18], 0x10
jb 0x43305f
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
jmp 0x433062
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0x14], ebx
mov edx, ebx
cmovb edx, dword [esp + 0x14]
test edx, edx
je 0x4330cc
sub edx, 4
jb 0x433087
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x43308c
add esi, 4
add ecx, 4
sub edx, 4
jae 0x433076
cmp edx, 0xfffffffc
je 0x4330c0
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x4330b9
cmp edx, 0xfffffffd
je 0x4330c0
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x4330b9
cmp edx, 0xfffffffe
je 0x4330c0
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x4330b9
cmp edx, 0xffffffff
je 0x4330c0
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
je 0x4330c0
sbb eax, eax
or eax, 1
jmp 0x4330c2
xor eax, eax
test eax, eax
je 0x4330cc
mov edx, dword [esp + 0x14]
jmp 0x4330e0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jae 0x4330d9
or eax, 0xffffffff
jmp 0x4330e0
xor eax, eax
cmp edx, ebx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x43314a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp edi, dword [ecx + eax]
jne 0x433040
mov ebx, dword [esp + 0x10]
mov esi, dword [ebp + 0x10]
mov eax, dword [esi]
cmp edi, eax
je 0x43312d
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov ecx, dword [eax + 4]
mov dword [ecx], edi
mov ecx, dword [edi + 4]
mov dword [ecx], esi
mov ecx, dword [eax + 4]
mov edx, dword [edi + 4]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x24]
add ecx, edx
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x4331aa
mov dword [ecx], esi
mov eax, dword [ebx + 8]
mov dword [eax + edx + 4], esi
jmp 0x4331cc
cmp dword [esp + 0x18], 0x10
lea ecx, [edi + 8]
mov eax, dword [ebp + 0xc]
jb 0x433159
mov eax, dword [eax]
push edx
push eax
push dword [ecx + 0x10]
push 0
call fcn.00405ba0
test eax, eax
je 0x43316d
mov edi, dword [edi]
jmp 0x4330ff
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ecx], eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x10]
dec dword [ecx + 4]
lea ecx, [esi + 8]
call fcn.00433370
push esi
call dword [sym.imp.msvcr120.dll_void___cdecl_operator_delete_void__]
mov eax, dword [ebp + 8]
add esp, 4
mov dword [eax], edi
mov byte [eax + 4], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, edi
jne 0x4331b2
mov dword [ecx], esi
jmp 0x4331cc
mov eax, dword [ecx + 4]
mov eax, dword [eax]
mov dword [ecx + 4], eax
cmp eax, esi
je 0x4331cc
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + edx + 4]
mov eax, dword [eax + 4]
mov dword [ecx + edx + 4], eax
mov ecx, ebx
call fcn.00433260
mov eax, dword [ebp + 8]
pop edi
mov dword [eax], esi
pop esi
mov byte [eax + 4], 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc