Function at 0x100257e0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x30
push esi
push edi
mov edi, dword [0x10092c50]
mov dword [esp + 0x18], ecx
test edi, edi
je 0x10025c03
mov ecx, dword [0x10092ddc]
test ecx, ecx
je 0x1002580c
mov eax, dword [ecx]
call dword [eax + 8]
cmp byte [0x10092c4d], 0
je 0x10025961
call fcn.10025c30
movd xmm0, dword [0xc17044]
movss xmm1, dword [0x1008fab0]
movss xmm2, dword [0x100885a0]
movss xmm3, dword [0x10088370]
movd xmm4, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm4, xmm4
subss xmm1, xmm0
andps xmm1, xmm2
comiss xmm1, xmm3
ja 0x10025884
movss xmm0, dword [0x1008fab4]
subss xmm0, xmm4
andps xmm0, xmm2
comiss xmm0, xmm3
ja 0x10025884
movss xmm0, dword [0x1008fab8]
subss xmm0, dword [0x100883e8]
andps xmm0, xmm2
comiss xmm0, xmm3
jbe 0x100258b0
lea ecx, [esp + 0x20]
call fcn.10025470
mov dword [0x1008fab8], 0x3f800000
movss xmm0, dword [eax]
movss dword [0x1008fab0], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x1008fab4], xmm0
call fcn.10037ae0
mov eax, dword [0x10092c50]
test eax, eax
je 0x100258c7
mov esi, dword [eax + 0x74]
test esi, esi
jne 0x100258e5
jmp 0x100258c9
xor esi, esi
push 0x179
push str.C:UsersUserDocumentsDYOM_ImGUI_InputImGuiimgui_impl_dx9.cpp
push str.bd___nullptr___Did_you_call_ImGui_ImplDX9_Init____
call fcn.10060e17
mov eax, dword [0x10092c50]
add esp, 0xc
cmp dword [esi + 0xc], 0
jne 0x10025900
test eax, eax
je 0x10025900
mov eax, dword [eax + 0x74]
test eax, eax
je 0x10025900
cmp dword [eax], 0
je 0x10025900
call fcn.10036bd0
call fcn.1000c8f0
mov ecx, dword [0x10092db4]
test ecx, ecx
je 0x10025914
mov eax, dword [ecx]
call dword [eax + 8]
call fcn.1000e680
call fcn.1000eaf0
mov esi, dword [0x10092c50]
cmp dword [esi + 0x47e4], 0
jg 0x10025944
push 0x730
push str.C:UsersUserDocumentsDYOM_ImGUI_InputImGuiimgui.h
push str.i___0__i___Size
call fcn.10060e17
add esp, 0xc
mov eax, dword [esi + 0x47ec]
mov ecx, dword [eax]
xor eax, eax
add ecx, 0x38
cmp byte [ecx], al
cmove ecx, eax
call fcn.10036610
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x10092c4d], 1
call fcn.1000ac90
mov eax, dword [0x10092c50]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002599a
push 0xbd3
push str.C:UsersUserDocumentsDYOM_ImGUI_InputImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call fcn.10060e17
mov eax, dword [0x10092c50]
add esp, 0xc
mov dword [esp + 0x10], eax
mov ecx, dword [0xc17054]
mov ecx, dword [ecx]
call fcn.10036e60
mov ecx, 0x531155
call fcn.100506f0
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
call fcn.10048830
mov dword [esp + 0x2c], 5
mov esi, dword [eax]
lea eax, [esp + 0x30]
push eax
push 0x40
push 5
push esi
mov dword [esp + 0x38], esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
setne byte [esp + 0x34]
mov dword [esi], 0x90909090
mov byte [esi + 4], 0x90
cmp byte [esp + 0x34], 0
je 0x10025a15
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x14]
push ecx
push eax
push dword [esp + 0x34]
mov dword [esp + 0x20], eax
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x10092c50]
test eax, eax
jne 0x10025a3a
push 0x1093
push str.C:UsersUserDocumentsDYOM_ImGUI_InputImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call fcn.10060e17
mov eax, dword [0x10092c50]
add esp, 0xc
cmp dword [eax + 0x74], 0
lea esi, [eax + 8]
je 0x10025a5f
push 0x11c
push str.C:UsersUserDocumentsDYOM_ImGUI_InputImGuiimgui_impl_dx9.cpp
push str.io.BackendRendererUserData__nullptr___Already_initialized_a_renderer_backend__
call fcn.10060e17
mov eax, dword [0x10092c50]
add esp, 0xc
test eax, eax
je 0x10025a69
inc dword [eax + 0xb0]
push 0x18
call fcn.10060e98
add esp, 4
test eax, eax
je 0x10025aa2
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0x1388
mov dword [eax + 0x14], 0x2710
jmp 0x10025aa4
xor eax, eax
mov ecx, dword [esp + 0x18]
or dword [esi + 4], 8
mov dword [esi + 0x6c], eax
mov dword [esi + 0x64], str.imgui_impl_dx9
mov dword [eax], ecx
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
xor edx, edx
push ecx
lea ecx, [edx + 0xa]
call fcn.10038dc0
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add esp, 4
test eax, eax
je 0x10025b3f
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1009254c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10092e00]
cmp eax, dword [ecx + 4]
jle 0x10025b21
push 0x10092e00
call fcn.1005101f
add esp, 4
cmp dword [0x10092e00], 0xffffffff
jne 0x10025b21
push str.user32.dll
call esi
push 0x10092e00
mov dword [0x10092df4], eax
call fcn.10050fce
add esp, 4
push str.SetThreadDpiAwarenessContext
push dword [0x10092df4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10025b3f
push 0xfffffffffffffffc
call eax
jmp 0x10025bc0
mov edx, 3
push ecx
lea ecx, [edx + 3]
call fcn.10038dc0
add esp, 4
test eax, eax
je 0x10025bba
mov eax, dword [0x1009254c]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10092dfc]
cmp eax, dword [ecx + 4]
jle 0x10025b9f
push 0x10092dfc
call fcn.1005101f
add esp, 4
cmp dword [0x10092dfc], 0xffffffff
jne 0x10025b9f
push str.shcore.dll
call esi
push 0x10092dfc
mov dword [0x10092df8], eax
call fcn.10050fce
add esp, 4
push str.SetProcessDpiAwareness
push dword [0x10092df8]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10025bba
push 2
call eax
jmp 0x10025bc0
call dword [sym.imp.USER32.dll_SetProcessDPIAware]
mov eax, dword [esp + 0x10]
or dword [edi + 8], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [eax + 0x37a8], 0x3f000000
mov dword [eax + 0x37ac], 0x3f000000
mov eax, dword [0xc17054]
push 0x100253e0
push 0xfffffffffffffffc
push dword [eax]
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x10092de4], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret