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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x40
mov ebx, dword [ebp + 8]
movzx eax, word [ebx]
mov dword [esp + 8], 0x5b5a232d
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xb
ja 0x433ebb
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
mov esi, 0x33
sub esi, ecx
add ecx, 0x80d991cc
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0x6c
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xc
jb 0x433e80
xor ecx, ecx
cmp dword [esp + 8], eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x43dbd8]
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + edx]
mov dword [esp + 8], 0xb0a405c
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 8
ja 0x433f3b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 8]
mov edi, 0xd5
sub edi, ecx
add ecx, 0x893ab92a
xor edi, ecx
and edi, esi
xor edi, ecx
mov dword [esp + 4], edi
mov ecx, dword [esp + 4]
add cl, 0xda
mov esi, dword [esp]
mov byte [esp + esi + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 9
jb 0x433f00
xor ecx, ecx
cmp eax, dword [esp + 8]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x43dbe0]
mov edi, dword [ebx + edx + 0x78]
mov esi, dword [ebx + edx + 0x7c]
test esi, esi
sete cl
test edi, edi
sete dl
or dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x43dbe8]
jmp dword [0x43dbfc]
mov dword [esp + 0x20], esi
mov eax, dword [ebx + edi + 0x20]
add eax, ebx
mov dword [esp + 0x38], eax
mov eax, dword [ebx + edi + 0x24]
add eax, ebx
mov dword [esp + 0x28], eax
mov eax, dword [ebx + edi + 0x1c]
add eax, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edi
mov edx, dword [ebx + edi + 0x18]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x34], edx
cmp ecx, edx
setb al
mov dword [esp + 0x30], 1
jmp dword [eax*4 + 0x43dc00]
mov eax, dword [esp + 0x38]
mov esi, dword [eax + ecx*4]
add esi, ebx
mov edx, 0xffffffff
xor eax, eax
mov edi, eax
cmp byte [esi + edx + 1], 0
lea edx, [edx + 1]
lea eax, [eax + 1]
jne 0x433fd0
test edx, edx
mov dword [esp + 0x1c], ecx
je 0x434000
cmp edx, 4
jae 0x434010
mov eax, 0xa4c9dcf
test dl, 3
jne 0x43405f
jmp 0x434081
mov eax, 0xa4c9dcf
jmp 0x434081
mov ecx, edi
and ecx, 0xfffffffc
mov eax, 0xa4c9dcf
nop
nop
nop
nop
nop
nop
movsx ebx, byte [esi]
xor ebx, eax
imul eax, ebx, 0x1000193
movsx ebx, byte [esi + 1]
xor ebx, eax
imul eax, ebx, 0x1000193
movsx ebx, byte [esi + 2]
xor ebx, eax
imul eax, ebx, 0x1000193
movsx ebx, byte [esi + 3]
add esi, 4
xor ebx, eax
imul eax, ebx, 0x1000193
add ecx, 0xfffffffc
jne 0x434020
mov ebx, dword [ebp + 8]
test dl, 3
je 0x434081
and edi, 3
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movsx edx, byte [esi + ecx]
xor edx, eax
imul eax, edx, 0x1000193
inc ecx
cmp edi, ecx
jne 0x434070
xor ecx, ecx
cmp eax, dword [ebp + 0xc]
setne cl
jmp dword [ecx*4 + 0x43dc08]
mov ecx, dword [esp + 0x30]
jmp dword [ecx*4 + 0x43dc20]
mov ecx, dword [case.0x433ec6.1]
nop
nop
jmp ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret