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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x10209e70]
push ebx
push esi
push edi
test al, 1
jne 0x10038d38
or eax, 1
mov dword [0x10209e70], eax
mov eax, dword [0x10203c94]
mov ebx, dword [eax + 0x30]
jmp 0x10038d2c
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10038d00
xor edx, edx
test ecx, ecx
je 0x10038d29
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10038d10
cmp esi, 0xcc254ccd
je 0x10038d30
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10038cf2
mov dword [0x10209ec4], ebx
jmp 0x10038d3e
mov ebx, dword [0x10209ec4]
movss xmm0, dword [0x101d0538]
ucomiss xmm0, dword [0x100f4f0c]
lahf
test ah, 0x44
mov eax, dword [ebx]
jnp 0x10038d68
mulss xmm0, dword [0x100f4f40]
mov eax, dword [eax + 0x3c]
push ecx
movss dword [esp], xmm0
jmp 0x10038d6d
mov eax, dword [eax + 0x40]
push 0
mov ecx, ebx
call eax
cmp byte [0x101d05f0], 0
je 0x10038f83
mov ecx, dword [0x10209e70]
test cl, 2
jne 0x10038df2
or ecx, 2
mov dword [0x10209e70], ecx
mov ebx, dword [0x10203c94]
mov ebx, dword [ebx + 0x30]
test ebx, ebx
je 0x10038dea
nop
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10038db0
xor edx, edx
test ecx, ecx
je 0x10038ddd
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10038dc0
cmp edi, 0xa0f6f854
je 0x10038e66
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10038da0
mov ecx, dword [0x10209e70]
xor ebx, ebx
mov dword [0x10209e84], ebx
test cl, 4
jne 0x10038e7f
or ecx, 4
mov dword [0x10209e70], ecx
mov eax, dword [0x10203c94]
mov ebx, dword [eax + 0x30]
mov dword [ebp - 4], ebx
test ebx, ebx
je 0x10038e59
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10038e20
xor edx, edx
test ecx, ecx
je 0x10038e49
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10038e30
cmp edi, 0x7ac0d5a
je 0x10038e71
mov ebx, dword [ebx + 4]
mov dword [ebp - 4], ebx
test ebx, ebx
jne 0x10038e13
mov ecx, dword [0x10209e70]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [0x10209ea0], ebx
jmp 0x10038e87
mov ecx, dword [0x10209e70]
jmp 0x10038dec
mov ecx, dword [0x10209e70]
mov dword [0x10209ea0], ebx
jmp 0x10038e87
mov eax, dword [0x10209ea0]
mov dword [ebp - 4], eax
test cl, 8
jne 0x10038ef2
or ecx, 8
mov dword [0x10209e70], ecx
mov eax, dword [0x10203c94]
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x10038eea
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10038eb0
xor edx, edx
test ecx, ecx
je 0x10038edd
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10038ec0
cmp edi, 0x4e98c3f5
je 0x10038f78
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10038ea1
mov ecx, dword [0x10209e70]
xor ebx, ebx
mov dword [0x10209eb0], ebx
test cl, 0x10
jne 0x10038f00
or ecx, 0x10
mov dword [0x10209e70], ecx
mov ecx, dword [ebp - 4]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10209e84]
movss xmm0, dword [0x101d07f4]
mulss xmm0, dword [0x100f4f40]
push ecx
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x10209eb0]
movss xmm0, dword [0x101d067c]
mulss xmm0, dword [0x100f4f40]
push ecx
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x10209eb0]
movss xmm0, dword [0x101d0738]
mulss xmm0, dword [0x100f4f40]
push ecx
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x3c]
jmp 0x10038ff7
mov ecx, dword [0x10209e70]
jmp 0x10038eec
mov eax, dword [0x10209e70]
test al, 0x20
jne 0x10038fe8
or eax, 0x20
mov dword [0x10209e70], eax
mov eax, dword [0x10203c94]
mov ebx, dword [eax + 0x30]
jmp 0x10038fdc
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10038fb0
xor edx, edx
test ecx, ecx
je 0x10038fd9
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10038fc0
cmp esi, 0x7ac0d5a
je 0x10038fe0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10038fa0
mov dword [0x10209e7c], ebx
jmp 0x10038fee
mov ebx, dword [0x10209e7c]
mov eax, dword [ebx]
mov ecx, ebx
push 0
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10203c98]
push 0x101bfebc
push 0x101bfeb8
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
call fcn.100d5f60
mov ecx, 0x10209d90
call fcn.100b2770
push dword [0x102040d4]
call fcn.10033c90
mov ecx, 0x101bf810
call fcn.10034710
call fcn.100d48c0
call fcn.10038b30
mov ecx, 0x102040b8
call fcn.100b43b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret