Function at 0x10004e40
Capabilities:
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
push 0xffffffffffffffff
push 0x100119d8
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4c8
mov eax, dword [0x10016004]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x48c], eax
mov edi, dword [ebx + 8]
mov dword [ebp - 0x49c], edi
call fcn.10005740
push 0
push 0
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
push 0x20
call fcn.10010951
mov esi, eax
add esp, 4
mov dword [ebp - 0x490], esi
mov dword [ebp - 0x498], esi
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [esi], xmm0
push 0x38
movups xmmword [esi + 0x10], xmm0
mov dword [esi], 0
mov dword [ebp - 0x44c], esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.10010951
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 4], eax
lea ecx, [esi + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 2
push dword [esi + 4]
mov dword [esi + 0x18], 7
push 0x10
mov dword [esi + 0x1c], 8
mov dword [esi], 0x3f800000
call fcn.10005fe0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x448]
push 0
push 0x1001382e
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 0
call fcn.100042b0
mov ecx, dword [ebp - 0x48c]
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x4c4]
mov dword [ebp - 4], 3
push eax
call fcn.10006430
mov eax, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 0x20], esi
mov ecx, dword [ebp - 0x434]
cmp ecx, 0x10
jb 0x10004fd2
mov edx, dword [ebp - 0x448]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004fc8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10004fc8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10010cbe
add esp, 8
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
add esp, 4
test eax, eax
jne 0x100056a6
push edi
lea eax, [ebp - 0x418]
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
add esp, 0xc
test eax, eax
je 0x100056a6
lea eax, [ebp - 0x418]
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strnlen]
add esp, 8
mov dword [ebp - 0x488], eax
test eax, eax
je 0x10005694
xor cl, cl
mov dword [ebp - 0x430], 0
or edi, 0xffffffff
mov byte [ebp - 0x47d], cl
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x494], edi
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0xf
mov byte [ebp - 0x430], cl
push eax
lea ecx, [ebp - 0x430]
mov dword [ebp - 4], 4
call fcn.10005950
xor esi, esi
cmp dword [ebp - 0x488], esi
jle 0x100053ee
movsx eax, byte [ebp + esi - 0x418]
mov ecx, dword [ebp - 0x420]
add eax, 0xfffffff6
cmp eax, 0x53
ja case.0x100050a2.11
movzx eax, byte [eax + 0x100056e4]
jmp dword [eax*4 + 0x100056cc]
lea eax, [esi + 1]
cmp eax, dword [ebp - 0x488]
jge case.0x100050a2.11
mov esi, eax
mov al, byte [ebp + esi - 0x418]
cmp al, 0x6e
je 0x10005121
cmp al, 0x72
jne case.0x100050a2.11
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x41c]
cmp ecx, edx
jae 0x10005101
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x420], eax
lea eax, [ebp - 0x430]
cmovae eax, dword [ebp - 0x430]
mov word [eax + ecx], 0xd
jmp 0x100051fc
push 0xd
mov byte [ebp - 0x4a0], 0
push dword [ebp - 0x4a0]
push ecx
lea ecx, [ebp - 0x430]
call fcn.10006a10
jmp 0x100051fc
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x41c]
cmp ecx, edx
jae 0x10005155
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x420], eax
lea eax, [ebp - 0x430]
cmovae eax, dword [ebp - 0x430]
mov word [ecx + eax], 0xa
jmp 0x100051fc
push 0xa
mov byte [ebp - 0x4a4], 0
push dword [ebp - 0x4a4]
push ecx
lea ecx, [ebp - 0x430]
call fcn.10006a10
jmp 0x100051fc
cmp edi, 0xffffffff
jne case.0x100050a2.11
mov dword [ebp - 0x484], ecx
mov dl, byte [ebp + esi - 0x418]
mov edi, dword [ebp - 0x41c]
mov byte [ebp - 0x44c], dl
cmp ecx, edi
jae 0x100051d7
lea eax, [ecx + 1]
cmp edi, 0x10
mov dword [ebp - 0x420], eax
lea eax, [ebp - 0x430]
cmovae eax, dword [ebp - 0x430]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x100051f6
test esi, esi
jne case.0x100050a2.11
mov byte [ebp - 0x47d], 1
jmp case.0x100050a2.11
mov dword [ebp - 0x494], ecx
jmp case.0x100050a2.11
mov esi, dword [ebp - 0x488]
jmp 0x100051fc
push dword [ebp - 0x44c]
mov byte [ebp - 0x498], 0
push dword [ebp - 0x498]
push ecx
lea ecx, [ebp - 0x430]
call fcn.10006a10
mov edi, dword [ebp - 0x484]
inc esi
cmp esi, dword [ebp - 0x488]
jl 0x10005081
cmp byte [ebp - 0x47d], 0
je 0x100053ee
mov ecx, dword [ebp - 0x494]
cmp ecx, 0xffffffff
je 0x100053ee
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 0
cmp eax, 1
jb 0x100056c6
dec eax
dec ecx
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x41c], 0x10
lea eax, [ebp - 0x430]
cmovae eax, dword [ebp - 0x430]
push ecx
inc eax
lea ecx, [ebp - 0x448]
push eax
call fcn.100042b0
mov byte [ebp - 4], 5
lea esi, [ebp - 0x448]
cmp dword [ebp - 0x434], 0x10
mov edx, 0x811c9dc5
mov edi, dword [ebp - 0x448]
cmovae esi, edi
xor ecx, ecx
cmp dword [ebp - 0x438], ecx
jbe 0x100052b9
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x438]
jb 0x100052a4
mov esi, dword [ebp - 0x48c]
lea eax, [ebp - 0x448]
push edx
push eax
mov ecx, esi
call fcn.10006e50
cmp eax, dword [esi + 4]
je 0x100052e1
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x490], eax
jmp 0x10005394
push 0x20
call fcn.10010951
mov esi, eax
add esp, 4
mov dword [ebp - 0x490], esi
mov dword [ebp - 0x4c0], esi
mov byte [ebp - 4], 6
xorps xmm0, xmm0
movups xmmword [esi], xmm0
push 0x38
movups xmmword [esi + 0x10], xmm0
mov dword [esi], 0
mov dword [ebp - 0x494], esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.10010951
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 4], eax
lea ecx, [esi + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 8
push dword [esi + 4]
mov dword [esi + 0x18], 7
push 0x10
mov dword [esi + 0x1c], 8
mov dword [esi], 0x3f800000
call fcn.10005fe0
mov ecx, dword [ebp - 0x48c]
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x4cc]
mov byte [ebp - 4], 5
push eax
call fcn.100061a0
mov eax, dword [eax]
mov dword [eax + 0x20], esi
mov edi, dword [ebp - 0x448]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x434]
cmp eax, 0x10
jb 0x100053ce
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100053c4
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004fc2
push ecx
push edi
call fcn.10010cbe
add esp, 8
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 0xf
mov byte [ebp - 0x448], 0
jmp 0x1000564d
mov edx, dword [ebp - 0x420]
test edx, edx
je 0x1000564d
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x468], 0xf
mov byte [ebp - 0x47c], 0
xor edi, edi
mov dword [ebp - 0x464], 0
mov esi, 0xf
mov dword [ebp - 0x454], edi
mov dword [ebp - 0x450], esi
mov byte [ebp - 0x464], 0
mov eax, dword [ebp - 0x484]
mov byte [ebp - 4], 0xa
cmp eax, 0xffffffff
jle 0x10005577
cmp edx, eax
mov dword [ebp - 0x4bc], edi
mov ecx, eax
mov dword [ebp - 0x4ac], edi
cmovb ecx, edx
mov dword [ebp - 0x4a8], edi
cmp dword [ebp - 0x41c], 0x10
lea eax, [ebp - 0x430]
push ecx
cmovae eax, dword [ebp - 0x430]
lea ecx, [ebp - 0x4bc]
push eax
call fcn.100042b0
mov ecx, dword [ebp - 0x468]
cmp ecx, 0x10
jb 0x100054cc
mov edx, dword [ebp - 0x47c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100054c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004fc2
push ecx
push edx
call fcn.10010cbe
add esp, 8
movups xmm0, xmmword [ebp - 0x4bc]
mov edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x420]
inc edx
mov dword [ebp - 0x4bc], 0
movups xmmword [ebp - 0x47c], xmm0
movq xmm0, qword [ebp - 0x4ac]
movq qword [ebp - 0x46c], xmm0
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0
cmp eax, edx
jb 0x100056c6
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x41c], 0x10
lea eax, [ebp - 0x430]
cmovae eax, dword [ebp - 0x430]
push ecx
add eax, edx
lea ecx, [ebp - 0x4bc]
push eax
call fcn.100042b0
movups xmm0, xmmword [ebp - 0x4bc]
movups xmmword [ebp - 0x464], xmm0
movq xmm0, qword [ebp - 0x4ac]
movq qword [ebp - 0x454], xmm0
mov esi, dword [ebp - 0x450]
mov edi, dword [ebp - 0x454]
jmp 0x10005598
cmp dword [ebp - 0x41c], 0x10
lea eax, [ebp - 0x430]
push edx
cmovae eax, dword [ebp - 0x430]
lea ecx, [ebp - 0x47c]
push eax
call fcn.10005ea0
mov ecx, dword [ebp - 0x490]
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.10006710
mov ecx, dword [eax]
lea eax, [ebp - 0x464]
add ecx, 0x20
cmp ecx, eax
je 0x100055d7
cmp esi, 0x10
push edi
cmovae eax, dword [ebp - 0x464]
push eax
call fcn.10005ea0
mov esi, dword [ebp - 0x450]
mov byte [ebp - 4], 9
cmp esi, 0x10
jb 0x1000560f
mov ecx, dword [ebp - 0x464]
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x10005605
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004fc2
push esi
push ecx
call fcn.10010cbe
add esp, 8
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x468]
cmp ecx, 0x10
jb 0x1000564d
mov edx, dword [ebp - 0x47c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10005643
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004fc2
push ecx
push edx
call fcn.10010cbe
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x41c]
cmp ecx, 0x10
jb 0x1000568e
mov edx, dword [ebp - 0x430]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10005684
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004fc2
push ecx
push edx
call fcn.10010cbe
add esp, 8
mov edi, dword [ebp - 0x49c]
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
add esp, 4
test eax, eax
je 0x10004fe4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10010943
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.100060e0
nop
iretd