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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x1401ea928]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, 8
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xc5], 0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x14003fc71
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14003fc71
mov byte [rsp + 0x3b], 1
jmp 0x14003fc76
mov byte [rsp + 0x3b], 0
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x38], al
mov dword [rsp + 0xd0], 0x27a
mov dword [rsp + 0xd4], 0x279
mov dword [rsp + 0xd8], 0x27b
mov dword [rsp + 0xdc], 0x27c
mov dword [rsp + 0xe0], 0x27e
mov dword [rsp + 0xe4], 0x27d
mov dword [rsp + 0xe8], 0x27f
mov dword [rsp + 0xec], 0x280
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14003fd75
lea rax, [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa0]
add rax, 0x20
mov qword [rsp + 0xf0], rax
jmp 0x14003fd2e
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xf0]
cmp qword [rsp + 0x80], rax
je 0x14003fd75
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x9c], eax
mov ecx, dword [rsp + 0x9c]
call fcn.140034ce0
movzx eax, al
test eax, eax
je 0x14003fd73
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bac], 3
jmp 0x14003fd1a
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14003fd8a
mov byte [rsp + 0x3c], 1
jmp 0x14003fd8f
mov byte [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x39], al
mov dword [rsp + 0xb0], 0x20c
mov dword [rsp + 0xb4], 0x20d
mov dword [rsp + 0xb8], 0x20e
mov dword [rsp + 0xbc], 0x202
mov dword [rsp + 0xc0], 0x201
mov dword [rsp + 0xc4], 0x203
mov dword [rsp + 0xc8], 0x204
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14003fe83
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa8]
add rax, 0x1c
mov qword [rsp + 0xf8], rax
jmp 0x14003fe3c
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xf8]
cmp qword [rsp + 0x88], rax
je 0x14003fe83
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x98], eax
mov ecx, dword [rsp + 0x98]
call fcn.140034ce0
movzx eax, al
test eax, eax
je 0x14003fe81
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bac], 2
jmp 0x14003fe28
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b98], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bd0], 0
je 0x14003fea5
call fcn.140040930
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc5], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc6], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bd0], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c00]
test eax, eax
je 0x14003fee1
call fcn.140041950
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c44], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c01], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c00], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc1]
test eax, eax
je 0x14003ff61
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc0]
test eax, eax
je 0x14003ff61
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc2]
test eax, eax
jne 0x14003ff61
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc3]
test eax, eax
je 0x14003ff61
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b60], 0
je 0x14003ff61
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc1], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bb0], 0
je 0x14003ffa5
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bb0], 1
je 0x14003ffa5
mov r8d, 0x2fad
lea rdx, [0x1401884a0]
lea rcx, str.g.NavLayer__ImGuiNavLayer_Main__g.NavLayer__ImGuiNavLayer_Menu
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b60], 0
je 0x14003ffc5
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4b60]
call fcn.14003f2f0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b60], 0
je 0x14004000f
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b60]
cmp qword [rax + 0x3b0], 0
je 0x14004000f
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bb0], 0
jne 0x14004000f
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b60]
mov qword [rax + 0x3b0], 0
call fcn.140042d10
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x140040026
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140040057
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b60], 0
je 0x140040057
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b60]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140040057
mov dword [rsp + 0x74], 1
jmp 0x14004005f
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x74]
mov byte [rax + 0xc7], cl
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xc7]
test eax, eax
je 0x14004009d
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b68], 0
je 0x14004009d
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc2]
test eax, eax
je 0x1400400b6
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d30], 0
jne 0x1400400b6
mov dword [rsp + 0x78], 0
jmp 0x1400400be
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.140041ff0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b88], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b84], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b80], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b8c], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b68], 0
je 0x14004044c
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc2]
test eax, eax
jne 0x14004044c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d30], 0
jne 0x14004044c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b60], 0
je 0x14004044c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b60]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14004044c
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140040196
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140034d00
movzx eax, al
test eax, eax
jne 0x1400401bc
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400401b5
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140034d00
movzx eax, al
test eax, eax
jne 0x1400401bc
mov byte [rsp + 0x3d], 0
jmp 0x1400401c1
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x14004021e
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400401f5
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.140034d90
movzx eax, al
test eax, eax
jne 0x140040217
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14004021e
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27c
call fcn.140034d90
movzx eax, al
test eax, eax
je 0x14004021e
mov byte [rsp + 0x3e], 1
jmp 0x140040223
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140040261
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140034d00
movzx eax, al
test eax, eax
jne 0x140040287
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140034d00
movzx eax, al
test eax, eax
jne 0x140040287
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140040280
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140034d00
movzx eax, al
test eax, eax
jne 0x140040287
mov byte [rsp + 0x3f], 0
jmp 0x14004028c
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x140040302
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400402d9
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.140034d90
movzx eax, al
test eax, eax
jne 0x1400402fb
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.140034d90
movzx eax, al
test eax, eax
jne 0x1400402fb
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140040302
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.140034d90
movzx eax, al
test eax, eax
je 0x140040302
mov byte [rsp + 0x40], 1
jmp 0x140040307
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40a4], 0
jne 0x14004034c
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x14004034c
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b68]
mov dword [rax + 0x4b80], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b8c], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40a4], 0
je 0x140040372
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b68]
cmp dword [rax + 0x40a4], ecx
jne 0x1400403a0
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400403a0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b68]
mov dword [rax + 0x4b80], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b8c], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40a4], 0
je 0x1400403c6
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b68]
cmp dword [rax + 0x40a4], ecx
jne 0x1400403ee
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x1400403d8
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400403ee
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b68]
mov dword [rax + 0x4b84], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40a4], 0
je 0x140040414
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b68]
cmp dword [rax + 0x40a4], ecx
jne 0x14004044c
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x140040426
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14004044c
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b68]
mov dword [rax + 0x4b88], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4b68]
call fcn.14003dcd0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b60], 0
je 0x14004047f
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b60]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x14004047f
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc2], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b80], 0
je 0x1400404c1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b80]
cmp dword [rax + 0x4b84], ecx
je 0x1400404c1
mov r8d, 0x2fdd
lea rdx, [0x140188580]
lea rcx, str.g.NavActivateDownId__g.NavActivateId
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b94]
comiss xmm0, dword [0x1401c4a38]
jbe 0x140040506
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4b94]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.14004a810
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4b94], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b94]
ucomiss xmm0, dword [0x1401c4a38]
jp 0x14004052d
jne 0x14004052d
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b90], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4ba4], 0
je 0x140040593
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba4]
mov dword [rax + 0x4b88], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b88]
mov dword [rax + 0x4b84], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b84]
mov dword [rax + 0x4b80], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
mov dword [rax + 0x4b8c], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4ba4], 0
call fcn.140040bf0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c10], 0xffffffff
jne 0x1400405ba
call fcn.140041710
call fcn.14003f510
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc0], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b60], 0
je 0x1400408a5
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b60]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400408a5
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d30], 0
jne 0x1400408a5
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b60]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.14001b760
mulss xmm0, dword [0x1401c4db8]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1401c4b20]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4c10]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x16c]
test eax, eax
jne 0x14004075c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x172]
test eax, eax
je 0x14004075c
cmp dword [rsp + 0x48], 0xffffffff
je 0x14004075c
cmp dword [rsp + 0x48], 0
je 0x1400406a0
cmp dword [rsp + 0x48], 1
jne 0x1400406f7
cmp dword [rsp + 0x48], 0
jne 0x1400406b7
movss xmm0, dword [0x1401c4fa0]
movss dword [rsp + 0x7c], xmm0
jmp 0x1400406c5
movss xmm0, dword [0x1401c4b98]
movss dword [rsp + 0x7c], xmm0
movss xmm0, dword [rsp + 0x7c]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x8c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.1400186f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14003bbf0
cmp dword [rsp + 0x48], 2
je 0x140040705
cmp dword [rsp + 0x48], 3
jne 0x14004075c
cmp dword [rsp + 0x48], 2
jne 0x14004071c
movss xmm0, dword [0x1401c4fa0]
movss dword [rsp + 0x64], xmm0
jmp 0x14004072a
movss xmm0, dword [0x1401c4b98]
movss dword [rsp + 0x64], xmm0
movss xmm0, dword [rsp + 0x64]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x90]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.1400186f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14003bc30
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400408a5
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x90]
call fcn.140034230
mov ecx, 0x281
call fcn.140034ce0
movzx eax, al
test eax, eax
je 0x1400407b0
movss xmm0, dword [0x1401c4aa8]
movss dword [rsp + 0x6c], xmm0
jmp 0x1400407eb
mov ecx, 0x282
call fcn.140034ce0
movzx eax, al
test eax, eax
je 0x1400407d1
movss xmm0, dword [0x1401c4c80]
movss dword [rsp + 0x68], xmm0
jmp 0x1400407df
movss xmm0, dword [0x1401c4b98]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rsp + 0x6c]
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [rsp + 0x90]
ucomiss xmm0, dword [0x1401c4a38]
jp 0x14004080b
je 0x140040856
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xbc]
test eax, eax
je 0x140040856
movss xmm0, dword [rsp + 0x90]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x8c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.1400186f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14003bbf0
movss xmm0, dword [rsp + 0x94]
ucomiss xmm0, dword [0x1401c4a38]
jp 0x14004086a
je 0x1400408a5
movss xmm0, dword [rsp + 0x94]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x90]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.1400186f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14003bc30
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400408d8
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x1400408d8
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc2], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4bc3], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x140040913
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x140040913
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x140040913
lea rcx, [rsp + 0x100]
call fcn.14003f770
mov rcx, rax
call fcn.140035600
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c3c], 0
add rsp, 0x118
ret