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

Disassembly:
sub esp, 0x3c
mov eax, dword [0x10092c98]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push ebp
push esi
mov esi, dword [0x10093758]
push edi
test byte [esi + 8], 2
mov byte [esi + 0x95], 0
je 0x10018d89
test byte [esi + 0xc], 1
je 0x10018d89
movaps xmm0, xmmword [0x100804a0]
lea edi, [esp + 0x28]
movups xmmword [esp + 0x28], xmm0
mov dl, 1
movaps xmm0, xmmword [0x100804b0]
mov byte [esp + 0x10], dl
movups xmmword [esp + 0x38], xmm0
nop dword [eax]
push dword [edi]
call fcn.10015bb0
add esp, 4
test al, al
je 0x10018d78
mov dword [esi + 0x4828], 3
add edi, 4
lea eax, [esp + 0x48]
cmp edi, eax
jne 0x10018d60
mov al, byte [esp + 0x10]
jmp 0x10018d8f
xor al, al
mov byte [esp + 0x10], al
mov cl, byte [esi + 8]
movaps xmm0, xmmword [0x10080490]
and cl, 1
mov byte [esp + 0x12], cl
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x38], 0x201
mov dword [esp + 0x3c], 0x203
mov dword [esp + 0x40], 0x204
je 0x10018e56
lea ebx, [esp + 0x28]
mov edi, dword [ebx]
push edi
push dword [0x10093758]
mov byte [esp + 0x19], al
call fcn.100124a0
add esp, 8
cmp byte [eax], 0
je 0x10018e43
cmp edi, 0x200
jl 0x10018df5
cmp edi, 0x28c
jl 0x10018ffd
cmp edi, 0x1000
je 0x10018ffd
cmp edi, 0x2000
je 0x10018ffd
cmp edi, 0x4000
je 0x10018ffd
cmp edi, 0x8000
je 0x10018ffd
cmp edi, 0x800
je 0x10018ffd
mov dl, byte [esp + 0x11]
mov byte [esp + 0x10], dl
mov dword [esi + 0x4828], 2
mov al, byte [esp + 0x10]
add ebx, 4
lea ecx, [esp + 0x44]
cmp ebx, ecx
jne 0x10018dc7
cmp dword [esi + 0x4844], 0
mov dword [esi + 0x4814], 0
je 0x10018f30
mov edi, dword [0x10093758]
mov edx, dword [edi + 0x47f8]
test edx, edx
je 0x10018f30
mov ecx, dword [edi + 0x4844]
lea ebx, [edi + 0x4848]
cmp dword [edi + 0x47fc], ecx
je 0x10018ead
mov dword [edi + 0x4814], ecx
mov eax, dword [ebx]
mov dword [edi + 0x4818], eax
mov dword [edi + 0x481c], 0
test byte [edi + 0x5bbc], 8
je 0x10018ecd
push dword [edx + 4]
push dword [edi + 0x482c]
push ecx
push str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
call fcn.1000e9c0
add esp, 0x10
lea eax, [edi + 0x484c]
push eax
push dword [ebx]
push dword [edi + 0x482c]
push dword [edi + 0x4844]
call fcn.10021aa0
mov byte [edi + 0x4838], 1
add esp, 0x10
mov ecx, dword [edi + 0x4860]
mov eax, ecx
mov edx, dword [edi + 0x4864]
and eax, edx
cmp eax, 0xffffffff
je 0x10018f12
mov dword [edi + 0x4830], ecx
mov dword [edi + 0x4834], edx
cmp byte [edi + 0x483e], 0
je 0x10018f30
mov eax, dword [0x10093758]
mov word [eax + 0x4839], 1
mov byte [eax + 0x483b], 1
cmp byte [esi + 0x4878], 0
mov word [esi + 0x483d], 0
mov dword [esi + 0x4844], 0
je 0x10018f51
call fcn.10017b20
xor al, al
mov dword [esi + 0x48bc], 0
mov word [esi + 0x4878], 0
mov dword [esp + 0x20], eax
cmp byte [esi + 0x4839], al
je 0x10018fa0
cmp byte [esi + 0x4838], al
je 0x10018fa0
cmp byte [esi + 0x483a], al
jne 0x10018fa0
cmp byte [esi + 0x483b], al
je 0x10018fa0
cmp dword [esi + 0x47f8], 0
mov ecx, 1
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x482c]
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov byte [esi + 0x4839], 0
mov dword [esp + 0x14], edi
test eax, eax
je 0x10018fd4
cmp eax, 1
je 0x10018fd4
push 0x2cb6
push str.D:Projectm2extLibrariesimguiimgui.cpp
push str.g.NavLayer__ImGuiNavLayer_Main__g.NavLayer__ImGuiNavLayer_Menu
call edi
add esp, 0xc
mov ecx, dword [esi + 0x47f8]
test ecx, ecx
je 0x10019035
mov eax, ecx
cmp dword [eax + 0x300], eax
je 0x1001902b
test dword [eax + 0xc], 0x14000000
jne 0x1001902b
mov eax, dword [eax + 0x2f8]
test eax, eax
jne 0x10018fe0
jmp 0x10019035
push edi
push dword [0x10093758]
call fcn.10012670
mov cl, byte [esp + 0x19]
add esp, 8
mov dl, cl
mov byte [esp + 0x10], dl
cmp byte [eax + 8], 0
je 0x10018e39
mov al, cl
mov byte [esp + 0x10], al
jmp 0x10018e47
cmp eax, ecx
je 0x10019035
mov dword [eax + 0x310], ecx
mov bl, byte [esp + 0x10]
mov eax, dword [esi + 0x47f8]
mov bh, bl
test eax, eax
je 0x10019061
cmp dword [eax + 0x310], 0
je 0x10019061
cmp dword [esi + 0x482c], 0
jne 0x10019061
mov dword [eax + 0x310], 0
call fcn.1001a9a0
cmp byte [esp + 0x12], 0
jne 0x10019075
test bl, bl
je 0x100191cd
mov eax, dword [esi + 0x47f8]
test eax, eax
je 0x100191cd
test dword [eax + 0xc], 0x40000
jne 0x100191cd
mov byte [esi + 0x97], 1
mov bl, bh
cmp dword [esi + 0x47fc], 0
je 0x100191d4
cmp byte [esi + 0x483a], 0
lea ebp, [esi + 0x483a]
jne 0x100191d4
lea ecx, [esi + 0x49a8]
mov al, 1
mov dword [esp + 0x18], ecx
mov bh, bl
mov byte [esi + 0x98], al
mov byte [esp + 0x11], bh
call fcn.100197d0
cmp dword [esi + 0x47fc], 0
mov dword [esi + 0x480c], 0
mov dword [esi + 0x4808], 0
mov dword [esi + 0x4804], 0
mov dword [esi + 0x4810], 0
je 0x1001930f
cmp byte [esi + 0x483a], 0
lea edi, [esi + 0x483a]
mov ebp, edi
jne 0x1001930b
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x1001930b
mov eax, dword [esi + 0x47f8]
test eax, eax
je 0x1001930b
test dword [eax + 0xc], 0x40000
jne 0x1001930b
mov bh, byte [esp + 0x12]
mov eax, dword [0x10093758]
test bh, bh
je 0x10019167
cmp byte [eax + 0x2ea0], 0
je 0x10019167
cmp byte [eax + 0x3f80], 0
je 0x10019185
test bl, bl
je 0x100191ff
cmp byte [eax + 0x34c0], 0
je 0x100191ff
cmp byte [eax + 0x4418], 0
jne 0x100191ff
mov byte [esp + 0x13], 1
test bh, bh
je 0x100191a8
push 0
push 0
push 0x20c
call fcn.10015c20
add esp, 0xc
test al, al
jne 0x100191c1
mov eax, dword [0x10093758]
test bl, bl
je 0x10019204
push 0
push 0
push 0x26e
call fcn.10015c20
add esp, 0xc
test al, al
je 0x100191f8
mov eax, dword [0x10093758]
mov byte [esp + 0x10], 1
jmp 0x10019209
mov byte [esi + 0x97], 0
cmp dword [esi + 0x49a8], 0
lea ecx, [esi + 0x49a8]
mov dword [esp + 0x18], ecx
lea ebp, [esi + 0x483a]
jne 0x100190bf
xor al, al
jmp 0x100190c5
mov eax, dword [0x10093758]
jmp 0x10019204
mov byte [esp + 0x13], 0
mov byte [esp + 0x10], 0
test bh, bh
je 0x1001921f
cmp byte [eax + 0x2eb0], 0
je 0x1001921f
cmp byte [eax + 0x3f8c], 0
je 0x10019235
test bl, bl
je 0x10019270
cmp byte [eax + 0x34b0], 0
je 0x10019270
cmp byte [eax + 0x440c], 0
jne 0x10019270
cmp byte [esp + 0x12], 0
mov bh, 1
je 0x10019253
push 0
push 0
push 0x20d
call fcn.10015c20
add esp, 0xc
test al, al
jne 0x1001926c
test bl, bl
je 0x10019272
push 0
push 0
push 0x26d
call fcn.10015c20
add esp, 0xc
test al, al
je 0x10019272
mov dl, 1
jmp 0x10019274
xor bh, bh
xor dl, dl
mov ecx, dword [esi + 0x3eac]
mov dh, byte [esp + 0x10]
test ecx, ecx
jne 0x1001929e
test dh, dh
je 0x100192a6
mov eax, dword [esi + 0x47fc]
mov dword [esi + 0x4804], eax
mov dword [esi + 0x4810], 2
jmp 0x100192a6
cmp ecx, dword [esi + 0x47fc]
jne 0x10019307
test dl, dl
je 0x100192c0
mov eax, dword [esi + 0x47fc]
mov dword [esi + 0x4804], eax
mov dword [esi + 0x4810], 1
test ecx, ecx
je 0x100192cc
cmp ecx, dword [esi + 0x47fc]
jne 0x10019307
cmp byte [esp + 0x13], 0
jne 0x100192d7
test bh, bh
je 0x100192e3
mov eax, dword [esi + 0x47fc]
mov dword [esi + 0x4808], eax
test ecx, ecx
je 0x100192ef
cmp ecx, dword [esi + 0x47fc]
jne 0x10019307
test dh, dh
jne 0x100192f9
mov ebp, edi
test dl, dl
je 0x10019307
mov eax, dword [esi + 0x47fc]
mov ebp, edi
mov dword [esi + 0x480c], eax
mov bh, byte [esp + 0x11]
mov edi, dword [esp + 0x14]
mov eax, dword [esi + 0x47f8]
test eax, eax
je 0x10019326
test dword [eax + 0xc], 0x40000
je 0x10019326
mov byte [ebp], 1
mov eax, dword [esi + 0x4804]
test eax, eax
je 0x1001934c
cmp dword [esi + 0x4808], eax
je 0x1001934c
push 0x2ce3
push str.D:Projectm2extLibrariesimguiimgui.cpp
push str.g.NavActivateDownId__g.NavActivateId
call edi
add esp, 0xc
mov eax, dword [esi + 0x4820]
test eax, eax
je 0x10019374
mov dword [esi + 0x480c], eax
mov dword [esi + 0x4808], eax
mov dword [esi + 0x4804], eax
mov eax, dword [esi + 0x4824]
mov dword [esi + 0x4810], eax
mov dword [esi + 0x4820], 0
call fcn.10019a20
cmp dword [esi + 0x4888], 0xffffffff
jne 0x1001949d
mov edi, dword [0x10093758]
cmp dword [edi + 0x4888], 0xffffffff
mov eax, dword [edi + 0x47f8]
mov dword [esp + 0x1c], eax
je 0x100193c3
push 0x2dd8
push str.D:Projectm2extLibrariesimguiimgui.cpp
push str.g.NavMoveDir__ImGuiDir_None
call dword [esp + 0x20]
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x1001949d
cmp dword [edi + 0x49a8], 0
jne 0x1001949d
test dword [eax + 0xc], 0x40000
jne 0x1001949d
push 1
push 0xffffffffffffffff
push 0x200
call fcn.10015c20
add esp, 0xc
test al, al
je 0x1001949d
cmp byte [edi + 0xdd8], 0
jne 0x1001949d
cmp byte [edi + 0xdda], 0
jne 0x1001949d
test byte [edi + 8], 1
mov al, byte [edi + 0xdd9]
je 0x1001944a
test al, al
je 0x1001942d
or ecx, 0xffffffff
jmp 0x1001945e
cmp byte [edi + 0x483a], 1
jne 0x10019443
cmp dword [edi + 0x3eac], 0
jne 0x10019443
xor ecx, ecx
jmp 0x1001945e
mov ecx, 1
jmp 0x1001945e
test al, al
je 0x10019453
or ecx, 0xffffffff
jmp 0x1001945e
xor ecx, ecx
cmp dword [edi + 0x3eac], ecx
setne cl
mov edx, dword [esp + 0x1c]
mov eax, 3
mov dword [edi + 0x48b8], ecx
cmp byte [edx + 0xb0], 0
mov edx, 0x21
cmovne eax, edx
sar ecx, 0x1f
push eax
push 0x1400
add ecx, 3
push ecx
push 0xffffffffffffffff
call fcn.10018170
add esp, 0x10
mov dword [edi + 0x48bc], 0xffffffff
mov eax, dword [0x10093758]
cmp byte [eax + 0x4879], 0
jne 0x100194bd
cmp byte [eax + 0x483d], 0
jne 0x100194bd
mov byte [eax + 0x483c], 0
jmp 0x100194e5
cmp dword [eax + 0x47f8], 0
mov bl, bh
mov byte [eax + 0x483c], 1
jne 0x100194e5
push 0x2c35
push str.D:Projectm2extLibrariesimguiimgui.cpp
push str.g.NavWindow___0
call dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esi + 0x47f8]
mov byte [esi + 0x4838], 0
test ecx, ecx
je 0x100196f9
test dword [ecx + 0xc], 0x40000
jne 0x100196f9
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x100196f9
mov eax, dword [ecx]
movss xmm0, dword [eax + 0x3bd0]
mov eax, dword [ecx + 0x2f8]
mulss xmm0, dword [ecx + 0x25c]
test eax, eax
je 0x10019538
mulss xmm0, dword [eax + 0x25c]
cmp word [ecx + 0x14c], 0
xorps xmm4, xmm4
mulss xmm0, dword [0x100792b8]
mov edx, dword [esi + 0x4888]
movss xmm2, dword [0x10079268]
mulss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x10079260]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
jne 0x10019613
cmp byte [ecx + 0x152], 0
je 0x10019613
cmp edx, 0xffffffff
je 0x10019613
movss xmm1, dword [0x100792c0]
test edx, edx
je 0x100195a3
cmp edx, 1
jne 0x100195d6
movaps xmm0, xmm2
jmp 0x100195a6
movaps xmm0, xmm1
mulss xmm0, xmm3
mov dword [ecx + 0x90], 0
mov dword [ecx + 0x98], 0
addss xmm0, dword [ecx + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x88], xmm0
cmp edx, 2
je 0x100195e3
cmp edx, 3
jne 0x10019613
movaps xmm1, xmm2
mulss xmm1, xmm3
mov dword [ecx + 0x94], 0
mov dword [ecx + 0x9c], 0
addss xmm1, dword [ecx + 0x7c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x8c], xmm0
test bl, bl
je 0x100196f9
mov eax, dword [0x10093758]
cmp byte [eax + 0x3510], 0
movss xmm0, dword [eax + 0x358c]
movss xmm1, dword [eax + 0x35ac]
subss xmm0, dword [eax + 0x357c]
subss xmm1, dword [eax + 0x359c]
je 0x10019652
cmp byte [eax + 0x4454], 0
je 0x1001966e
cmp byte [eax + 0x3520], 0
je 0x10019676
cmp byte [eax + 0x4460], 0
jne 0x10019676
movss xmm2, dword [0x10079298]
jmp 0x10019676
movss xmm2, dword [0x1007924c]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x100196bc
cmp byte [ecx + 0xa8], 0
je 0x100196bc
mulss xmm0, xmm3
mov dword [ecx + 0x90], 0
mov dword [ecx + 0x98], 0
mulss xmm0, xmm2
addss xmm0, dword [ecx + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x88], xmm0
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100196f9
mulss xmm1, xmm3
mov dword [ecx + 0x94], 0
mov dword [ecx + 0x9c], 0
mulss xmm1, xmm2
addss xmm1, dword [ecx + 0x7c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x8c], xmm0
cmp byte [esp + 0x12], 0
jne 0x10019710
test bl, bl
jne 0x10019710
mov byte [ebp], 1
mov byte [esi + 0x483b], bl
jmp 0x10019760
cmp byte [esp + 0x20], 0
je 0x10019760
test byte [esi + 8], 4
je 0x10019760
test byte [esi + 0xc], 4
je 0x10019760
lea eax, [esp + 0x20]
push eax
call fcn.100177b0
add esp, 4
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esi + 0x36a4], xmm0
movss dword [esi + 0x36a8], xmm1
movss dword [esi + 0xdbc], xmm0
movss dword [esi + 0xdc0], xmm1
mov byte [esi + 0x95], 1
mov ecx, dword [esp + 0x48]
pop edi
mov dword [esi + 0x48b4], 0
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10073e26
add esp, 0x3c
ret