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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100512e5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
push edi
movss dword [ebp - 0x18], xmm3
mov bl, cl
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x10], xmm1
mov dword [ebp - 4], 0
mov eax, dword fs:[0x2c]
mov edx, dword [0x100dc550]
mov edx, dword [eax + edx*4]
mov eax, dword [0x100dca8c]
cmp eax, dword [edx + 4]
jle 0x100429f1
push 0x100dca8c
call fcn.1004f979
add esp, 4
cmp dword [0x100dca8c], 0xffffffff
jne 0x100429f1
mov byte [ebp - 4], 1
push 0x24
mov dword [0x100dca6c], 0
mov dword [0x100dca70], 0
mov dword [0x100dca74], 0
call fcn.1004f8ba
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x100dca70], eax
mov dword [0x100dca78], 0
mov dword [0x100dca7c], 0
mov dword [0x100dca80], 0
mov byte [ebp - 4], 3
mov ecx, 0x100dca78
push eax
push 0x10
mov dword [0x100dca84], 7
mov dword [0x100dca88], 8
mov dword [0x100dca6c], 0x3f800000
call fcn.1003c310
push 0x10051a20
call fcn.1004fce2
add esp, 4
mov byte [ebp - 4], 0
push 0x100dca8c
call fcn.1004f928
add esp, 4
cmp dword [ebp + 0x1c], 0xf
lea esi, [ebp + 8]
mov edi, dword [ebp + 0x18]
mov edx, 0x811c9dc5
cmova esi, dword [ebp + 8]
xor ecx, ecx
test edi, edi
je 0x10042a21
nop word [eax + eax]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x10042a10
push edx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10043280
mov esi, dword [0x100dca70]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, dword [0x100dca70]
jne 0x10042aed
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x44]
call fcn.1003c220
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x2c], xmm0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10042df0
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xf
jbe 0x10042aa4
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10042a9a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10042ba0
push ecx
push edx
call fcn.1004f8ea
add esp, 8
cmp dword [ebp + 0x1c], 0xf
lea esi, [ebp + 8]
mov edi, dword [ebp + 0x18]
mov edx, 0x811c9dc5
cmova esi, dword [ebp + 8]
xor ecx, ecx
test edi, edi
je 0x10042ad1
nop dword [eax]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x10042ac0
push edx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10043280
mov esi, dword [0x100dca70]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
mov eax, dword [0x100dc8dc]
test eax, eax
jne 0x10042b13
push 0xe85
push str.C:UsersAdministratorDesktopCharlinhoCharlenoexample_win32_directx9imguiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [0x100dc8dc]
add esp, 0xc
movss xmm1, dword [0x1005e6c4]
add esi, 0x20
movss xmm3, dword [ebp - 0x14]
subss xmm1, dword [eax + 0x18]
movss xmm0, dword [esi]
mulss xmm1, dword [ebp - 0x18]
test bl, bl
je 0x10042b49
comiss xmm3, xmm0
jbe 0x10042b42
addss xmm0, xmm1
movss dword [esi], xmm0
movss xmm2, dword [ebp - 0x10]
jmp 0x10042b5b
movss xmm2, dword [ebp - 0x10]
comiss xmm0, xmm2
jbe 0x10042b5b
subss xmm0, xmm1
movss dword [esi], xmm0
comiss xmm2, xmm0
lea ecx, [ebp - 0x10]
lea eax, [ebp - 0x14]
cmovbe ecx, esi
comiss xmm0, xmm3
cmovbe eax, ecx
movss xmm0, dword [eax]
movss dword [esi], xmm0
mov ecx, dword [ebp + 0x1c]
movss dword [ebp - 0x18], xmm0
cmp ecx, 0xf
jbe 0x10042bb5
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10042ba6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10042ba6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1004f8ea
movss xmm0, dword [ebp - 0x18]
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret