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

Disassembly:
sub esp, 0x3c
mov eax, dword [0x1008d470]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push ebp
push esi
mov esi, dword [0x1008df28]
push edi
test byte [esi + 8], 2
mov byte [esi + 0x95], 0
je 0x10017399
test byte [esi + 0xc], 1
je 0x10017399
movaps xmm0, xmmword [0x1007d470]
lea edi, [esp + 0x28]
movups xmmword [esp + 0x28], xmm0
mov dl, 1
movaps xmm0, xmmword [0x1007d480]
mov byte [esp + 0x10], dl
movups xmmword [esp + 0x38], xmm0
nop dword [eax]
push dword [edi]
call fcn.100141e0
add esp, 4
test al, al
je 0x10017388
mov dword [esi + 0x4828], 3
add edi, 4
lea eax, [esp + 0x48]
cmp edi, eax
jne 0x10017370
mov al, byte [esp + 0x10]
jmp 0x1001739f
xor al, al
mov byte [esp + 0x10], al
mov cl, byte [esi + 8]
movaps xmm0, xmmword [0x1007d460]
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 0x10017466
lea ebx, [esp + 0x28]
mov edi, dword [ebx]
push edi
push dword [0x1008df28]
mov byte [esp + 0x19], al
call fcn.10010ad0
add esp, 8
cmp byte [eax], 0
je 0x10017453
cmp edi, 0x200
jl 0x10017405
cmp edi, 0x28c
jl 0x1001760d
cmp edi, 0x1000
je 0x1001760d
cmp edi, 0x2000
je 0x1001760d
cmp edi, 0x4000
je 0x1001760d
cmp edi, 0x8000
je 0x1001760d
cmp edi, 0x800
je 0x1001760d
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 0x100173d7
cmp dword [esi + 0x4844], 0
mov dword [esi + 0x4814], 0
je 0x10017540
mov edi, dword [0x1008df28]
mov edx, dword [edi + 0x47f8]
test edx, edx
je 0x10017540
mov ecx, dword [edi + 0x4844]
lea ebx, [edi + 0x4848]
cmp dword [edi + 0x47fc], ecx
je 0x100174bd
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 0x100174dd
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.1000cff0
add esp, 0x10
lea eax, [edi + 0x484c]
push eax
push dword [ebx]
push dword [edi + 0x482c]
push dword [edi + 0x4844]
call fcn.100200d0
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 0x10017522
mov dword [edi + 0x4830], ecx
mov dword [edi + 0x4834], edx
cmp byte [edi + 0x483e], 0
je 0x10017540
mov eax, dword [0x1008df28]
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 0x10017561
call fcn.10016140
xor al, al
mov dword [esi + 0x48bc], 0
mov word [esi + 0x4878], 0
mov dword [esp + 0x20], eax
cmp byte [esi + 0x4839], al
je 0x100175b0
cmp byte [esi + 0x4838], al
je 0x100175b0
cmp byte [esi + 0x483a], al
jne 0x100175b0
cmp byte [esi + 0x483b], al
je 0x100175b0
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 0x100175e4
cmp eax, 1
je 0x100175e4
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 0x10017645
mov eax, ecx
cmp dword [eax + 0x300], eax
je 0x1001763b
test dword [eax + 0xc], 0x14000000
jne 0x1001763b
mov eax, dword [eax + 0x2f8]
test eax, eax
jne 0x100175f0
jmp 0x10017645
push edi
push dword [0x1008df28]
call fcn.10010ca0
mov cl, byte [esp + 0x19]
add esp, 8
mov dl, cl
mov byte [esp + 0x10], dl
cmp byte [eax + 8], 0
je 0x10017449
mov al, cl
mov byte [esp + 0x10], al
jmp 0x10017457
cmp eax, ecx
je 0x10017645
mov dword [eax + 0x310], ecx
mov bl, byte [esp + 0x10]
mov eax, dword [esi + 0x47f8]
mov bh, bl
test eax, eax
je 0x10017671
cmp dword [eax + 0x310], 0
je 0x10017671
cmp dword [esi + 0x482c], 0
jne 0x10017671
mov dword [eax + 0x310], 0
call fcn.10018fb0
cmp byte [esp + 0x12], 0
jne 0x10017685
test bl, bl
je 0x100177dd
mov eax, dword [esi + 0x47f8]
test eax, eax
je 0x100177dd
test dword [eax + 0xc], 0x40000
jne 0x100177dd
mov byte [esi + 0x97], 1
mov bl, bh
cmp dword [esi + 0x47fc], 0
je 0x100177e4
cmp byte [esi + 0x483a], 0
lea ebp, [esi + 0x483a]
jne 0x100177e4
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.10017de0
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 0x1001791f
cmp byte [esi + 0x483a], 0
lea edi, [esi + 0x483a]
mov ebp, edi
jne 0x1001791b
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x1001791b
mov eax, dword [esi + 0x47f8]
test eax, eax
je 0x1001791b
test dword [eax + 0xc], 0x40000
jne 0x1001791b
mov bh, byte [esp + 0x12]
mov eax, dword [0x1008df28]
test bh, bh
je 0x10017777
cmp byte [eax + 0x2ea0], 0
je 0x10017777
cmp byte [eax + 0x3f80], 0
je 0x10017795
test bl, bl
je 0x1001780f
cmp byte [eax + 0x34c0], 0
je 0x1001780f
cmp byte [eax + 0x4418], 0
jne 0x1001780f
mov byte [esp + 0x13], 1
test bh, bh
je 0x100177b8
push 0
push 0
push 0x20c
call fcn.10014250
add esp, 0xc
test al, al
jne 0x100177d1
mov eax, dword [0x1008df28]
test bl, bl
je 0x10017814
push 0
push 0
push 0x26e
call fcn.10014250
add esp, 0xc
test al, al
je 0x10017808
mov eax, dword [0x1008df28]
mov byte [esp + 0x10], 1
jmp 0x10017819
mov byte [esi + 0x97], 0
cmp dword [esi + 0x49a8], 0
lea ecx, [esi + 0x49a8]
mov dword [esp + 0x18], ecx
lea ebp, [esi + 0x483a]
jne 0x100176cf
xor al, al
jmp 0x100176d5
mov eax, dword [0x1008df28]
jmp 0x10017814
mov byte [esp + 0x13], 0
mov byte [esp + 0x10], 0
test bh, bh
je 0x1001782f
cmp byte [eax + 0x2eb0], 0
je 0x1001782f
cmp byte [eax + 0x3f8c], 0
je 0x10017845
test bl, bl
je 0x10017880
cmp byte [eax + 0x34b0], 0
je 0x10017880
cmp byte [eax + 0x440c], 0
jne 0x10017880
cmp byte [esp + 0x12], 0
mov bh, 1
je 0x10017863
push 0
push 0
push 0x20d
call fcn.10014250
add esp, 0xc
test al, al
jne 0x1001787c
test bl, bl
je 0x10017882
push 0
push 0
push 0x26d
call fcn.10014250
add esp, 0xc
test al, al
je 0x10017882
mov dl, 1
jmp 0x10017884
xor bh, bh
xor dl, dl
mov ecx, dword [esi + 0x3eac]
mov dh, byte [esp + 0x10]
test ecx, ecx
jne 0x100178ae
test dh, dh
je 0x100178b6
mov eax, dword [esi + 0x47fc]
mov dword [esi + 0x4804], eax
mov dword [esi + 0x4810], 2
jmp 0x100178b6
cmp ecx, dword [esi + 0x47fc]
jne 0x10017917
test dl, dl
je 0x100178d0
mov eax, dword [esi + 0x47fc]
mov dword [esi + 0x4804], eax
mov dword [esi + 0x4810], 1
test ecx, ecx
je 0x100178dc
cmp ecx, dword [esi + 0x47fc]
jne 0x10017917
cmp byte [esp + 0x13], 0
jne 0x100178e7
test bh, bh
je 0x100178f3
mov eax, dword [esi + 0x47fc]
mov dword [esi + 0x4808], eax
test ecx, ecx
je 0x100178ff
cmp ecx, dword [esi + 0x47fc]
jne 0x10017917
test dh, dh
jne 0x10017909
mov ebp, edi
test dl, dl
je 0x10017917
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 0x10017936
test dword [eax + 0xc], 0x40000
je 0x10017936
mov byte [ebp], 1
mov eax, dword [esi + 0x4804]
test eax, eax
je 0x1001795c
cmp dword [esi + 0x4808], eax
je 0x1001795c
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 0x10017984
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.10018030
cmp dword [esi + 0x4888], 0xffffffff
jne 0x10017aad
mov edi, dword [0x1008df28]
cmp dword [edi + 0x4888], 0xffffffff
mov eax, dword [edi + 0x47f8]
mov dword [esp + 0x1c], eax
je 0x100179d3
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 0x10017aad
cmp dword [edi + 0x49a8], 0
jne 0x10017aad
test dword [eax + 0xc], 0x40000
jne 0x10017aad
push 1
push 0xffffffffffffffff
push 0x200
call fcn.10014250
add esp, 0xc
test al, al
je 0x10017aad
cmp byte [edi + 0xdd8], 0
jne 0x10017aad
cmp byte [edi + 0xdda], 0
jne 0x10017aad
test byte [edi + 8], 1
mov al, byte [edi + 0xdd9]
je 0x10017a5a
test al, al
je 0x10017a3d
or ecx, 0xffffffff
jmp 0x10017a6e
cmp byte [edi + 0x483a], 1
jne 0x10017a53
cmp dword [edi + 0x3eac], 0
jne 0x10017a53
xor ecx, ecx
jmp 0x10017a6e
mov ecx, 1
jmp 0x10017a6e
test al, al
je 0x10017a63
or ecx, 0xffffffff
jmp 0x10017a6e
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.10016780
add esp, 0x10
mov dword [edi + 0x48bc], 0xffffffff
mov eax, dword [0x1008df28]
cmp byte [eax + 0x4879], 0
jne 0x10017acd
cmp byte [eax + 0x483d], 0
jne 0x10017acd
mov byte [eax + 0x483c], 0
jmp 0x10017af5
cmp dword [eax + 0x47f8], 0
mov bl, bh
mov byte [eax + 0x483c], 1
jne 0x10017af5
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 0x10017d09
test dword [ecx + 0xc], 0x40000
jne 0x10017d09
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x10017d09
mov eax, dword [ecx]
movss xmm0, dword [eax + 0x3bd0]
mov eax, dword [ecx + 0x2f8]
mulss xmm0, dword [ecx + 0x25c]
test eax, eax
je 0x10017b48
mulss xmm0, dword [eax + 0x25c]
cmp word [ecx + 0x14c], 0
xorps xmm4, xmm4
mulss xmm0, dword [0x10076290]
mov edx, dword [esi + 0x4888]
movss xmm2, dword [0x10076240]
mulss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x10076238]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
jne 0x10017c23
cmp byte [ecx + 0x152], 0
je 0x10017c23
cmp edx, 0xffffffff
je 0x10017c23
movss xmm1, dword [0x10076298]
test edx, edx
je 0x10017bb3
cmp edx, 1
jne 0x10017be6
movaps xmm0, xmm2
jmp 0x10017bb6
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 0x10017bf3
cmp edx, 3
jne 0x10017c23
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 0x10017d09
mov eax, dword [0x1008df28]
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 0x10017c62
cmp byte [eax + 0x4454], 0
je 0x10017c7e
cmp byte [eax + 0x3520], 0
je 0x10017c86
cmp byte [eax + 0x4460], 0
jne 0x10017c86
movss xmm2, dword [0x10076270]
jmp 0x10017c86
movss xmm2, dword [0x10076224]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x10017ccc
cmp byte [ecx + 0xa8], 0
je 0x10017ccc
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 0x10017d09
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 0x10017d20
test bl, bl
jne 0x10017d20
mov byte [ebp], 1
mov byte [esi + 0x483b], bl
jmp 0x10017d70
cmp byte [esp + 0x20], 0
je 0x10017d70
test byte [esi + 8], 4
je 0x10017d70
test byte [esi + 0xc], 4
je 0x10017d70
lea eax, [esp + 0x20]
push eax
call fcn.10015dd0
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.10071a96
add esp, 0x3c
ret