Function at 0x43a440
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 edi, dword [ebp + 8]
movzx eax, word [edi]
mov dword [esp + 8], 0x83846355
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xf
ja 0x43a4c9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + 0x41]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xd98a3f41
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x39
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x10
jb 0x43a490
xor ecx, ecx
cmp dword [esp + 8], eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x445f48]
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + edx]
mov dword [esp + 8], 0x3334eee6
mov dword [esp + 0xc], 0
mov word [esp + 0x10], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 9
ja 0x43a540
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 8]
add ecx, 0x2ec17059
xor ecx, esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x91
mov esi, dword [esp]
mov byte [esp + esi + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xa
jb 0x43a510
xor ecx, ecx
cmp eax, dword [esp + 8]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x445f50]
mov esi, dword [edi + edx + 0x7c]
xor ecx, ecx
test esi, esi
sete cl
jmp dword [ecx*4 + 0x445f58]
mov edx, dword [edi + edx + 0x78]
xor ecx, ecx
test edx, edx
sete cl
jmp dword [ecx*4 + 0x445f60]
mov dword [esp + 0x24], esi
mov eax, dword [edi + edx + 0x20]
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [edi + edx + 0x24]
add eax, edi
mov dword [esp + 0x2c], eax
mov eax, dword [edi + edx + 0x1c]
add eax, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edx
mov eax, dword [edi + edx + 0x18]
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x34], eax
cmp esi, eax
setb cl
mov dword [esp + 0x1c], 1
jmp dword [ecx*4 + 0x445f78]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + esi*4]
add eax, edi
mov ebx, 0xffffffff
xor ecx, ecx
mov edx, ecx
cmp byte [eax + ebx + 1], 0
lea ebx, [ebx + 1]
lea ecx, [ecx + 1]
jne 0x43a5d0
test ebx, ebx
mov dword [esp + 0x20], esi
je 0x43a600
cmp ebx, 4
jae 0x43a610
mov edi, 0x506dff3e
jmp 0x43a657
mov edi, 0x506dff3e
jmp 0x43a681
mov ecx, edx
and ecx, 0xfffffffc
mov edi, 0x506dff3e
nop
nop
nop
nop
nop
nop
movsx esi, byte [eax]
xor esi, edi
imul esi, esi, 0x1000193
movsx edi, byte [eax + 1]
xor edi, esi
imul esi, edi, 0x1000193
movsx edi, byte [eax + 2]
xor edi, esi
imul esi, edi, 0x1000193
movsx edi, byte [eax + 3]
add eax, 4
xor edi, esi
imul edi, edi, 0x1000193
add ecx, 0xfffffffc
jne 0x43a620
test bl, 3
je 0x43a681
and edx, 3
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movsx esi, byte [eax + ecx]
xor esi, edi
imul edi, esi, 0x1000193
inc ecx
cmp edx, ecx
jne 0x43a670
xor eax, eax
cmp edi, dword [ebp + 0xc]
setne al
jmp dword [eax*4 + 0x445f80]
mov esi, dword [esp + 0x20]
mov ecx, esi
not ecx
mov eax, esi
xor eax, 1
add eax, ecx
and ecx, 1
sub eax, ecx
or esi, 1
not eax
mov ecx, esi
and ecx, eax
mov edx, ecx
and edx, 0xfffffffd
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
xor edi, 2
imul edi, edx
xor eax, esi
add eax, ecx
add eax, edi
xor ecx, ecx
cmp eax, dword [esp + 0x34]
setb cl
mov esi, eax
mov edi, dword [ebp + 8]
jmp dword [ecx*4 + 0x445f78]
mov ecx, dword [case.0x43a54b.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov ecx, dword [case.0x43a4d4.1]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + eax*4]
xor edx, edx
mov eax, ecx
sub eax, dword [esp + 0x30]
setae dl
mov esi, dword [ebp + 8]
jmp dword [edx*4 + 0x445f88]
mov ecx, dword [esp + 0x1c]
jmp dword [ecx*4 + 0x445f98]