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

Disassembly:
mov r11, rsp
push rbx
push rsi
push r12
push r14
sub rsp, 0xa8
mov rax, qword [0x1400f8340]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov qword [r11 + 8], rbp
mov qword [r11 + 0x10], rdi
mov rdi, qword [0x1401c1d88]
mov qword [r11 + 0x18], r13
mov rbx, rdi
mov qword [r11 - 0x28], r15
mov r15d, 3
test byte [rdi + 8], 2
mov byte [rdi + 0xdb], 0
je 0x14004c3a6
test byte [rdi + 0xc], 1
je 0x14004c3a6
vmovdqu ymm0, ymmword [0x1400dfd20]
vmovdqu ymmword [rsp + 0x48], ymm0
mov sil, 1
lea r11, [r11 - 0x80]
nop word [rax + rax]
mov ecx, dword [r11]
vzeroupper
call fcn.1400468c0
test al, al
je 0x14004c396
mov dword [rdi + 0x490c], r15d
add r11, 4
lea rax, [rsp + 0x68]
cmp r11, rax
jne 0x14004c380
jmp 0x14004c3a9
xor sil, sil
movzx r13d, byte [rdi + 8]
mov dword [rsp + 0x38], 0x201
mov dword [rsp + 0x3c], 0x203
mov dword [rsp + 0x40], 0x204
vmovdqu xmm0, xmmword [0x1400df970]
vmovdqu xmmword [rsp + 0x28], xmm0
and r13b, 1
je 0x14004c457
lea r10, [rsp + 0x28]
nop
mov r9d, dword [r10]
mov rcx, rdi
mov edx, r9d
call fcn.1400461a0
cmp byte [rax], 0
je 0x14004c449
lea eax, [r9 - 0x200]
cmp eax, 0x8b
jbe 0x14004c42e
cmp r9d, 0x1000
je 0x14004c42e
cmp r9d, 0x2000
je 0x14004c42e
cmp r9d, 0x4000
je 0x14004c42e
cmp r9d, 0x8000
je 0x14004c42e
cmp r9d, 0x800
jne 0x14004c43f
mov edx, r9d
mov rcx, rdi
call fcn.140036dd0
cmp byte [rax + 8], 0
jne 0x14004c449
mov dword [rdi + 0x490c], 2
add r10, 4
lea rax, [rsp + 0x44]
cmp r10, rax
jne 0x14004c3e0
mov edx, dword [rdi + 0x4928]
xor r14d, r14d
mov dword [rdi + 0x48f8], r14d
test edx, edx
je 0x14004c57c
mov r9, qword [rdi + 0x48d8]
mov rbp, rdi
test r9, r9
je 0x14004c57c
cmp dword [rdi + 0x48e0], edx
je 0x14004c4a3
mov dword [rdi + 0x48f8], edx
mov eax, dword [rdi + 0x492c]
mov dword [rdi + 0x48fc], eax
mov dword [rdi + 0x4900], r14d
test byte [rdi + 0x5ce4], 8
je 0x14004c4ca
mov r9, qword [r9 + 8]
lea rcx, str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
mov r8d, dword [rdi + 0x4910]
call fcn.1400509a0
mov rdi, qword [0x1401c1d88]
mov eax, dword [rbp + 0x492c]
movsxd rcx, dword [rbp + 0x4910]
mov edx, dword [rbp + 0x4928]
mov r8, rcx
mov dword [rdi + 0x48e4], eax
add r8, r8
mov rax, qword [rdi + 0x48d8]
mov dword [rdi + 0x48e0], edx
mov dword [rdi + 0x4910], ecx
mov dword [rax + rcx*4 + 0x3a0], edx
mov rax, qword [rdi + 0x48d8]
vmovups xmm0, xmmword [rbp + 0x4930]
vmovups xmmword [rax + r8*8 + 0x3a8], xmm0
mov rax, qword [rdi + 0x48d8]
movsxd rdx, dword [rdi + 0x4910]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3c8], 0x7f7fffff
mov rax, qword [rdi + 0x48d8]
movsxd rdx, dword [rdi + 0x4910]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3cc], 0x7f7fffff
mov byte [rbp + 0x4914], 1
cmp byte [rbp + 0x491a], r14b
je 0x14004c57c
mov word [rdi + 0x4915], 1
mov byte [rdi + 0x4917], 1
cmp byte [rbx + 0x4950], 0
mov word [rbx + 0x4919], 0
mov dword [rbx + 0x4928], r14d
je 0x14004c59a
call fcn.14004d610
xor r12b, r12b
mov dword [rbx + 0x4994], r14d
mov ebp, 1
mov word [rbx + 0x4950], 0
cmp byte [rbx + 0x4915], r12b
je 0x14004c5e6
cmp byte [rbx + 0x4914], r12b
je 0x14004c5e6
cmp byte [rbx + 0x4916], r12b
jne 0x14004c5e6
cmp byte [rbx + 0x4917], r12b
je 0x14004c5e6
cmp qword [rbx + 0x48d8], 0
movzx r12d, r12b
cmovne r12d, ebp
mov rcx, qword [rbx + 0x48d8]
mov byte [rbx + 0x4915], 0
test rcx, rcx
je 0x14004c62c
mov rax, rcx
nop dword [rax]
cmp qword [rax + 0x378], rax
je 0x14004c620
test dword [rax + 0x14], 0x14000000
jne 0x14004c620
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x14004c600
jmp 0x14004c62c
cmp rax, rcx
je 0x14004c62c
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x14004c652
cmp qword [rax + 0x398], 0
je 0x14004c652
cmp dword [rbx + 0x4910], 0
jne 0x14004c652
mov qword [rax + 0x398], r14
call fcn.14004e460
test r13b, r13b
jne 0x14004c665
test sil, sil
je 0x14004c791
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x14004c791
test dword [rax + 0x14], 0x40000
jne 0x14004c791
mov byte [rbx + 0xdd], bpl
cmp dword [rbx + 0x48e0], 0
je 0x14004c798
cmp byte [rbx + 0x4916], 0
jne 0x14004c798
movzx eax, bpl
mov byte [rbx + 0xde], al
call fcn.14004da80
cmp dword [rbx + 0x48e0], 0
mov qword [rbx + 0x48ec], 0
mov dword [rbx + 0x48e8], r14d
mov dword [rbx + 0x48f4], r14d
je 0x14004c8c3
cmp byte [rbx + 0x4916], 0
jne 0x14004c8c3
cmp qword [rbx + 0x4a60], 0
jne 0x14004c8c3
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x14004c8c3
test dword [rax + 0x14], 0x40000
jne 0x14004c8c3
mov rdi, qword [0x1401c1d88]
test r13b, r13b
je 0x14004c737
mov edx, 0x20c
mov rcx, rdi
call fcn.1400461a0
cmp byte [rax], 0
je 0x14004c737
cmp byte [rdi + 0x4038], 0
je 0x14004c757
test sil, sil
je 0x14004c7ad
mov edx, 0x26e
mov rcx, rdi
call fcn.1400461a0
cmp byte [rax], 0
je 0x14004c7ad
cmp byte [rdi + 0x44d0], 0
jne 0x14004c7ad
movzx r15d, bpl
test r13b, r13b
je 0x14004c773
xor r8d, r8d
xor edx, edx
mov ecx, 0x20c
call fcn.140046940
test al, al
jne 0x14004c78b
test sil, sil
je 0x14004c7b0
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.140046940
test al, al
je 0x14004c7b0
movzx r14d, bpl
jmp 0x14004c7b3
mov byte [rbx + 0xdd], 0
cmp qword [rbx + 0x4a60], 0
jne 0x14004c6a3
xor al, al
jmp 0x14004c6a7
xor r15b, r15b
xor r14b, r14b
test r13b, r13b
je 0x14004c7d3
mov edx, 0x20d
mov rcx, rdi
call fcn.1400461a0
cmp byte [rax], 0
je 0x14004c7d3
cmp byte [rdi + 0x4044], 0
je 0x14004c7f3
test sil, sil
je 0x14004c82d
mov edx, 0x26d
mov rcx, rdi
call fcn.1400461a0
cmp byte [rax], 0
je 0x14004c82d
cmp byte [rdi + 0x44c4], 0
jne 0x14004c82d
movzx edi, bpl
test r13b, r13b
je 0x14004c80f
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.140046940
test al, al
jne 0x14004c827
test sil, sil
je 0x14004c830
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.140046940
test al, al
je 0x14004c830
movzx edx, bpl
jmp 0x14004c832
xor dil, dil
xor dl, dl
mov ecx, dword [rbx + 0x3f58]
test ecx, ecx
jne 0x14004c859
test r14b, r14b
je 0x14004c861
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48e8], eax
mov dword [rbx + 0x48f4], 2
jmp 0x14004c861
cmp ecx, dword [rbx + 0x48e0]
jne 0x14004c8ba
test dl, dl
je 0x14004c877
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48e8], eax
mov dword [rbx + 0x48f4], ebp
test ecx, ecx
je 0x14004c883
cmp ecx, dword [rbx + 0x48e0]
jne 0x14004c8ba
test r15b, r15b
jne 0x14004c88d
test dil, dil
je 0x14004c899
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48ec], eax
test ecx, ecx
je 0x14004c8a5
cmp ecx, dword [rbx + 0x48e0]
jne 0x14004c8ba
test r14b, r14b
jne 0x14004c8ae
test dl, dl
je 0x14004c8ba
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48f0], eax
mov r15d, 3
xor r14d, r14d
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x14004c8df
test dword [rax + 0x14], 0x40000
je 0x14004c8df
mov byte [rbx + 0x4916], bpl
mov eax, dword [rbx + 0x4904]
test eax, eax
je 0x14004c907
mov dword [rbx + 0x48f0], eax
mov dword [rbx + 0x48ec], eax
mov dword [rbx + 0x48e8], eax
mov eax, dword [rbx + 0x4908]
mov dword [rbx + 0x48f4], eax
mov dword [rbx + 0x4904], r14d
call fcn.14004cd80
cmp dword [rbx + 0x4960], 0xffffffff
mov rdi, qword [0x1401c1d88]
jne 0x14004ca03
mov r14, qword [rdi + 0x48d8]
test r14, r14
je 0x14004ca00
cmp qword [rdi + 0x4a60], 0
jne 0x14004ca00
test dword [r14 + 0x14], 0x40000
jne 0x14004ca00
mov r8d, ebp
mov edx, 0xffffffff
mov ecx, 0x200
call fcn.140046940
test al, al
je 0x14004ca00
cmp byte [rdi + 0xe24], 0
jne 0x14004ca00
cmp byte [rdi + 0xe26], 0
jne 0x14004ca00
movzx eax, byte [rdi + 0xe25]
test byte [rdi + 8], bpl
je 0x14004c9b1
test al, al
je 0x14004c99b
mov ebp, 0xffffffff
jmp 0x14004c9c8
cmp byte [rdi + 0x4916], bpl
jne 0x14004c9c8
cmp dword [rdi + 0x3f58], 0
jne 0x14004c9c8
xor ebp, ebp
jmp 0x14004c9c8
test al, al
je 0x14004c9bc
mov ebp, 0xffffffff
jmp 0x14004c9c8
xor ebp, ebp
cmp dword [rdi + 0x3f58], ebp
setne bpl
mov dword [rdi + 0x4990], ebp
mov eax, 0x21
cmp byte [r14 + 0xbc], 0
mov r8d, 0x400
cmovne r15d, eax
sar ebp, 0x1f
mov r9d, r15d
lea ecx, [rax - 0x22]
lea edx, [rbp + 3]
call fcn.14004bb00
mov dword [rdi + 0x4994], 0xffffffff
xor r14d, r14d
cmp byte [rdi + 0x4951], 0
mov r15, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xd0]
jne 0x14004ca29
cmp byte [rdi + 0x4919], 0
jne 0x14004ca29
xor al, al
jmp 0x14004ca2b
mov al, 1
mov byte [rdi + 0x4918], al
mov r11, qword [rbx + 0x48d8]
mov byte [rbx + 0x4914], 0
test r11, r11
je 0x14004cce7
test dword [r11 + 0x14], 0x40000
jne 0x14004cce7
cmp qword [rbx + 0x4a60], 0
jne 0x14004cce7
mov rax, qword [r11]
vmovaps xmmword [rsp + 0x90], xmm6
vmovss xmm0, dword [rax + 0x3c24]
mov rax, qword [r11 + 0x368]
vmulss xmm1, xmm0, dword [r11 + 0x290]
test rax, rax
je 0x14004ca95
vmulss xmm1, xmm1, dword [rax + 0x290]
cmp word [r11 + 0x15c], 0
vmulss xmm0, xmm1, dword [0x1400df664]
vmovss xmm1, dword [rbx + 0x18]
vfmadd213ss xmm1, xmm0, dword [0x1400df41c]
mov ecx, dword [rbx + 0x4960]
vcvttss2si eax, xmm1
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, eax
jne 0x14004cb82
cmp byte [r11 + 0x162], 0
je 0x14004cb82
cmp ecx, 0xffffffff
je 0x14004cb82
vmovss xmm4, dword [0x1400dfc00]
cmp ecx, 1
ja 0x14004cb33
vmovd xmm1, r14d
vmovd xmm0, ecx
vpcmpeqd xmm2, xmm0, xmm1
vxorps xmm3, xmm6, xmm4
vblendvps xmm1, xmm6, xmm3, xmm2
vaddss xmm0, xmm1, dword [r11 + 0x84]
vcvttss2si eax, xmm0
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vmovss dword [r11 + 0x94], xmm2
mov dword [r11 + 0x9c], r14d
mov dword [r11 + 0xa4], r14d
lea eax, [rcx - 2]
cmp eax, 1
ja 0x14004cb82
mov eax, 2
mov dword [r11 + 0xa0], r14d
vmovd xmm1, eax
vmovd xmm0, ecx
vpcmpeqd xmm2, xmm0, xmm1
vxorps xmm3, xmm6, xmm4
vblendvps xmm1, xmm6, xmm3, xmm2
vaddss xmm0, xmm1, dword [r11 + 0x88]
vcvttss2si eax, xmm0
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vmovss dword [r11 + 0x98], xmm2
mov dword [r11 + 0xa8], r14d
test sil, sil
je 0x14004ccde
vmovaps xmmword [rsp + 0x80], xmm7
mov edx, 0x27c
mov rcx, rdi
vmovaps xmmword [rsp + 0x70], xmm8
call fcn.1400461a0
mov edx, 0x27a
mov rcx, rdi
mov r10, rax
call fcn.1400461a0
mov edx, 0x279
mov rcx, rdi
mov r9, rax
call fcn.1400461a0
vmovss xmm0, dword [r9 + 0xc]
mov edx, 0x27b
mov rcx, rdi
vsubss xmm8, xmm0, dword [rax + 0xc]
call fcn.1400461a0
vmovss xmm0, dword [r10 + 0xc]
mov edx, 0x273
mov rcx, rdi
vsubss xmm7, xmm0, dword [rax + 0xc]
call fcn.1400461a0
cmp byte [rax], 0
je 0x14004cc0f
cmp byte [rdi + 0x450c], 0
jne 0x14004cc0f
vmovss xmm1, dword [0x1400df3cc]
jmp 0x14004cc55
mov edx, 0x274
mov rcx, rdi
call fcn.1400461a0
cmp byte [rax], 0
jne 0x14004cc25
xor al, al
jmp 0x14004cc2f
cmp byte [rdi + 0x4518], 0
sete al
vmovss xmm2, dword [0x1400df468]
vmovd xmm1, r14d
movzx eax, al
vmovd xmm0, eax
vpcmpeqd xmm3, xmm0, xmm1
vmovss xmm0, dword [0x1400df5b8]
vblendvps xmm1, xmm0, xmm2, xmm3
vxorps xmm2, xmm2, xmm2
vucomiss xmm8, xmm2
je 0x14004cc99
cmp byte [r11 + 0xb4], 0
je 0x14004cc99
vmulss xmm0, xmm8, xmm6
vfmadd213ss xmm0, xmm1, dword [r11 + 0x84]
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [r11 + 0x94], xmm0
mov dword [r11 + 0x9c], r14d
mov dword [r11 + 0xa4], r14d
vucomiss xmm7, xmm2
vmovaps xmm8, xmmword [rsp + 0x70]
je 0x14004ccd5
vmulss xmm0, xmm7, xmm6
vfmadd213ss xmm0, xmm1, dword [r11 + 0x88]
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [r11 + 0x98], xmm0
mov dword [r11 + 0xa0], r14d
mov dword [r11 + 0xa8], r14d
vmovaps xmm7, xmmword [rsp + 0x80]
vmovaps xmm6, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xd8]
test r13b, r13b
mov r13, qword [rsp + 0xe0]
jne 0x14004cd0c
test sil, sil
jne 0x14004cd0c
mov word [rbx + 0x4916], 1
jmp 0x14004cd57
test r12b, r12b
je 0x14004cd57
test byte [rbx + 8], 4
je 0x14004cd57
test byte [rbx + 0xc], 4
je 0x14004cd57
lea rcx, [rsp + 0x20]
call fcn.14004c000
vmovss xmm0, dword [rax]
vmovss xmm1, dword [rax + 4]
vmovss dword [rbx + 0x36f0], xmm0
vmovss dword [rbx + 0x36f4], xmm1
vmovss dword [rbx + 0xe08], xmm0
vmovss dword [rbx + 0xe0c], xmm1
mov byte [rbx + 0xdb], 1
mov dword [rbx + 0x498c], r14d
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400c6860
add rsp, 0xa8
pop r14
pop r12
pop rsi
pop rbx
ret