Function at 0x10058940
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007000c
mov eax, dword fs:[0]
push eax
sub esp, 0x374
mov eax, dword [0x1008d040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x1008dd05], 1
jne 0x10059323
cmp byte [0x100b6ddc], 1
je 0x100589be
cmp byte [0x100b6dc7], 1
je 0x100589be
cmp byte [0x1008dd06], 1
je 0x100589be
cmp byte [0x100b6dc6], 1
je 0x100589be
cmp byte [0x100b6ddd], 1
je 0x100589be
cmp byte [0x100b6dc5], 1
je 0x100589be
cmp byte [0x100b6dc4], 1
jne 0x10059323
mov ecx, dword [0x100b4e34]
mov eax, dword [ecx]
call dword [eax + 0xf4]
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov ebx, eax
push 4
push ebx
mov dword [ebp - 0x330], ebx
call esi
test eax, eax
jne 0x10059323
test ebx, ebx
je 0x10059323
xor edi, edi
mov dword [ebp - 0x324], edi
cmp dword [ebx + 0x18c], edi
jle 0x10059323
mov eax, dword [0x1008dcf8]
mov ecx, dword [eax]
call dword [0x1008dce4]
mov ecx, dword [ebx + 0x184]
push 4
mov dword [ebp - 0x32c], eax
mov ebx, dword [ecx + edi*4]
push ebx
call esi
test eax, eax
jne 0x1005930a
test ebx, ebx
je 0x1005930a
mov esi, dword [ebx + 0x10]
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10059304
test esi, esi
je 0x10059304
cmp dword [ebx + 0x40], eax
jne 0x10059304
cmp byte [ebx + 0x561], al
jne 0x10059304
mov ecx, dword [0x100b4e24]
lea edx, [ebp - 0x2fc]
push 1
push edx
push 8
mov eax, dword [ecx]
push dword [ebx + 0x10]
call dword [eax + 0x40]
movss xmm0, dword [ebp - 0x2f8]
lea eax, [ebp - 0x1e4]
addss xmm0, dword [0x100896fc]
push 0x2c
push 0
push eax
movss dword [ebp - 0x2f8], xmm0
subss xmm0, dword [0x10089750]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [ebp - 0x2fc]
movss dword [ebp - 0x310], xmm0
movss xmm0, dword [ebp - 0x2f4]
movss dword [ebp - 0x320], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x100b6d90]
xorps xmm0, xmm0
movss xmm1, dword [ebp - 0x2f8]
movlpd qword [ebp - 0x188], xmm0
movlpd qword [ebp - 0x170], xmm0
mov eax, dword [eax + 0x13c]
movlpd qword [ebp - 0x168], xmm0
movlpd qword [ebp - 0x160], xmm0
movlpd qword [ebp - 0x158], xmm0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x150], 0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x188], xmm0
mov eax, dword [eax + 0x18]
movss xmm0, dword [ebp - 0x310]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x174], eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x188]
unpcklps xmm0, xmm1
push eax
mov eax, dword [0x100b6dac]
movq qword [ebp - 0x2fc], xmm0
movq qword [ebp - 0x17c], xmm0
mov eax, dword [eax + 0x38]
call eax
movss xmm1, dword [0x10089788]
add esp, 0x14
movss xmm0, dword [0x1008d3d4]
mulss xmm0, xmm1
mov byte [ebp - 0x2fd], al
cvttss2si ecx, xmm0
movss xmm0, dword [0x1008d3d0]
mulss xmm0, xmm1
movzx edx, cl
shl edx, 8
cvttss2si ecx, xmm0
movss xmm0, dword [0x1008d3cc]
mulss xmm0, xmm1
movzx ecx, cl
or edx, ecx
shl edx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x1008d3c8]
mulss xmm0, xmm1
movzx eax, al
or edx, eax
shl edx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x1008d394]
mulss xmm0, xmm1
movzx eax, al
or edx, eax
mov dword [0x100b6dd4], edx
cvttss2si eax, xmm0
movzx ecx, al
shl ecx, 8
movss xmm0, dword [0x1008d390]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x1008d38c]
movzx eax, al
or ecx, eax
mulss xmm0, xmm1
shl ecx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x1008d388]
movzx eax, al
or ecx, eax
mulss xmm0, xmm1
shl ecx, 8
cvttss2si eax, xmm0
movzx eax, al
or ecx, eax
cmp byte [0x1008d09a], 1
mov dword [0x100b6de0], ecx
jne 0x10058c63
cmp byte [ebp - 0x2fd], 0
cmove edx, ecx
mov eax, dword [0x100b6db4]
movss xmm0, dword [ebp - 0x2fc]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x2f8]
mov ecx, dword [eax]
mov dword [0x100b6dbc], edx
lea edx, [ebp - 0x1a0]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x2f4]
push edx
push eax
movss dword [ebp - 0x138], xmm0
call dword [ecx + 0xc0]
mov eax, dword [0x100b4e28]
mov esi, dword [sym.imp.d3dx9_43.dll_D3DXVec3Project]
mov ecx, dword [eax]
lea eax, [ecx + 0x3f50]
push eax
lea eax, [ecx + 0x3f90]
push eax
lea eax, [ecx + 0x3fd0]
push eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x11c]
push eax
call esi
movss xmm0, dword [0x10089698]
comiss xmm0, dword [ebp - 0x114]
jbe 0x10059304
mov eax, dword [0x100b6db4]
lea edx, [ebp - 0x1b8]
movss xmm0, dword [ebp - 0x310]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0x328]
mov ecx, dword [eax]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x320]
push edx
push eax
movss dword [ebp - 0x144], xmm0
call dword [ecx + 0xc0]
mov eax, dword [0x100b4e28]
mov ecx, dword [eax]
lea eax, [ecx + 0x3f50]
push eax
lea eax, [ecx + 0x3f90]
push eax
lea eax, [ecx + 0x3fd0]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x1f0]
push eax
call esi
movss xmm0, dword [0x10089698]
comiss xmm0, dword [ebp - 0x1e8]
jbe 0x10059304
movss xmm2, dword [ebp - 0x118]
movss xmm1, dword [ebp - 0x11c]
cvttss2si esi, xmm2
cvttss2si eax, xmm1
sub esi, 0xf
cmp byte [0x100b6ddc], 0
mov dword [ebp - 0x320], esi
mov dword [ebp - 0x310], eax
je 0x10058eb3
mov dword [ebp - 0x30c], 0x43504e
lea eax, [ebp - 0x30c]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x368]
call fcn.1006afe0
movd xmm0, dword [ebp - 0x310]
lea ecx, [ebp - 0x368]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 4], 1
sub esp, 8
mov edx, dword [0x100b6dbc]
movss xmm2, dword [0x10089714]
movss dword [ebp - 0x338], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x10089698]
movss dword [ebp - 0x334], xmm0
push dword [ebp - 0x334]
push dword [ebp - 0x338]
call fcn.10053380
mov byte [ebp - 4], 0
add esp, 0x10
mov ecx, dword [ebp - 0x354]
cmp ecx, 0xf
jbe 0x10058e77
mov edx, dword [ebp - 0x368]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10058e6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005933f
push ecx
push edx
call fcn.1006ed62
add esp, 8
mov dword [ebp - 4], 0xffffffff
movss xmm1, dword [ebp - 0x11c]
movss xmm2, dword [ebp - 0x118]
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x354], 0xf
mov byte [ebp - 0x368], 0
mov dword [ebp - 0x30c], 0
cmp byte [0x1008dd06], 0
je 0x10058fde
mov eax, dword [0x100b6db8]
test eax, eax
jne 0x10058f2d
movaps xmm0, xmm2
xorps xmm3, xmm3
subss xmm0, dword [ebp - 0x1ec]
comiss xmm3, xmm0
jbe 0x10058ee4
mulss xmm0, dword [0x10089834]
push dword [0x100b6dbc]
cvttss2si edi, xmm0
cvttss2si ecx, xmm1
mov eax, edi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
lea eax, [edi + 6]
cvttss2si edx, xmm2
push ecx
push eax
lea eax, [esi + 6]
add ecx, 0xfffffffd
push eax
add edx, 0xfffffffd
call fcn.10055ef0
mov esi, dword [ebp - 0x320]
mov edi, dword [ebp - 0x324]
jmp 0x10058fdb
cmp eax, 1
jne 0x10058fde
mov eax, dword [0x100b6d90]
mov eax, dword [eax + 0x13c]
movq xmm0, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movq qword [ebp - 0x128], xmm0
movss xmm2, dword [ebp - 0x124]
movss xmm0, dword [ebp - 0x128]
subss xmm0, dword [ebp - 0x2fc]
subss xmm2, dword [ebp - 0x2f8]
mov dword [ebp - 0x120], eax
movss xmm1, dword [ebp - 0x120]
subss xmm1, dword [ebp - 0x2f4]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.10003f30
divss xmm0, dword [0x1008973c]
cvttss2si eax, dword [ebp - 0x1ec]
push dword [0x100b6dbc]
cvttss2si edx, dword [ebp - 0x118]
push ecx
cvttss2si ecx, dword [ebp - 0x11c]
movss dword [esp], xmm0
push eax
cvttss2si eax, dword [ebp - 0x1f0]
push eax
call fcn.10055ff0
add esp, 0x10
cmp byte [0x100b6ddd], 0
je 0x1005903e
mov word [ebp - 0x304], 0x5048
mov byte [ebp - 0x302], 0
mov dword [ebp - 4], 2
lea eax, [ebp - 0x304]
cvttss2si edx, dword [ebp - 0x11c]
push eax
movzx eax, word [ebx + 0x5d4]
push ecx
mov ecx, dword [0x100b6dbc]
push eax
push esi
sub edx, 0xd
call fcn.10055cf0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov word [ebp - 0x304], ax
mov byte [ebp - 0x302], al
cmp byte [0x100b6dc5], 0
je 0x100590a1
mov word [ebp - 0x308], 0x5041
mov byte [ebp - 0x306], 0
mov dword [ebp - 4], 3
lea eax, [ebp - 0x308]
cvttss2si edx, dword [ebp - 0x11c]
push eax
movzx eax, word [ebx + 0x5d4]
push ecx
mov ecx, dword [0x100b6dbc]
push eax
lea eax, [esi - 0xa]
push eax
sub edx, 0xd
call fcn.10055cf0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov word [ebp - 0x308], ax
mov byte [ebp - 0x306], al
cmp byte [0x100b6dc4], 0
je 0x100590b8
mov edx, dword [0x100b6dbc]
mov ecx, dword [ebx + 0x10]
call fcn.100567b0
mov eax, dword [ebp - 0x32c]
cmp byte [eax + 8], 0
jne 0x10059173
cmp byte [0x100b6dc7], 0
je 0x10059173
mov eax, dword [0x1008dcc0]
test eax, eax
jne 0x100590fb
push 0x10d1
push str.C:UsersPCDesktopVisual_StudioVisual_StudioImguiimgui.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 [0x1008dcc0]
add esp, 0xc
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x10]
mulss xmm1, dword [0x10089658]
mov ecx, dword [0x100b6dbc]
movss xmm3, dword [0x10089698]
movss dword [ebp - 0x344], xmm0
movss xmm0, dword [ebp - 0x1f0]
subss xmm1, dword [0x10089710]
movss dword [ebp - 0x340], xmm0
movss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x33c], xmm0
push dword [ebp - 0x33c]
movss dword [ebp - 0x348], xmm1
push dword [ebp - 0x340]
push dword [ebp - 0x344]
push dword [ebp - 0x348]
call fcn.100532e0
add esp, 0x10
cmp byte [0x100b6dc6], 0
je 0x10059304
mov eax, dword [0x100b6d90]
mov dword [ebp - 0x31c], 0x2e30255b
mov dword [ebp - 0x318], 0x4d206630
mov word [ebp - 0x314], 0x5d
mov eax, dword [eax + 0x13c]
movq xmm0, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movq qword [ebp - 0x134], xmm0
movss xmm2, dword [ebp - 0x130]
movss xmm0, dword [ebp - 0x134]
subss xmm0, dword [ebp - 0x2fc]
subss xmm2, dword [ebp - 0x2f8]
mov dword [ebp - 0x12c], eax
movss xmm1, dword [ebp - 0x12c]
subss xmm1, dword [ebp - 0x2f4]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.10003f30
divss xmm0, dword [0x10089760]
sub esp, 8
lea eax, [ebp - 0x31c]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.10021670
add esp, 0x10
mov word [ebp - 0x314], 0
lea eax, [ebp - 0x110]
xorps xmm0, xmm0
lea ecx, [ebp - 0x380]
movq qword [ebp - 0x31c], xmm0
push eax
call fcn.1006afe0
movd xmm0, dword [ebp - 0x310]
lea ecx, [ebp - 0x380]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 4], 4
sub esp, 8
mov edx, dword [0x100b6dbc]
movss xmm2, dword [0x10089714]
movss dword [ebp - 0x350], xmm0
movss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x34c], xmm0
push dword [ebp - 0x34c]
push dword [ebp - 0x350]
call fcn.10053380
mov dword [ebp - 4], 0xffffffff
add esp, 0x10
mov ecx, dword [ebp - 0x36c]
cmp ecx, 0xf
jbe 0x100592e9
mov edx, dword [ebp - 0x380]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100592df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005933f
push ecx
push edx
call fcn.1006ed62
add esp, 8
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x36c], 0xf
mov byte [ebp - 0x380], 0
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov ebx, dword [ebp - 0x330]
inc edi
mov dword [ebp - 0x324], edi
cmp edi, dword [ebx + 0x18c]
jl 0x10058a03
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006eb52
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3