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

Disassembly:
push ebx
push esi
push edi
push 5
push dword [0x100ef3e8]
push dword [0x100ef3e4]
call fcn.100bea60
cmp eax, dword [0x100ef3e8]
mov eax, dword [0x10248d50]
je 0x1003af8f
mov esi, dword [eax + 0x30]
jmp 0x1003ad9c
mov edi, dword [esi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1003ad70
xor edx, edx
test ecx, ecx
je 0x1003ad99
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003ad80
cmp ebx, 0x21f048f7
je 0x1003ada0
mov esi, dword [esi + 4]
test esi, esi
jne 0x1003ad60
mov eax, dword [esi]
mov ecx, esi
push 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003adec
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003adc0
xor edx, edx
test ecx, ecx
je 0x1003ade9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003add0
cmp ebx, 0x5abfbe76
je 0x1003adf0
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003adb5
mov eax, dword [edi]
mov ecx, edi
push 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003ae3c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003ae10
xor edx, edx
test ecx, ecx
je 0x1003ae39
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003ae20
cmp ebx, 0x44867ae9
je 0x1003ae40
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003ae05
mov eax, dword [edi]
mov ecx, edi
push 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003ae8c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003ae60
xor edx, edx
test ecx, ecx
je 0x1003ae89
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003ae70
cmp ebx, 0xdb8fd052
je 0x1003ae90
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003ae55
mov eax, dword [edi]
mov ecx, edi
push 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003aedc
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003aeb0
xor edx, edx
test ecx, ecx
je 0x1003aed9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003aec0
cmp ebx, 0x35df2607
je 0x1003aee0
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003aea5
mov eax, dword [edi]
mov ecx, edi
push 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003af2c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003af00
xor edx, edx
test ecx, ecx
je 0x1003af29
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003af10
cmp ebx, 0x5bcde0bf
je 0x1003af30
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003aef5
mov eax, dword [edi]
mov ecx, edi
push 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003af7c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003af50
xor edx, edx
test ecx, ecx
je 0x1003af79
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003af60
cmp ebx, 0xbae04f2a
je 0x1003af80
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003af45
mov eax, dword [edi]
mov ecx, edi
push 0
mov eax, dword [eax + 0x40]
call eax
pop edi
pop esi
pop ebx
ret
mov edi, dword [eax + 0x30]
jmp 0x1003afcc
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003afa0
xor edx, edx
test ecx, ecx
je 0x1003afc9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003afb0
cmp ebx, 0x21f048f7
je 0x1003afd0
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003af94
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003b01c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003aff0
xor edx, edx
test ecx, ecx
je 0x1003b019
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003b000
cmp ebx, 0x5abfbe76
je 0x1003b020
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003afe5
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003b06c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003b040
xor edx, edx
test ecx, ecx
je 0x1003b069
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003b050
cmp ebx, 0x44867ae9
je 0x1003b070
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003b035
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003b0bc
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003b090
xor edx, edx
test ecx, ecx
je 0x1003b0b9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003b0a0
cmp ebx, 0xdb8fd052
je 0x1003b0c0
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003b085
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003b10c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003b0e0
xor edx, edx
test ecx, ecx
je 0x1003b109
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003b0f0
cmp ebx, 0x35df2607
je 0x1003b110
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003b0d5
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003b15c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003b130
xor edx, edx
test ecx, ecx
je 0x1003b159
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003b140
cmp ebx, 0x5bcde0bf
je 0x1003b160
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003b125
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10248d50]
mov edi, dword [eax + 0x30]
jmp 0x1003b1ac
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1003b180
xor edx, edx
test ecx, ecx
je 0x1003b1a9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1003b190
cmp ebx, 0xbae04f2a
je 0x1003b1b0
mov edi, dword [edi + 4]
test edi, edi
jne 0x1003b175
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax + 0x40]
call eax
pop edi
pop esi
pop ebx
ret