Function at 0x455110
Capabilities:
Create thread
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x70
cmp dword [0x74b8c4], 0
push esi
push edi
mov edi, dword [0x74b714]
setne byte [ebp - 3]
xor al, al
mov dword [ebp - 0x10], edi
mov byte [ebp - 2], al
mov esi, dword [edi]
cmp esi, edi
je 0x455266
nop
test al, al
jne 0x45524e
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x45524a
mov ecx, eax
call fcn.004cb020
test al, al
je 0x45524a
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
push 0x720aab
push str.wproperties
mov ecx, eax
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x70]
call fcn.00464b00
lea ecx, [ebp - 0x58]
call fcn.00465f40
mov eax, dword [ebp - 0x4c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x58], xmm0
test eax, eax
je 0x4551ba
push eax
call fcn.004672a0
push 0x721057
push str.audioprocessing
lea ecx, [ebp - 0x70]
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x40]
call fcn.00464b00
cmp byte [ebp - 0x38], 7
jne 0x455216
push 0x7207d1
push str.value
lea ecx, [ebp - 0x40]
call fcn.00465fd0
cmp byte [eax + 8], 5
jne 0x455210
push 0x7207d1
push str.value
lea ecx, [ebp - 0x40]
call fcn.00465fd0
mov ecx, eax
call fcn.00465720
test al, al
jne 0x455216
mov byte [ebp - 2], 0
jmp 0x45521a
mov byte [ebp - 2], 1
lea ecx, [ebp - 0x40]
call fcn.00465f40
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x45522f
push eax
call fcn.004672a0
lea ecx, [ebp - 0x70]
call fcn.00465f40
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x455244
push eax
call fcn.004672a0
cmp byte [ebp - 2], 0
jne 0x45524e
xor al, al
jmp 0x455250
mov al, 1
mov esi, dword [esi]
cmp esi, edi
jne 0x455150
mov edi, dword [0x74b714]
mov byte [ebp - 2], al
mov dword [ebp - 0x10], edi
mov esi, dword [edi]
mov al, 1
mov byte [ebp - 1], al
mov dword [ebp - 0x14], esi
cmp esi, edi
je 0x455327
nop dword [eax + eax]
cmp dword [esi + 0x20], 0
lea edx, [esi + 8]
je 0x45531a
cmp dword [edx + 0x14], 0xf
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], edx
jbe 0x4552a1
mov eax, dword [edx]
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov eax, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x4552d5
mov edx, dword [ebp - 0xc]
mov edi, eax
mov esi, dword [ebp - 0x18]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, esi
jb 0x4552b5
mov esi, dword [ebp - 0x14]
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
lea edx, [esi + 8]
push eax
push edx
lea eax, [ebp - 0x24]
mov ecx, 0x74b730
push eax
call fcn.004100f0
mov edx, dword [0x74b734]
mov ecx, edx
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp byte [ebp - 1], 0
je 0x455315
cmp ecx, edx
je 0x455315
mov cl, byte [ecx + 0x39]
mov eax, 1
shl eax, cl
test dword [0x74b6e8], eax
je 0x455315
mov al, 1
jmp 0x455317
xor al, al
mov byte [ebp - 1], al
mov esi, dword [esi]
mov dword [ebp - 0x14], esi
cmp esi, edi
jne 0x455280
cmp byte [ebp - 2], 0
je 0x455341
test dword [0x74b6e4], 0x121
jne 0x455341
test al, al
jne 0x455341
mov al, 1
jmp 0x455343
xor al, al
mov edi, dword [0x74bfdc]
mov esi, dword [edi]
cmp esi, edi
je 0x45545f
test al, al
jne 0x455453
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x45544f
mov ecx, eax
call fcn.004cb020
test al, al
je 0x45544f
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x70]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
push 0x720aab
push str.wproperties
mov ecx, eax
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x58]
call fcn.00464b00
lea ecx, [ebp - 0x70]
call fcn.00465f40
mov eax, dword [ebp - 0x64]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
test eax, eax
je 0x4553bf
push eax
call fcn.004672a0
push 0x721057
push str.audioprocessing
lea ecx, [ebp - 0x58]
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x40]
call fcn.00464b00
cmp byte [ebp - 0x38], 7
jne 0x45541b
push 0x7207d1
push str.value
lea ecx, [ebp - 0x40]
call fcn.00465fd0
cmp byte [eax + 8], 5
jne 0x455415
push 0x7207d1
push str.value
lea ecx, [ebp - 0x40]
call fcn.00465fd0
mov ecx, eax
call fcn.00465720
test al, al
jne 0x45541b
mov byte [ebp - 2], 0
jmp 0x45541f
mov byte [ebp - 2], 1
lea ecx, [ebp - 0x40]
call fcn.00465f40
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x455434
push eax
call fcn.004672a0
lea ecx, [ebp - 0x58]
call fcn.00465f40
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x455449
push eax
call fcn.004672a0
cmp byte [ebp - 2], 0
jne 0x455453
xor al, al
jmp 0x455455
mov al, 1
mov esi, dword [esi]
cmp esi, edi
jne 0x455353
cmp byte [ebp - 3], al
je 0x455551
test al, al
je 0x455547
cmp dword [0x74b874], 0xf
mov eax, 0x74b860
push dword [0x74b870]
cmova eax, dword [0x74b860]
mov ecx, 0x74b924
push eax
call fcn.0040c060
push 0x74b900
push 0x74b8fc
push 0x74b8f8
push 0x74b91c
push 0x74b918
push 0x74b880
push 0x74b904
mov edx, 0x74b860
mov ecx, 0x74b908
call fcn.004a2e10
add esp, 0x1c
mov byte [0x74b920], al
test al, al
je 0x455527
mov ecx, dword [0x74b8f8]
push dword [0x74b93c]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
push 8
call fcn.005ab82c
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [eax], 0x74b87c
push ecx
push 0
push eax
push 0x463570
push 0
push 0
mov dword [eax + 4], 0x4a3c60
call fcn.005cf765
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x45555f
cmp dword [0x74b8c4], 0
jne 0x45555a
jmp 0x455530
mov byte [0x74b940], 1
jmp 0x4554e4
mov eax, dword [ebp - 0x18]
mov dword [0x74b8c0], ecx
mov dword [0x74b8c4], eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, 0x74b87c
call fcn.004a3ae0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004122d0
push 6
mov dword [ebp - 0x18], 0
call fcn.005adc4d
int3