Function at 0x10028120
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x28
push esi
push edi
mov edi, dword [0x100a1be4]
mov esi, edi
mov cl, byte [esi + 8]
and cl, 1
mov byte [esi + 0x35b], 0
test byte [esi + 8], 2
mov byte [ebp - 2], cl
je 0x100281af
test byte [esi + 0xc], 1
je 0x100281af
movss xmm0, dword [esi + 0x304]
lea eax, [esi + 0x304]
xorps xmm1, xmm1
mov byte [ebp - 1], 1
comiss xmm0, xmm1
mov dword [ebp - 8], eax
ja 0x100281a3
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x100281a3
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x100281a3
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
jbe 0x100281bc
mov dword [esi + 0x1b54], 4
jmp 0x100281b9
mov byte [ebp - 1], 0
lea eax, [esi + 0x304]
mov dword [ebp - 8], eax
test cl, cl
je 0x10028465
mov eax, dword [esi + 0x64]
mov dword [ebp - 0xc], eax
test eax, eax
js 0x10028217
mov ecx, edi
cmp eax, 0x200
jl 0x100281f9
push 0x1113
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.user_key_index___0__user_key_index_____int__sizeof_g.IO.KeysDown____sizeof_g.IO.KeysDown___
call fcn.100679c3
mov edi, dword [0x100a1be4]
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov ecx, esi
mov al, byte [ecx + eax + 0x104]
test al, al
je 0x10028217
mov eax, dword [ebp - 8]
mov dword [eax], 0x3f800000
mov dword [esi + 0x1b54], 3
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x14], eax
test eax, eax
js 0x1002826f
mov ecx, edi
mov dword [ebp - 0xc], ecx
cmp eax, 0x200
jl 0x10028250
push 0x1113
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.user_key_index___0__user_key_index_____int__sizeof_g.IO.KeysDown____sizeof_g.IO.KeysDown___
call fcn.100679c3
mov edi, dword [0x100a1be4]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + eax + 0x104]
test al, al
je 0x1002826f
mov dword [esi + 0x30c], 0x3f800000
mov dword [esi + 0x1b54], 3
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0x14], eax
test eax, eax
js 0x100282c7
mov ecx, edi
mov dword [ebp - 0xc], ecx
cmp eax, 0x200
jl 0x100282a8
push 0x1113
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.user_key_index___0__user_key_index_____int__sizeof_g.IO.KeysDown____sizeof_g.IO.KeysDown___
call fcn.100679c3
mov edi, dword [0x100a1be4]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + eax + 0x104]
test al, al
je 0x100282c7
mov dword [esi + 0x308], 0x3f800000
mov dword [esi + 0x1b54], 3
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x14], eax
test eax, eax
js 0x1002831f
mov ecx, edi
mov dword [ebp - 0xc], ecx
cmp eax, 0x200
jl 0x10028300
push 0x1113
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.user_key_index___0__user_key_index_____int__sizeof_g.IO.KeysDown____sizeof_g.IO.KeysDown___
call fcn.100679c3
mov edi, dword [0x100a1be4]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + eax + 0x104]
test al, al
je 0x1002831f
mov dword [esi + 0x348], 0x3f800000
mov dword [esi + 0x1b54], 3
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x14], eax
test eax, eax
js 0x10028377
mov ecx, edi
mov dword [ebp - 0xc], ecx
cmp eax, 0x200
jl 0x10028358
push 0x1113
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.user_key_index___0__user_key_index_____int__sizeof_g.IO.KeysDown____sizeof_g.IO.KeysDown___
call fcn.100679c3
mov edi, dword [0x100a1be4]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + eax + 0x104]
test al, al
je 0x10028377
mov dword [esi + 0x34c], 0x3f800000
mov dword [esi + 0x1b54], 3
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x14], eax
test eax, eax
js 0x100283cf
mov ecx, edi
mov dword [ebp - 0xc], ecx
cmp eax, 0x200
jl 0x100283b0
push 0x1113
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.user_key_index___0__user_key_index_____int__sizeof_g.IO.KeysDown____sizeof_g.IO.KeysDown___
call fcn.100679c3
mov edi, dword [0x100a1be4]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + eax + 0x104]
test al, al
je 0x100283cf
mov dword [esi + 0x350], 0x3f800000
mov dword [esi + 0x1b54], 3
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x14], eax
test eax, eax
js 0x10028427
mov ecx, edi
mov dword [ebp - 0xc], ecx
cmp eax, 0x200
jl 0x10028408
push 0x1113
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.user_key_index___0__user_key_index_____int__sizeof_g.IO.KeysDown____sizeof_g.IO.KeysDown___
call fcn.100679c3
mov edi, dword [0x100a1be4]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + eax + 0x104]
test al, al
je 0x10028427
mov dword [esi + 0x354], 0x3f800000
mov dword [esi + 0x1b54], 3
mov al, byte [esi + 0x100]
test al, al
je 0x1002843b
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0x101], 0
je 0x1002844e
mov dword [esi + 0x340], 0x3f800000
cmp byte [esi + 0x102], 0
je 0x10028465
test al, al
jne 0x10028465
mov dword [esi + 0x344], 0x3f800000
movups xmm0, xmmword [esi + 0x1460]
mov eax, dword [esi + 0x14b0]
lea ecx, [esi + 0x1460]
movss xmm2, dword [0x10094604]
xorps xmm1, xmm1
movups xmmword [esi + 0x14b4], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x14c4], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [esi + 0x14d4], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [esi + 0x14e4], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [esi + 0x14f4], xmm0
mov dword [esi + 0x1504], eax
mov eax, 0x15
movss xmm0, dword [ecx - 0x115c]
comiss xmm0, xmm1
jbe 0x100284e3
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x100284dc
movaps xmm0, xmm1
jmp 0x100284e6
addss xmm0, dword [esi + 0x18]
jmp 0x100284e6
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x100284c1
mov ecx, dword [esi + 0x1b7c]
test ecx, ecx
je 0x10028586
cmp byte [esi + 0x1b76], al
je 0x10028510
cmp byte [esi + 0x1b7a], al
je 0x10028586
cmp dword [esi + 0x1b28], 0
je 0x10028586
cmp byte [esi + 0x1b7a], 0
mov eax, dword [esi + 0x1b6c]
mov edx, eax
mov dword [ebp - 0x14], eax
push 0
je 0x10028562
call fcn.10027280
mov eax, dword [ebp - 0x14]
add esp, 4
movups xmm0, xmmword [esi + 0x1b80]
add eax, 0x31
shl eax, 4
add eax, dword [edi + 0x1b28]
movups xmmword [eax], xmm0
mov word [edi + 0x1b75], 1
mov byte [edi + 0x1b77], 1
jmp 0x1002856a
call fcn.10027280
add esp, 4
mov eax, dword [esi + 0x1b6c]
movups xmm0, xmmword [esi + 0x1b80]
add eax, 0x31
shl eax, 4
add eax, dword [esi + 0x1b28]
movups xmmword [eax], xmm0
mov al, byte [esi + 0x1b91]
mov word [esi + 0x1b79], 0
mov dword [esi + 0x1b7c], 0
mov dword [esi + 0x1b48], 0
test al, al
je 0x100285b8
call fcn.10029360
mov al, byte [esi + 0x1b91]
cmp dword [esi + 0x1b98], 2
jne 0x100285ff
test al, al
jne 0x100285dc
push 0x20ee
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavMoveRequest
call fcn.100679c3
add esp, 0xc
cmp dword [esi + 0x1bac], 0
jne 0x100285f5
cmp dword [esi + 0x1bfc], 0
jne 0x100285f5
mov byte [esi + 0x1b76], 0
mov dword [esi + 0x1b98], 0
cmp byte [esi + 0x1b75], 0
je 0x10028677
cmp byte [esi + 0x1b74], 0
je 0x10028677
test byte [esi + 8], 4
je 0x10028670
test byte [esi + 0xc], 4
je 0x10028670
cmp byte [esi + 0x1b76], 0
jne 0x10028670
cmp byte [esi + 0x1b77], 0
je 0x10028670
cmp dword [esi + 0x1b28], 0
je 0x10028670
lea ecx, [ebp - 0x18]
call fcn.10027e80
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esi + 0x384], xmm0
movss dword [esi + 0x388], xmm1
movss dword [esi + 0xe8], xmm0
movss dword [esi + 0xec], xmm1
mov byte [esi + 0x35b], 1
mov byte [esi + 0x1b75], 0
mov eax, dword [esi + 0x1b6c]
mov byte [esi + 0x1b74], 0
mov dword [esi + 0x1b44], 0
test eax, eax
je 0x100286ae
cmp eax, 1
je 0x100286ae
push 0x2104
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavLayer__0__g.NavLayer__1
call fcn.100679c3
add esp, 0xc
mov edx, dword [esi + 0x1b28]
test edx, edx
je 0x100286e5
mov ecx, edx
nop word [eax + eax]
mov eax, dword [ecx + 8]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x100286db
mov ecx, dword [ecx + 0x2f4]
test ecx, ecx
jne 0x100286c0
jmp 0x100286e5
cmp ecx, edx
je 0x100286e5
mov dword [ecx + 0x304], edx
mov eax, dword [esi + 0x1b28]
test eax, eax
je 0x1002870b
cmp dword [eax + 0x304], 0
je 0x1002870b
cmp dword [esi + 0x1b6c], 0
jne 0x1002870b
mov dword [eax + 0x304], 0
call fcn.10029ad0
cmp byte [ebp - 2], 0
jne 0x1002871c
cmp byte [ebp - 1], 0
je 0x10028795
mov eax, dword [esi + 0x1b28]
test eax, eax
je 0x10028795
test dword [eax + 8], 0x40000
jne 0x10028795
cmp dword [esi + 0x1b2c], 0
mov byte [esi + 0x35d], 1
je 0x1002879c
cmp byte [esi + 0x1b76], 0
jne 0x1002879c
mov al, 1
mov edx, 1
mov byte [esi + 0x35e], al
mov ecx, edx
call fcn.10027fa0
comiss xmm0, dword [0x1009447c]
jbe 0x10028983
cmp dword [esi + 0x1a34], 0
je 0x100287a9
mov eax, dword [0x100a1be4]
mov eax, dword [eax + 0x1a4c]
shr eax, 1
test dl, al
jne 0x10028983
xor edx, edx
xor ecx, ecx
call fcn.1001c040
jmp 0x10028983
mov byte [esi + 0x35d], 0
cmp dword [esi + 0x1c20], 0
jne 0x10028748
xor al, al
jmp 0x1002874a
mov edi, dword [esi + 0x1b28]
test edi, edi
je 0x1002886d
mov eax, dword [edi + 8]
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1002886d
mov eax, dword [edi + 0x2f4]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1002886d
cmp dword [edi + 0x4c], 0
jne 0x100287fb
push 0x2120
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.child_window__ChildId___0
call fcn.100679c3
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov ecx, eax
call fcn.100241c0
mov ecx, dword [edi + 0x4c]
mov edi, dword [0x100a1be4]
mov dword [ebp - 0x14], ecx
cmp dword [edi + 0x1b28], 0
jne 0x10028831
push 0x1ee4
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavWindow
call fcn.100679c3
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov eax, dword [edi + 0x1b28]
mov dword [edi + 0x1b2c], ecx
mov dword [edi + 0x1b30], 0
mov dword [eax + 0x308], ecx
cmp byte [esi + 0x1b77], 0
mov byte [esi + 0x1b74], 0
je 0x10028983
mov byte [esi + 0x1b75], 1
jmp 0x10028983
mov edx, dword [esi + 0x1b10]
test edx, edx
jle 0x100288a0
mov eax, dword [esi + 0x1b18]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 8], 0x8000000
jne 0x10028983
lea ecx, [edx - 1]
mov dl, 1
call fcn.100266c0
jmp 0x10028983
cmp dword [esi + 0x1b6c], 0
je 0x10028950
mov edi, dword [0x100a1be4]
mov ecx, dword [edi + 0x1b28]
mov dword [edi + 0x1b6c], 0
mov eax, dword [ecx + 0x304]
test eax, eax
cmovne ecx, eax
mov dword [edi + 0x1b28], ecx
mov dword [ebp - 0x14], ecx
mov edx, dword [ecx + 0x308]
mov dword [ebp - 0xc], edx
test edx, edx
je 0x10028947
test ecx, ecx
jne 0x10028905
push 0x1ee4
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavWindow
call fcn.100679c3
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov edx, dword [ebp - 0xc]
mov eax, dword [edi + 0x1b28]
mov dword [edi + 0x1b2c], edx
mov dword [edi + 0x1b30], 0
mov dword [eax + 0x308], edx
movups xmm0, xmmword [ecx + 0x310]
mov eax, dword [edi + 0x1b28]
movups xmmword [eax + 0x310], xmm0
mov word [edi + 0x1b75], 1
mov byte [edi + 0x1b77], 1
jmp 0x10028983
mov dl, 1
call fcn.10027d10
jmp 0x10028983
test edi, edi
je 0x1002896f
mov eax, dword [edi + 8]
test eax, 0x4000000
jne 0x10028965
test eax, 0x1000000
jne 0x1002896f
mov dword [edi + 0x308], 0
mov dword [esi + 0x1b30], 0
mov dword [esi + 0x1b2c], 0
mov edi, dword [esi + 0x1b2c]
mov dword [esi + 0x1b40], 0
mov dword [esi + 0x1b3c], 0
mov dword [esi + 0x1b38], 0
mov dword [esi + 0x1b34], 0
test edi, edi
je 0x10028a90
cmp byte [esi + 0x1b76], 0
jne 0x10028a90
cmp dword [esi + 0x1c20], 0
jne 0x10028a90
mov eax, dword [esi + 0x1b28]
test eax, eax
je 0x10028a90
test dword [eax + 8], 0x40000
jne 0x10028a90
mov eax, dword [0x100a1be4]
xorps xmm5, xmm5
movss xmm0, dword [eax + 0x304]
comiss xmm0, xmm5
seta al
mov byte [ebp - 1], al
test al, al
je 0x10028a1c
mov edx, 1
xor ecx, ecx
call fcn.10027fa0
comiss xmm0, xmm5
ja 0x10028a1e
xor dl, dl
mov ecx, dword [esi + 0x1a34]
test ecx, ecx
jne 0x10028a34
test dl, dl
je 0x10028a38
mov dword [esi + 0x1b34], edi
jmp 0x10028a38
cmp ecx, edi
jne 0x10028a4e
cmp byte [ebp - 1], 0
je 0x10028a4a
mov eax, dword [esi + 0x1b2c]
mov dword [esi + 0x1b38], eax
test ecx, ecx
je 0x10028a56
cmp ecx, dword [esi + 0x1b2c]
jne 0x10028a90
test dl, dl
je 0x10028a66
mov eax, dword [esi + 0x1b2c]
mov dword [esi + 0x1b3c], eax
test ecx, ecx
je 0x10028a72
cmp ecx, dword [esi + 0x1b2c]
jne 0x10028a90
mov edx, 1
lea ecx, [edx + 1]
call fcn.10027fa0
comiss xmm0, xmm5
jbe 0x10028a90
mov eax, dword [esi + 0x1b2c]
mov dword [esi + 0x1b40], eax
mov eax, dword [esi + 0x1b28]
test eax, eax
je 0x10028aaa
test dword [eax + 8], 0x40000
je 0x10028aaa
mov byte [esi + 0x1b76], 1
mov eax, dword [esi + 0x1b34]
test eax, eax
je 0x10028ad3
cmp dword [esi + 0x1b38], eax
je 0x10028ad3
push 0x214e
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavActivateDownId__g.NavActivateId
call fcn.100679c3
add esp, 0xc
mov eax, dword [esi + 0x1b50]
mov byte [esi + 0x1b91], 0
test eax, eax
je 0x10028afc
mov dword [esi + 0x1b40], eax
mov dword [esi + 0x1b3c], eax
mov dword [esi + 0x1b38], eax
mov dword [esi + 0x1b34], eax
cmp dword [esi + 0x1b98], 0
mov dword [esi + 0x1b50], 0
jne 0x10028c6b
mov eax, dword [esi + 0x1b28]
or edi, 0xffffffff
mov dword [esi + 0x1b9c], 0xffffffff
mov dword [esi + 0x1b94], 0
test eax, eax
je 0x10028c5b
or edi, edi
cmp dword [esi + 0x1c20], 0
jne 0x10028c5b
or edi, 0xffffffff
test dword [eax + 8], 0x40000
jne 0x10028c5b
mov eax, dword [0x100a1be4]
or edi, edi
test byte [eax + 0x1a48], 1
jne 0x10028c63
mov edx, 3
lea ecx, [edx + 1]
call fcn.10027fa0
xorps xmm5, xmm5
comiss xmm0, xmm5
ja 0x10028b90
lea ecx, [edx + 0xe]
or edi, 0xffffffff
call fcn.10027fa0
comiss xmm0, xmm5
jbe 0x10028b9c
mov dword [esi + 0x1b9c], 0
xor edi, edi
mov eax, dword [0x100a1be4]
mov eax, dword [eax + 0x1a48]
shr eax, 1
test al, 1
jne 0x10028bdb
mov edx, 3
lea ecx, [edx + 2]
call fcn.10027fa0
comiss xmm0, xmm5
ja 0x10028bcc
lea ecx, [edx + 0xf]
call fcn.10027fa0
comiss xmm0, xmm5
jbe 0x10028bdb
mov dword [esi + 0x1b9c], 1
mov edi, 1
mov eax, dword [0x100a1be4]
mov eax, dword [eax + 0x1a48]
shr eax, 2
test al, 1
jne 0x10028c1b
mov edx, 3
lea ecx, [edx + 3]
call fcn.10027fa0
comiss xmm0, xmm5
ja 0x10028c0c
lea ecx, [edx + 0x10]
call fcn.10027fa0
comiss xmm0, xmm5
jbe 0x10028c1b
mov dword [esi + 0x1b9c], 2
mov edi, 2
mov eax, dword [0x100a1be4]
mov eax, dword [eax + 0x1a48]
shr eax, 3
test al, 1
jne 0x10028c5b
mov edx, 3
lea ecx, [edx + 4]
call fcn.10027fa0
comiss xmm0, xmm5
ja 0x10028c4c
lea ecx, [edx + 0x11]
call fcn.10027fa0
comiss xmm0, xmm5
jbe 0x10028c5b
mov dword [esi + 0x1b9c], 3
mov edi, 3
mov dword [esi + 0x1ba4], edi
jmp 0x10028cbe
xorps xmm5, xmm5
jmp 0x10028ba1
cmp dword [esi + 0x1b9c], 0xffffffff
je 0x10028c7d
cmp dword [esi + 0x1ba4], 0xffffffff
jne 0x10028c94
push 0x2169
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavMoveDir___ImGuiDir_None__g.NavMoveClipDir___ImGuiDir_None
call fcn.100679c3
add esp, 0xc
cmp dword [esi + 0x1b98], 1
je 0x10028cb4
push 0x216a
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavMoveRequestForward__ImGuiNavForward_ForwardQueued
call fcn.100679c3
add esp, 0xc
mov dword [esi + 0x1b98], 2
cmp byte [ebp - 2], 0
xorps xmm0, xmm0
movss dword [ebp - 0xc], xmm0
je 0x10028cd6
call fcn.100295c0
movss dword [ebp - 0xc], xmm0
mov eax, dword [esi + 0x1b9c]
cmp eax, 0xffffffff
je 0x10028cee
mov byte [esi + 0x1b91], 1
mov dword [esi + 0x1ba0], eax
cmp byte [esi + 0x1b91], 0
je 0x10028d1a
cmp dword [esi + 0x1b2c], 0
jne 0x10028d1a
mov word [esi + 0x1b79], 0x101
mov dword [esi + 0x1b7c], 0
mov byte [esi + 0x1b76], 0
mov eax, dword [0x100a1be4]
cmp byte [eax + 0x1b91], 0
jne 0x10028d3a
cmp byte [eax + 0x1b79], 0
jne 0x10028d3a
mov byte [eax + 0x1b78], 0
jmp 0x10028d61
cmp dword [eax + 0x1b28], 0
mov byte [eax + 0x1b78], 1
jne 0x10028d61
push 0x2058
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str.g.NavWindow___0
call fcn.100679c3
add esp, 0xc
mov edi, dword [esi + 0x1b28]
movss xmm2, dword [0x100944e0]
test edi, edi
je 0x10028f6c
test dword [edi + 8], 0x40000
jne 0x10028f6c
cmp dword [esi + 0x1c20], 0
jne 0x10028f6c
mov eax, dword [0x100a1be4]
movss xmm0, dword [eax + 0x18d4]
mov eax, dword [edi + 0x2f4]
mulss xmm0, dword [edi + 0x270]
test eax, eax
je 0x10028db8
mulss xmm0, dword [eax + 0x270]
cmp dword [edi + 0x13c], 0
mulss xmm0, dword [0x1009459c]
mulss xmm0, dword [esi + 0x18]
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 8], xmm1
jne 0x10028e83
cmp byte [edi + 0x149], 0
je 0x10028e83
cmp byte [esi + 0x1b91], 0
je 0x10028e83
mov eax, dword [esi + 0x1b9c]
test eax, eax
je 0x10028e19
cmp eax, 1
jne 0x10028e41
movss xmm0, dword [0x10094518]
jmp 0x10028e21
movss xmm0, dword [0x10094604]
mulss xmm0, xmm1
mov dword [edi + 0x68], 0
addss xmm0, dword [edi + 0x50]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x60], xmm0
mov eax, dword [esi + 0x1b9c]
cmp eax, 2
je 0x10028e5b
cmp eax, 3
jne 0x10028e83
movss xmm0, dword [0x10094518]
jmp 0x10028e63
movss xmm0, dword [0x10094604]
mulss xmm0, xmm1
mov dword [edi + 0x6c], 0
addss xmm0, dword [edi + 0x54]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x64], xmm0
xor edx, edx
lea ecx, [edx + 9]
call fcn.10027fa0
lea ecx, [edx + 8]
movaps xmm7, xmm0
call fcn.10027fa0
subss xmm7, xmm0
xorps xmm5, xmm5
lea ecx, [edx + 0xb]
addss xmm7, xmm5
call fcn.10027fa0
lea ecx, [edx + 0xa]
movaps xmm6, xmm0
call fcn.10027fa0
mov eax, dword [0x100a1be4]
subss xmm6, xmm0
movss xmm1, dword [eax + 0x33c]
comiss xmm1, xmm5
addss xmm6, xmm5
jbe 0x10028ee0
mulss xmm7, dword [0x100944bc]
mulss xmm6, dword [0x100944bc]
mov eax, dword [0x100a1be4]
movss xmm0, dword [eax + 0x340]
comiss xmm0, xmm5
jbe 0x10028f02
mulss xmm7, dword [0x10094580]
mulss xmm6, dword [0x10094580]
movss xmm1, dword [ebp - 8]
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jnp 0x10028f38
cmp byte [edi + 0x78], dl
je 0x10028f38
mulss xmm7, xmm1
mov dword [edi + 0x68], edx
addss xmm7, dword [edi + 0x50]
cvttss2si eax, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x60], xmm0
mov byte [esi + 0x1b90], 1
movss xmm2, dword [0x100944e0]
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jnp 0x10028f6c
mulss xmm6, xmm1
mov dword [edi + 0x6c], edx
addss xmm6, dword [edi + 0x54]
cvttss2si eax, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x64], xmm0
mov byte [esi + 0x1b90], 1
mov dword [esi + 0x1ba8], 0
mov dword [esi + 0x1bb0], 0
mov dword [esi + 0x1bac], 0
mov dword [esi + 0x1bbc], 0x7f7fffff
mov dword [esi + 0x1bb8], 0x7f7fffff
mov dword [esi + 0x1bb4], 0x7f7fffff
mov dword [esi + 0x1bc0], 0
mov dword [esi + 0x1bc4], 0
mov dword [esi + 0x1bc8], 0
mov dword [esi + 0x1bcc], 0
mov dword [esi + 0x1bd0], 0
mov dword [esi + 0x1bd8], 0
mov dword [esi + 0x1bd4], 0
mov dword [esi + 0x1be4], 0x7f7fffff
mov dword [esi + 0x1be0], 0x7f7fffff
mov dword [esi + 0x1bdc], 0x7f7fffff
mov dword [esi + 0x1be8], 0
mov dword [esi + 0x1bec], 0
mov dword [esi + 0x1bf0], 0
mov dword [esi + 0x1bf4], 0
mov dword [esi + 0x1bf8], 0
mov dword [esi + 0x1c00], 0
mov dword [esi + 0x1bfc], 0
mov dword [esi + 0x1c0c], 0x7f7fffff
mov dword [esi + 0x1c08], 0x7f7fffff
mov dword [esi + 0x1c04], 0x7f7fffff
mov dword [esi + 0x1c10], 0
mov dword [esi + 0x1c14], 0
mov dword [esi + 0x1c18], 0
mov dword [esi + 0x1c1c], 0
cmp byte [esi + 0x1b91], 0
je 0x10029204
cmp byte [esi + 0x1b90], 0
je 0x10029204
mov edx, dword [esi + 0x1b6c]
test edx, edx
jne 0x10029204
mov ecx, dword [esi + 0x1b28]
movss xmm3, dword [0x10094518]
movss xmm7, dword [ecx + 0x1fc]
subss xmm7, dword [ecx + 0xc]
movss xmm5, dword [ecx + 0x204]
movss xmm6, dword [ecx + 0x208]
movss xmm4, dword [ecx + 0x200]
subss xmm5, dword [ecx + 0xc]
subss xmm6, dword [ecx + 0x10]
subss xmm4, dword [ecx + 0x10]
movss xmm0, dword [ecx + 0x310]
subss xmm7, xmm3
movss dword [ebp - 0x14], xmm0
addss xmm5, xmm3
addss xmm6, xmm3
subss xmm4, xmm3
comiss xmm0, xmm7
jb 0x10029147
movss xmm0, dword [ecx + 0x314]
comiss xmm0, xmm4
jb 0x10029147
comiss xmm5, dword [ecx + 0x318]
jb 0x10029147
comiss xmm6, dword [ecx + 0x31c]
jae 0x100291fd
mov eax, dword [0x100a1be4]
movss xmm1, dword [eax + 0x18d4]
mov eax, dword [ecx + 0x2f4]
mulss xmm1, dword [ecx + 0x270]
test eax, eax
je 0x1002916e
mulss xmm1, dword [eax + 0x270]
mulss xmm1, xmm2
lea eax, [edx + 0x31]
add eax, eax
movaps xmm3, xmm6
movaps xmm2, xmm5
subss xmm3, xmm4
subss xmm2, xmm7
movss xmm0, dword [ecx + eax*8 + 4]
minss xmm3, xmm1
minss xmm2, xmm1
movss xmm1, dword [ebp - 0x14]
xorps xmm3, xmmword [0x10094730]
xorps xmm2, xmmword [0x10094730]
subss xmm4, xmm3
subss xmm7, xmm2
addss xmm2, xmm5
addss xmm3, xmm6
maxss xmm0, xmm4
maxss xmm1, xmm7
movss dword [ecx + eax*8 + 4], xmm0
movss dword [ecx + eax*8], xmm1
movss xmm1, dword [ecx + eax*8 + 8]
movss xmm0, dword [ecx + eax*8 + 0xc]
minss xmm1, xmm2
minss xmm0, xmm3
movss dword [ecx + eax*8 + 8], xmm1
movss dword [ecx + eax*8 + 0xc], xmm0
mov dword [esi + 0x1b30], 0
mov dword [esi + 0x1b2c], 0
mov byte [esi + 0x1b90], 0
mov ecx, dword [esi + 0x1b28]
test ecx, ecx
je 0x10029246
mov eax, dword [esi + 0x1b6c]
add eax, 0x31
add eax, eax
movss xmm0, dword [ecx + eax*8]
comiss xmm0, dword [ecx + eax*8 + 8]
ja 0x10029246
movss xmm0, dword [ecx + eax*8 + 4]
comiss xmm0, dword [ecx + eax*8 + 0xc]
ja 0x10029246
movups xmm0, xmmword [ecx + eax*8]
lea eax, [ebp - 0x20]
movups xmmword [ebp - 0x20], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x20], xmm0
jmp 0x1002925b
lea eax, [ebp - 0x20]
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x20], xmm0
test ecx, ecx
je 0x10029299
movss xmm4, dword [ebp - 0x18]
movss xmm3, dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x1c]
addss xmm4, dword [ecx + 0xc]
addss xmm3, dword [ecx + 0x10]
addss xmm1, dword [ecx + 0xc]
addss xmm0, dword [ecx + 0x10]
movss dword [ebp - 0x18], xmm4
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x1c], xmm0
jmp 0x100292c0
mov eax, dword [0x100a1be4]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
movss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [eax + 0x14]
movss dword [ebp - 0x14], xmm0
movss xmm1, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
movups xmm0, xmmword [eax]
movaps xmm2, xmm1
movups xmmword [esi + 0x1b58], xmm0
addss xmm2, dword [esi + 0x1b5c]
addss xmm1, dword [esi + 0x1b64]
movss dword [esi + 0x1b5c], xmm2
movss dword [esi + 0x1b64], xmm1
movss xmm0, dword [esi + 0x1b58]
addss xmm0, dword [0x10094518]
minss xmm0, dword [esi + 0x1b60]
comiss xmm0, xmm0
movss dword [esi + 0x1b58], xmm0
movss dword [esi + 0x1b60], xmm0
ja 0x10029327
comiss xmm2, xmm1
jbe 0x1002933e
push 0x21bb
push str.D:MGREffectEditorEffectEditorimguiimgui.cpp
push str._g.NavScoringRectScreen.IsInverted__
call fcn.100679c3
add esp, 0xc
pop edi
mov dword [esi + 0x1b68], 0
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret