Function at 0x1003f8a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x100b8180]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x100d9730], 0
push ebx
push esi
push edi
jne 0x1003f8ca
cmp dword [0x100d9738], 0
je 0x1003f8ca
call fcn.10031120
call fcn.10031800
call fcn.10014510
push 0xffffffffffffffff
mov eax, 0x56e210
call eax
add esp, 4
test eax, eax
je 0x1003f8e9
call fcn.100091b0
mov ecx, dword [0x100bb5b4]
cmp byte [ecx + 6], 0
je 0x1003ff1c
mov eax, dword [0x100bb5a0]
test eax, eax
jne 0x1003f924
push 0xc65
push str.C:Users1_source_reposgamesnusSnusHack_RemasteredSnusHack_RemasteredImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call fcn.1006e577
mov ecx, dword [0x100bb5b4]
add esp, 0xc
mov eax, dword [0x100bb5a0]
movss xmm0, dword [eax + 0x18]
mulss xmm0, dword [0x100b0564]
movss xmm1, dword [0x100b0518]
addss xmm0, dword [ecx]
minss xmm1, xmm0
movss dword [ecx], xmm1
movss dword [eax + 0x1518], xmm1
mov ecx, dword [eax + 0x1a10]
or ecx, 2
mov dword [eax + 0x1a30], 0x4412c000
cmp byte [0x100d97ac], 0
mov dword [eax + 0x1a10], ecx
mov dword [eax + 0x1a34], 0x43960000
mov dword [eax + 0x1a18], 1
je 0x1003f9db
movss xmm2, dword [eax + 0x10]
or ecx, 1
movss xmm1, dword [eax + 0x14]
mulss xmm2, dword [0x100b04e8]
mov dword [eax + 0x1a10], ecx
mulss xmm1, dword [0x100b04e8]
mov dword [eax + 0x1a28], 0x3f000000
movss dword [eax + 0x1a20], xmm2
mov dword [eax + 0x1a2c], 0x3f000000
movss dword [eax + 0x1a24], xmm1
mov dword [eax + 0x1a14], 1
mov byte [0x100d97ac], 1
movaps xmm0, xmmword [0x100b1700]
lea ecx, [ebp - 0x24]
movups xmm2, xmmword [0x100b0820]
xor edx, edx
mov word [ebp - 0x14], 0
movaps xmm1, xmmword [0x100b17f0]
movd eax, xmm0
movups xmmword [ebp - 0x24], xmm0
push 0x2a
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x20]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x24], xmm1
movaps xmm1, xmmword [0x100b1800]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x1c]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x20], xmm1
movaps xmm1, xmmword [0x100b1810]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x18]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x1c], xmm1
movaps xmm1, xmmword [0x100b1820]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x18], xmm1
call fcn.10018ba0
add esp, 4
test al, al
je 0x1003ff22
mov ebx, dword [0x100bb5a0]
mov dword [ebp - 0xc], 0xdbc5c7d1
movd xmm0, dword [ebp - 0xc]
punpcklbw xmm0, xmm0
mov edi, dword [ebx + 0x19ac]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
mov word [ebp - 8], 0
cmp byte [edi + 0x7f], 0
xorps xmm0, xmmword [0x100b17f0]
andps xmm0, xmmword [0x100b0820]
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0xc], xmm0
jne 0x1003ff15
push ecx
lea eax, [ebp - 0xc]
mov ecx, edi
push eax
call fcn.10012ec0
push ecx
push eax
lea ecx, [ebx + 0x1da8]
mov dword [ebp - 0xc], eax
call fcn.10011570
mov ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x1003fb62
cmp eax, dword [ebx + 0x1d9c]
jl 0x1003fb57
push 0x4d9
push str.C:Users1_source_reposgamesnusSnusHack_RemasteredSnusHack_RemasteredImGuiimgui.h
push str.i___Size
call fcn.1006e577
mov eax, dword [ebp - 0x28]
add esp, 0xc
imul eax, eax, 0x74
add eax, dword [ebx + 0x1da4]
jmp 0x1003fb75
mov eax, dword [ebx + 0x1db4]
mov dword [ecx], eax
lea ecx, [ebx + 0x1d9c]
call fcn.1003e160
movss xmm0, dword [edi + 0xc8]
lea edx, [ebp - 0x24]
movss xmm1, dword [edi + 0xcc]
mov ecx, dword [ebp - 0xc]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [edi + 0x208]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebx + 0x1554]
movss dword [ebp - 0x20], xmm1
addss xmm0, xmm0
addss xmm1, dword [ebx + 0x18c8]
mov dword [eax + 0xc], ecx
push ecx
mov ecx, eax
addss xmm1, xmm0
movss dword [ebp - 0x18], xmm1
call fcn.1003bd10
add esp, 4
test al, al
je 0x1003ff15
mov dword [ebp - 0x10], 0xd1c6caf5
xor ecx, ecx
mov dword [ebp - 0xc], 0x100d8cc
mov al, cl
sub al, 0x5b
xor byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, 6
jb 0x1003fbe5
push ecx
lea ecx, [ebp - 0x10]
mov byte [ebp - 9], 0
call fcn.1003d0a0
add esp, 4
test al, al
je 0x1003fc1a
mov ecx, dword [0x100bb5b4]
lea ecx, [ecx + 5]
call fcn.10055f40
call fcn.1003d110
mov dword [ebp - 0x10], 0xc1cfc3f3
xor ecx, ecx
mov dword [ebp - 0xc], 0xcec6ca
mov byte [ebp - 8], 1
nop
mov al, cl
sub al, 0x5b
xor byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, 7
jb 0x1003fc30
push ecx
lea ecx, [ebp - 0x10]
mov byte [ebp - 8], 0
call fcn.1003d0a0
add esp, 4
test al, al
je 0x1003fc65
mov ecx, dword [0x100bb5b4]
lea ecx, [ecx + 5]
call fcn.100579e0
call fcn.1003d110
mov dword [ebp - 0x10], 0xd8c6c3f2
xor ecx, ecx
mov dword [ebp - 0xc], 0x100c4c6
mov al, cl
sub al, 0x5b
xor byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, 6
jb 0x1003fc75
push ecx
lea ecx, [ebp - 0x10]
mov byte [ebp - 9], 0
call fcn.1003d0a0
add esp, 4
test al, al
je 0x1003fcaa
mov ecx, dword [0x100bb5b4]
lea ecx, [ecx + 5]
call fcn.100587e0
call fcn.1003d110
mov dword [ebp - 0xc], 0xf7f5e0
xor ecx, ecx
mov byte [ebp - 8], 1
mov al, cl
sub al, 0x5b
xor byte [ebp + ecx - 0xc], al
inc ecx
cmp ecx, 3
jb 0x1003fcb7
push ecx
lea ecx, [ebp - 0xc]
mov byte [ebp - 8], 0
call fcn.1003d0a0
add esp, 4
test al, al
je 0x1003fcec
mov ecx, dword [0x100bb5b4]
lea ecx, [ecx + 5]
call fcn.10053620
call fcn.1003d110
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xcdcbc3f1
mov dword [ebp - 0xc], 0xd8d9c5d9
mov word [ebp - 8], pe_nt_image_headers32
call fcn.1003ff60
push ecx
mov ecx, eax
call fcn.1003d0a0
add esp, 4
test al, al
je 0x1003fd2a
mov ecx, dword [0x100bb5b4]
add ecx, 5
call fcn.10056f20
call fcn.1003d110
mov dword [ebp - 0xc], 0xcbd4cfe8
movd xmm0, dword [ebp - 0xc]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
push ecx
xorps xmm0, xmmword [0x100b17f0]
lea ecx, [ebp - 0xc]
andps xmm0, xmmword [0x100b0820]
packuswb xmm0, xmm0
packuswb xmm0, xmm0
mov word [ebp - 8], 0
movd dword [ebp - 0xc], xmm0
call fcn.1003d0a0
add esp, 4
test al, al
je 0x1003fd87
mov ecx, dword [0x100bb5b4]
lea ecx, [ecx + 5]
call fcn.10054dc0
call fcn.1003d110
mov dword [ebp - 0x10], 0xcec9c9e6
xor ecx, ecx
mov dword [ebp - 0xc], 0x100cdc0
mov al, cl
sub al, 0x5b
xor byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, 6
jb 0x1003fd97
push ecx
lea ecx, [ebp - 0x10]
mov byte [ebp - 9], 0
call fcn.1003d0a0
add esp, 4
test al, al
je 0x1003fdcc
mov ecx, dword [0x100bb5b4]
lea ecx, [ecx + 5]
call fcn.10047900
call fcn.1003d110
mov edi, dword [0x100bb5a0]
mov ebx, dword [edi + 0x19ac]
cmp byte [ebx + 0x7f], 0
jne 0x1003ff15
mov esi, dword [edi + 0x1db8]
test esi, esi
jne 0x1003fe0d
push 0x18e1
push str.C:Users1_source_reposgamesnusSnusHack_RemasteredSnusHack_RemasteredImGuiimgui_widgets.cpp
push str.tab_bar___0___Mismatched_BeginTabBar___EndTabBar____
call fcn.1006e577
add esp, 0xc
call fcn.1001b110
jmp 0x1003ff22
cmp byte [esi + 0x5c], 0
je 0x1003fe1a
mov ecx, esi
call fcn.1003bf70
cmp byte [esi + 0x5d], 0
jne 0x1003fe46
cmp dword [esi + 0x18], 0
je 0x1003fe46
mov eax, dword [esi + 0x20]
inc eax
cmp eax, dword [edi + 0x1960]
jl 0x1003fe46
movss xmm0, dword [esi + 0x34]
addss xmm0, dword [esi + 0x30]
movss dword [ebx + 0xcc], xmm0
jmp 0x1003fe60
movss xmm0, dword [ebx + 0xcc]
subss xmm0, dword [esi + 0x30]
maxss xmm0, dword [0x100b0498]
movss dword [esi + 0x34], xmm0
test dword [esi + 0x50], 0x100000
jne 0x1003fe6e
call fcn.1001c450
cmp dword [edi + 0x1dbc], 0
jg 0x1003fe8e
push 0x4ee
push str.C:Users1_source_reposgamesnusSnusHack_RemasteredSnusHack_RemasteredImGuiimgui.h
push str.Size___0
call fcn.1006e577
add esp, 0xc
mov eax, dword [edi + 0x1dbc]
add eax, 0xffffffff
mov dword [edi + 0x1dbc], eax
jne 0x1003feae
xor eax, eax
mov dword [edi + 0x1db8], eax
call fcn.1001b110
jmp 0x1003ff22
test eax, eax
jg 0x1003fec9
push 0x4e3
push str.C:Users1_source_reposgamesnusSnusHack_RemasteredSnusHack_RemasteredImGuiimgui.h
push str.Size___0
call fcn.1006e577
add esp, 0xc
mov esi, dword [edi + 0x1dbc]
mov ecx, dword [edi + 0x1dc4]
mov eax, dword [ecx + esi*8 - 8]
test eax, eax
jne 0x1003ff0f
mov ebx, dword [0x100bb5a0]
mov esi, dword [ecx + esi*8 - 4]
cmp esi, dword [ebx + 0x1d9c]
jl 0x1003ff06
push 0x4d9
push str.C:Users1_source_reposgamesnusSnusHack_RemasteredSnusHack_RemasteredImGuiimgui.h
push str.i___Size
call fcn.1006e577
add esp, 0xc
imul eax, esi, 0x74
add eax, dword [ebx + 0x1da4]
mov dword [edi + 0x1db8], eax
call fcn.1001b110
jmp 0x1003ff22
mov dword [ecx], 0
call fcn.10015960
call fcn.10015cb0
mov ecx, dword [0x100bb5a0]
xor eax, eax
add ecx, 0x1bdc
cmp byte [ecx], al
cmove ecx, eax
call fcn.10030be0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1005cac0
mov esp, ebp
pop ebp
ret