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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rdi, qword [0x1801b5b38]
xor ebp, ebp
mov rbx, rdi
test byte [rdi + 8], 2
lea r14d, [rbp + 1]
mov byte [rdi + 0xdb], bpl
je 0x18004bb36
mov r15b, r14b
test byte [rdi + 0xc], r14b
jne 0x18004bb39
mov r15b, bpl
movdqa xmm0, xmmword [0x1801633a0]
movdqa xmm1, xmmword [0x1801633b0]
movdqu xmmword [rsp + 0x20], xmm0
movdqu xmmword [rsp + 0x30], xmm1
test r15b, r15b
je 0x18004bb82
lea rsi, [rsp + 0x20]
mov ecx, dword [rsi]
call fcn.18004722c
test al, al
je 0x18004bb74
mov dword [rdi + 0x48e0], 3
add rsi, 4
lea rax, [rsp + 0x40]
cmp rsi, rax
jne 0x18004bb5f
mov r12b, byte [rdi + 8]
movdqa xmm0, xmmword [0x180163390]
mov dword [rsp + 0x30], 0x201
mov dword [rsp + 0x34], 0x203
mov dword [rsp + 0x38], 0x204
movdqu xmmword [rsp + 0x20], xmm0
and r12b, r14b
je 0x18004bbd9
lea rsi, [rsp + 0x20]
mov ecx, dword [rsi]
call fcn.18004722c
test al, al
je 0x18004bbcb
mov dword [rdi + 0x48e0], 2
add rsi, 4
lea rax, [rsp + 0x3c]
cmp rsi, rax
jne 0x18004bbb6
cmp dword [rdi + 0x48f0], ebp
je 0x18004bc8e
mov r9, qword [rdi + 0x48a8]
mov rsi, rdi
test r9, r9
je 0x18004bc8e
test byte [rdi + 0x5c9c], 8
je 0x18004bc25
mov r9, qword [r9 + 8]
lea rcx, str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
mov r8d, dword [rdi + 0x48e4]
mov edx, dword [rdi + 0x48f0]
call fcn.18004ee4c
mov rdi, qword [0x1801b5b38]
movsxd rax, dword [rsi + 0x48e4]
mov ecx, dword [rsi + 0x48f0]
mov rdx, rax
mov dword [rdi + 0x48e4], eax
mov rax, qword [rdi + 0x48a8]
mov dword [rdi + 0x48b0], ecx
mov dword [rdi + 0x48b4], ebp
mov dword [rax + rdx*4 + 0x3a0], ecx
add rdx, rdx
mov rax, qword [rdi + 0x48a8]
movups xmm0, xmmword [rsi + 0x48f4]
movdqu xmmword [rax + rdx*8 + 0x3a8], xmm0
mov byte [rsi + 0x48e8], r14b
cmp byte [rsi + 0x48ee], bpl
je 0x18004bc8e
mov word [rdi + 0x48e9], r14w
mov byte [rdi + 0x48eb], r14b
mov word [rbx + 0x48ed], bp
mov dword [rbx + 0x48f0], ebp
mov dword [rbx + 0x48cc], ebp
cmp byte [rbx + 0x4904], bpl
je 0x18004bcaf
call fcn.18004ca40
mov dword [rbx + 0x4948], ebp
mov word [rbx + 0x4904], bp
movzx r13d, bpl
cmp byte [rbx + 0x48e9], bpl
je 0x18004bcef
cmp byte [rbx + 0x48e8], bpl
je 0x18004bcef
cmp byte [rbx + 0x48ea], bpl
jne 0x18004bcef
cmp byte [rbx + 0x48eb], bpl
je 0x18004bcef
cmp qword [rbx + 0x48a8], rbp
cmovne r13d, r14d
mov rcx, qword [rbx + 0x48a8]
mov byte [rbx + 0x48e9], bpl
test rcx, rcx
je 0x18004bd34
mov rax, rcx
cmp qword [rax + 0x378], rax
je 0x18004bd28
test dword [rax + 0x14], 0x14000000
jne 0x18004bd23
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x18004bd05
test rax, rax
je 0x18004bd34
cmp rax, rcx
je 0x18004bd34
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48a8]
mov rcx, rax
test rax, rax
je 0x18004bd62
cmp qword [rax + 0x398], rbp
je 0x18004bd62
cmp dword [rbx + 0x48e4], ebp
jne 0x18004bd62
mov qword [rax + 0x398], rbp
mov rcx, qword [rbx + 0x48a8]
test r12b, r12b
jne 0x18004bd6c
test r15b, r15b
je 0x18004bd7d
test rcx, rcx
je 0x18004bd7d
test dword [rcx + 0x14], 0x40000
mov al, r14b
je 0x18004bd80
mov al, bpl
mov byte [rbx + 0xdd], al
test al, al
je 0x18004bd9b
cmp dword [rbx + 0x48b0], ebp
je 0x18004bd9b
cmp byte [rbx + 0x48ea], bpl
je 0x18004bda7
mov al, bpl
cmp qword [rbx + 0x4a18], rbp
je 0x18004bdaa
mov al, r14b
mov byte [rbx + 0xde], al
call fcn.18004cd60
mov edi, dword [rbx + 0x48b0]
mov qword [rbx + 0x48c0], rbp
mov dword [rbx + 0x48bc], ebp
mov dword [rbx + 0x48c8], ebp
test edi, edi
je 0x18004bf41
cmp byte [rbx + 0x48ea], bpl
jne 0x18004bf41
cmp qword [rbx + 0x4a18], rbp
jne 0x18004bf41
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x18004bf41
test dword [rax + 0x14], 0x40000
jne 0x18004bf41
mov esi, 0x20c
test r12b, r12b
je 0x18004be22
mov ecx, esi
call fcn.18004722c
test al, al
jne 0x18004be35
test r15b, r15b
je 0x18004be67
mov ecx, 0x26e
call fcn.18004722c
test al, al
je 0x18004be67
test r12b, r12b
je 0x18004be4a
xor r8d, r8d
xor edx, edx
mov ecx, esi
call fcn.180047264
test al, al
jne 0x18004be62
test r15b, r15b
je 0x18004be6a
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.180047264
test al, al
je 0x18004be6a
mov sil, r14b
jmp 0x18004be6d
mov r14b, bpl
mov sil, bpl
test r12b, r12b
je 0x18004be80
mov ecx, 0x20d
call fcn.18004722c
test al, al
jne 0x18004be93
test r15b, r15b
je 0x18004becb
mov ecx, 0x26d
call fcn.18004722c
test al, al
je 0x18004becb
mov bpl, 1
test r12b, r12b
je 0x18004beae
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.180047264
test al, al
jne 0x18004bec6
test r15b, r15b
je 0x18004becb
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.180047264
test al, al
je 0x18004becb
mov cl, bpl
jmp 0x18004becd
xor cl, cl
mov eax, dword [rbx + 0x3f28]
test eax, eax
jne 0x18004beee
test sil, sil
je 0x18004bef2
mov dword [rbx + 0x48bc], edi
mov dword [rbx + 0x48c8], 2
jmp 0x18004bef2
cmp eax, edi
jne 0x18004bf26
test cl, cl
je 0x18004bf06
mov dword [rbx + 0x48bc], edi
mov dword [rbx + 0x48c8], 1
test eax, eax
je 0x18004bf0e
cmp eax, edi
jne 0x18004bf26
test r14b, r14b
jne 0x18004bf18
test bpl, bpl
je 0x18004bf1e
mov dword [rbx + 0x48c0], edi
xor ebp, ebp
test eax, eax
je 0x18004bf2c
jmp 0x18004bf28
xor ebp, ebp
cmp eax, edi
jne 0x18004bf3b
test sil, sil
jne 0x18004bf35
test cl, cl
je 0x18004bf3b
mov dword [rbx + 0x48c4], edi
mov r14d, 1
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x18004bf5d
test dword [rax + 0x14], 0x40000
je 0x18004bf5d
mov byte [rbx + 0x48ea], r14b
mov eax, dword [rbx + 0x48d8]
test eax, eax
je 0x18004bf85
mov dword [rbx + 0x48c4], eax
mov dword [rbx + 0x48c0], eax
mov dword [rbx + 0x48bc], eax
mov eax, dword [rbx + 0x48dc]
mov dword [rbx + 0x48c8], eax
mov dword [rbx + 0x48d8], ebp
call fcn.18004c328
cmp dword [rbx + 0x4914], 0xffffffff
mov rsi, qword [0x1801b5b38]
jne 0x18004c06a
mov rdi, qword [rsi + 0x48a8]
test rdi, rdi
je 0x18004c06a
cmp qword [rsi + 0x4a18], rbp
jne 0x18004c06a
test dword [rdi + 0x14], 0x40000
jne 0x18004c06a
mov r8d, r14d
or edx, 0xffffffff
mov ecx, 0x200
call fcn.180047264
test al, al
je 0x18004c06a
cmp byte [rsi + 0xe24], bpl
jne 0x18004c06a
cmp byte [rsi + 0xe26], bpl
jne 0x18004c06a
mov al, byte [rsi + 0xe25]
test byte [rsi + 8], r14b
je 0x18004c027
test al, al
je 0x18004c00d
or edx, 0xffffffff
jmp 0x18004c036
cmp byte [rsi + 0x48ea], r14b
jne 0x18004c022
cmp dword [rsi + 0x3f28], ebp
jne 0x18004c022
mov edx, ebp
jmp 0x18004c036
mov edx, r14d
jmp 0x18004c036
test al, al
jne 0x18004c008
cmp dword [rsi + 0x3f28], ebp
mov edx, ebp
setne dl
mov dword [rsi + 0x4944], edx
mov r8d, 0x400
mov al, byte [rdi + 0xbc]
neg al
sbb r9d, r9d
sar edx, 0x1f
and r9d, 0x1e
add edx, 3
add r9d, 3
or ecx, 0xffffffff
call fcn.18004b4e8
or dword [rsi + 0x4948], 0xffffffff
cmp byte [rsi + 0x4905], bpl
jne 0x18004c07f
mov al, bpl
cmp byte [rsi + 0x48ed], bpl
je 0x18004c082
mov al, r14b
mov byte [rsi + 0x48ec], al
mov rdi, qword [rbx + 0x48a8]
mov byte [rbx + 0x48e8], bpl
test rdi, rdi
je 0x18004c2a4
test dword [rdi + 0x14], 0x40000
jne 0x18004c2a4
cmp qword [rbx + 0x4a18], rbp
jne 0x18004c2a4
mov rax, qword [rdi]
movss xmm0, dword [rax + 0x3c2c]
mov rax, qword [rdi + 0x368]
mulss xmm0, dword [rdi + 0x290]
test rax, rax
je 0x18004c0e0
mulss xmm0, dword [rax + 0x290]
mulss xmm0, dword [0x180163168]
mov ecx, dword [rbx + 0x4914]
movss xmm2, dword [0x180162ce4]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, dword [0x180162b9c]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cmp word [rdi + 0x15c], bp
jne 0x18004c1a9
cmp byte [rdi + 0x161], bpl
je 0x18004c1a9
cmp ecx, 0xffffffff
je 0x18004c1a9
movss xmm1, dword [0x18016326c]
test ecx, ecx
je 0x18004c143
cmp ecx, r14d
jne 0x18004c171
movaps xmm0, xmm2
jmp 0x18004c146
movaps xmm0, xmm1
mulss xmm0, xmm4
mov dword [rdi + 0x9c], ebp
mov dword [rdi + 0xa4], ebp
addss xmm0, dword [rdi + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x94], xmm0
cmp ecx, 2
je 0x18004c17e
cmp ecx, 3
jne 0x18004c1a9
movaps xmm1, xmm2
mulss xmm1, xmm4
mov dword [rdi + 0xa0], ebp
mov dword [rdi + 0xa8], ebp
addss xmm1, dword [rdi + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x98], xmm0
test r15b, r15b
je 0x18004c2a4
mov edx, 0x27b
mov rcx, rsi
call fcn.180046be0
mov edx, 0x279
mov rcx, rsi
mov r10, rax
call fcn.180046be0
mov edx, 0x27a
mov rcx, rsi
mov r9, rax
call fcn.180046be0
mov edx, 0x27c
mov rcx, rsi
movss xmm0, dword [rax + 0xc]
subss xmm0, dword [r9 + 0xc]
call fcn.180046be0
mov ecx, 0x273
movss xmm1, dword [rax + 0xc]
subss xmm1, dword [r10 + 0xc]
call fcn.18004722c
test al, al
je 0x18004c21a
movss xmm2, dword [0x180162b24]
jmp 0x18004c230
mov ecx, 0x274
call fcn.18004722c
test al, al
je 0x18004c230
movss xmm2, dword [0x1801630d0]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
je 0x18004c270
cmp byte [rdi + 0xb4], bpl
je 0x18004c270
mulss xmm0, xmm4
mov dword [rdi + 0x9c], ebp
mov dword [rdi + 0xa4], ebp
mulss xmm0, xmm2
addss xmm0, dword [rdi + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x94], xmm0
ucomiss xmm1, xmm3
je 0x18004c2a4
mulss xmm1, xmm4
mov dword [rdi + 0xa0], ebp
mov dword [rdi + 0xa8], ebp
mulss xmm1, xmm2
addss xmm1, dword [rdi + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x98], xmm0
test r12b, r12b
jne 0x18004c2b9
test r15b, r15b
jne 0x18004c2b9
mov word [rbx + 0x48ea], 1
jmp 0x18004c304
test r13b, r13b
je 0x18004c304
test byte [rbx + 8], 4
je 0x18004c304
test byte [rbx + 0xc], 4
je 0x18004c304
lea rcx, [rsp + 0x70]
call fcn.18004b85c
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x36f0], xmm0
movss dword [rbx + 0x36f4], xmm1
movss dword [rbx + 0xe08], xmm0
movss dword [rbx + 0xe0c], xmm1
mov byte [rbx + 0xdb], r14b
lea r11, [rsp + 0x40]
mov dword [rbx + 0x4940], ebp
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret