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

Disassembly:
sub esp, 0x4c
mov eax, dword [0x568008]
xor eax, esp
mov dword [esp + 0x44], eax
cmp byte [0x568bca], 0
push ebx
push ebp
push esi
push edi
movss dword [esp + 0x20], xmm0
je 0x54b803
mov edi, dword [0x568a60]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x5be3a1a0
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x54b70d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x54b6f0
cmp edx, 0x268295f0
je 0x54b713
inc ebx
add esi, 4
jmp 0x54b6e0
mov eax, dword [ebp + edi + 0x24]
push dword [0x5680b4]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
test ax, ax
jne 0x54b7fd
mov eax, dword [0x568c14]
cmp eax, 3
je 0x54b7d5
cmp eax, 4
je 0x54b7d5
cmp eax, 5
je 0x54b7ad
cmp eax, 8
jl 0x54b761
cmp eax, 0xd
jle 0x54b7ad
movss xmm0, dword [esp + 0x20]
cvtps2pd xmm0, xmm0
cmp eax, 0xe
jne 0x54b78e
mulsd xmm0, qword [0x556c10]
cvtpd2ps xmm0, xmm0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.004a6087
add esp, 0x4c
ret
mulsd xmm0, qword [0x556c40]
cvtpd2ps xmm0, xmm0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.004a6087
add esp, 0x4c
ret
movss xmm0, dword [esp + 0x20]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x556c28]
cvtpd2ps xmm0, xmm0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.004a6087
add esp, 0x4c
ret
movss xmm0, dword [esp + 0x20]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x556c00]
cvtpd2ps xmm0, xmm0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.004a6087
add esp, 0x4c
ret
movss xmm0, dword [esp + 0x20]
mov eax, dword [0x568c18]
add eax, 0xfffffff1
cmp eax, 3
ja case.default.0x54b814
jmp dword [eax*4 + 0x54bab4]
mov bh, 0x2e
mov byte [esp + 0x1c], 0
mov cl, 0x48
mov byte [esp + 0x14], bh
mov al, 0x6a
mov byte [esp + 0x1c], 0
mov ah, 0x54
mov ch, cl
xor al, bh
xor ah, bh
xor cl, bh
mov byte [esp + 0x15], al
xor ch, bh
mov byte [esp + 0x19], ah
mov dl, 0x74
mov byte [esp + 0x16], cl
mov dh, 0x77
mov byte [esp + 0x1a], ch
mov bl, 0x58
lea eax, [esp + 0x15]
xor dl, bh
lea ecx, [esp + 0x3c]
xor dh, bh
mov byte [esp + 0x17], dl
xor bl, bh
mov byte [esp + 0x1b], dh
push eax
mov byte [esp + 0x1c], bl
call fcn.004a1bf0
mov bh, 0x68
mov byte [esp + 0x1c], 0
mov al, 0x3a
mov byte [esp + 0x14], bh
mov bl, 0x5b
mov byte [esp + 0x1c], 0
mov ah, 0x51
mov ch, bl
xor al, bh
xor ah, bh
mov cl, 0x1e
mov byte [esp + 0x15], al
xor cl, bh
mov byte [esp + 0x19], ah
xor ch, bh
mov byte [esp + 0x16], cl
mov dl, 0x2e
mov byte [esp + 0x1a], ch
mov dh, 0x19
lea eax, [esp + 0x15]
xor dl, bh
lea ecx, [esp + 0x24]
xor dh, bh
mov byte [esp + 0x17], dl
xor bl, bh
mov byte [esp + 0x1b], dh
push eax
mov byte [esp + 0x1c], bl
call fcn.004a1bf0
mov ch, 0x48
mov byte [esp + 0x1a], 0
mov cl, 9
mov byte [esp + 0x14], ch
mov dl, 6
mov byte [esp + 0x1a], 0
xor cl, ch
xor dl, ch
mov al, 0x24
mov byte [esp + 0x16], cl
mov bl, 0x27
mov byte [esp + 0x17], dl
xor al, ch
xor bl, ch
mov ah, 0x1c
mov byte [esp + 0x15], al
xor ah, ch
mov byte [esp + 0x18], bl
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x54b906
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004a1de0
mov dh, 0x24
mov byte [esp + 0x1b], 0
mov al, 0x66
mov byte [esp + 0x14], dh
mov dl, al
mov byte [esp + 0x1b], 0
mov cl, 0x56
mov ch, 0x50
xor cl, dh
xor ch, dh
mov ah, al
mov byte [esp + 0x16], cl
xor dl, dh
mov byte [esp + 0x1a], ch
mov bl, 0x71
mov byte [esp + 0x17], dl
xor al, dh
lea ecx, [esp + 0x15]
xor bl, dh
mov byte [esp + 0x15], al
xor ah, dh
mov byte [esp + 0x18], bl
lea edx, [esp + 0x24]
mov byte [esp + 0x19], ah
call fcn.004a2100
test al, al
je 0x54b9b5
mov ch, 0x6a
mov byte [esp + 0x1a], 0
mov al, 0x22
mov byte [esp + 0x14], ch
mov ah, 0x53
mov byte [esp + 0x1a], 0
xor al, ch
xor ah, ch
mov cl, 7
mov byte [esp + 0x15], al
xor cl, ch
mov byte [esp + 0x19], ah
mov dl, 0x1a
mov byte [esp + 0x16], cl
mov bl, 0x19
lea eax, [esp + 0x15]
xor dl, ch
xor bl, ch
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x1b], dl
mov byte [esp + 0x1c], bl
call fcn.004a1aa0
lea ecx, [esp + 0x24]
call fcn.004a1ba0
lea ecx, [esp + 0x3c]
call fcn.004a1ba0
movss xmm0, dword [esp + 0x20]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x556c48]
cvtpd2ps xmm0, xmm0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.004a6087
add esp, 0x4c
ret
mov eax, dword [0x568c14]
cmp eax, 7
je 0x54ba2f
cmp eax, 5
je 0x54ba2f
cmp eax, 0xe
je 0x54ba2f
cmp eax, 0xd
je 0x54ba2f
cmp eax, 0xc
je 0x54ba2f
cmp eax, 0xb
je 0x54ba2f
cvtss2sd xmm0, xmm0
cmp eax, 8
jne 0x54ba25
mulsd xmm0, qword [0x556bf0]
jmp 0x54ba9b
mulsd xmm0, qword [0x556bf8]
jmp 0x54ba9b
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x556be0]
jmp 0x54ba9b
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x556c80]
jmp 0x54ba9b
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x556c90]
jmp 0x54ba9b
mov eax, dword [0x568c14]
cmp eax, 7
je 0x54ba8f
cmp eax, 8
je 0x54ba8f
cmp eax, 5
je 0x54ba81
cmp eax, 0xe
je 0x54ba81
cmp eax, 0xd
je 0x54ba81
cmp eax, 0xc
je 0x54ba81
cmp eax, 0xb
jne 0x54ba9f
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x556be8]
jmp 0x54ba9b
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x556c08]
cvtsd2ss xmm0, xmm0
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a6087
add esp, 0x4c
ret