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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x228
mov qword [rbp - 0x60], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rax, qword [0x14013f130]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov qword [rsp + 0x60], r9
mov rax, r8
mov qword [rsp + 0x70], rax
mov r13, rdx
mov rdi, rcx
xor r15d, r15d
mov dword [rsp + 0x58], r15d
test rdx, rdx
je 0x14006cf8a
test rax, rax
je 0x14006cf8a
mov rax, qword [rcx + 0x18]
mov rcx, qword [rax + 0x20]
cmp dword [rcx + 0xc0], 1
je 0x14006c59d
cmp byte [rcx + 0x33f], r15b
je 0x14006c59d
lea rdx, [rsp + 0x30]
call fcn.14004fe50
mov ebx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x30]
mov edx, dword [rsp + 0x3c]
jmp 0x14006c5c5
mov eax, dword [rcx + 0x288]
mov dword [rsp + 0x30], eax
mov ebx, dword [rcx + 0x28c]
mov dword [rsp + 0x34], ebx
mov edx, dword [rcx + 0x290]
mov dword [rsp + 0x38], edx
mov edx, dword [rcx + 0x294]
mov dword [rsp + 0x3c], edx
mov ecx, dword [rsp + 0x38]
sub ecx, eax
mov dword [rsp + 0x68], ecx
je 0x14006cdc9
cmp edx, ebx
je 0x14006cdc9
mov byte [rdi + 0xe], r15b
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.140018f10
call fcn.140040bc0
movss xmm6, dword [0x14010a45c]
test eax, eax
jg 0x14006ca65
movss xmm1, dword [rdi + 0x40]
ucomiss xmm1, xmm6
jp 0x14006c615
je 0x14006c69c
mov edx, dword [rdi + 0x44]
cmp dword [rdi + 0x4c], edx
je 0x14006c69c
mov eax, dword [rdi + 0x50]
cmp eax, dword [rdi + 0x48]
je 0x14006c69c
mov ecx, dword [rdi + 0x48]
mov eax, dword [rsp + 0x40]
sub eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si r12d, xmm0
add r12d, edx
mov dword [rsp + 0x40], r12d
mov eax, dword [rsp + 0x48]
sub eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si r14d, xmm0
add r14d, edx
mov dword [rsp + 0x48], r14d
mov eax, dword [rsp + 0x44]
sub eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ebx, xmm0
add ebx, ecx
mov dword [rsp + 0x44], ebx
mov eax, dword [rsp + 0x4c]
sub eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si esi, xmm0
add esi, ecx
mov dword [rsp + 0x4c], esi
jmp 0x14006c6ae
mov esi, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x40]
mov eax, dword [rdi + 0x4c]
cmp eax, dword [rdi + 0x44]
je 0x14006c75f
mov eax, dword [rdi + 0x50]
cmp eax, dword [rdi + 0x48]
je 0x14006c75f
mov eax, dword [rdi + 0x5c]
cmp eax, dword [rdi + 0x54]
je 0x14006c75f
mov eax, dword [rdi + 0x60]
cmp eax, dword [rdi + 0x58]
je 0x14006c75f
call fcn.140029f70
mov qword [rsp + 0x50], rax
call fcn.140040bc0
test eax, eax
jle 0x14006c6f8
call fcn.140040cf0
jmp 0x14006c700
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x24]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, dword [0x14010a488]
movd xmm0, dword [rdi + 0x54]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
cvttss2si ecx, xmm0
movd xmm1, dword [rdi + 0x58]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm2
cvttss2si r8d, xmm1
mov eax, ecx
sub eax, dword [rdi + 0x44]
add r12d, eax
mov dword [rsp + 0x40], r12d
sub ecx, dword [rdi + 0x44]
add r14d, ecx
mov dword [rsp + 0x48], r14d
mov eax, r8d
sub eax, dword [rdi + 0x48]
add ebx, eax
mov dword [rsp + 0x44], ebx
sub r8d, dword [rdi + 0x48]
add esi, r8d
mov dword [rsp + 0x4c], esi
mov ebx, dword [rsp + 0x34]
movaps xmm1, xmm6
mov rcx, r13
call fcn.140034330
mov rax, qword [rdi + 0x18]
mov r8d, dword [rax + 0x10]
mov edx, dword [rax + 0x14]
lea rax, [r13 + 4]
cmp r8d, dword [rax]
jne 0x14006c787
cmp edx, dword [rax + 4]
je 0x14006c7b4
lea rcx, [rsp + 0x50]
cmp rax, rcx
je 0x14006c797
mov dword [rax], r8d
mov dword [rax + 4], edx
mov rcx, qword [r13 + 0x48]
call fcn.140031ba0
test al, al
je 0x14006c7b4
mov dword [rbp - 0x58], r8d
mov dword [rbp - 0x54], edx
lea rdx, [rbp - 0x58]
call fcn.140032140
mov rcx, qword [rdi + 0x18]
mov rax, qword [rcx + 0x20]
mov edx, dword [rax + 0xc0]
cmp edx, dword [r13 + 0xc]
je 0x14006c7d0
mov dword [r13 + 0xc], edx
mov rcx, qword [rdi + 0x18]
xor eax, eax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x38]
mov rcx, qword [rcx + 0x20]
call fcn.14004fb60
nop
mov rax, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x38]
sub rax, rsi
sar rax, 3
mov qword [rsp + 0x50], rax
mov rcx, r15
test eax, eax
cmovg rcx, rsi
mov qword [rsp + 0x78], rcx
lea rax, [rdi + 0x28]
lea rcx, [rsp + 0x30]
cmp rax, rcx
je 0x14006c833
mov ecx, dword [rsp + 0x30]
mov dword [rax], ecx
mov dword [rax + 4], ebx
mov ecx, dword [rsp + 0x38]
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0x3c]
mov dword [rax + 0xc], ecx
mov rax, qword [r13 + 0x48]
test rax, rax
je 0x14006ca74
cmp dword [rax + 0x80], 3
jne 0x14006ca74
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + 0x20]
cmp dword [rax + 0xc0], 1
je 0x14006ca74
call fcn.140029f70
cmp byte [rax + 0xe], 0
jne 0x14006ca74
mov qword [rbp - 0x58], r15
mov rax, qword [rdi + 0x18]
lea rdx, [rbp - 0x58]
mov rcx, qword [rax + 0x20]
call fcn.14004fd60
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140018f10
lea rcx, [rbp - 0x80]
call qword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
mov rbx, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x14006c8c1
mov r9d, 1
mov r8, rax
mov rcx, qword [rbp - 0x58]
mov rdx, rcx
call qword [sym.imp.GDI32.dll_CombineRgn]
sub r14d, r12d
mov eax, dword [rsp + 0x68]
test eax, eax
jle 0x14006c8df
movd xmm6, r14d
cvtdq2ps xmm6, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x58]
call fcn.1400418d0
mov r11, r15
mov rax, qword [rbp - 0x48]
mov r10, qword [rbp - 0x50]
sub rax, r10
sar rax, 4
mov r12d, dword [rsp + 0x34]
test rax, rax
je 0x14006c9cb
mov r9, r15
movss xmm1, dword [0x14010a454]
mov esi, dword [rsp + 0x30]
nop dword [rax]
mov eax, dword [r10 + r9]
sub eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si r8d, xmm0
mov eax, dword [r10 + r9 + 4]
sub eax, r12d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si edx, xmm0
mov eax, dword [r10 + r9 + 8]
sub eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm1
cvttss2si ecx, xmm0
mov eax, dword [r10 + r9 + 0xc]
sub eax, r12d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp - 0x18], r8d
mov dword [rbp - 0x14], edx
mov dword [rbp - 0x10], ecx
mov dword [rbp - 0xc], eax
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [r10 + r9], xmm0
inc r11
add r9, 0x10
mov rax, qword [rbp - 0x48]
mov r10, qword [rbp - 0x50]
sub rax, r10
sar rax, 4
cmp r11, rax
jb 0x14006c930
mov rsi, qword [rbp - 0x38]
movups xmm7, xmmword [rbp - 0x50]
movsd xmm6, qword [rbp - 0x40]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r15
lea rcx, [0x14014e098]
call fcn.14001c7f0
movups xmmword [0x14014e098], xmm7
movsd qword [0x14014e0a8], xmm6
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14006ca45
mov rdx, qword [rbp - 0x40]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006ca34
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006cfd8
call fcn.14009ab24
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r15
test rbx, rbx
je 0x14006ca54
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14006ca79
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x14006ca79
mov r14d, dword [rsp + 0x48]
mov r12d, dword [rsp + 0x40]
jmp 0x14006c763
mov r12d, dword [rsp + 0x34]
call fcn.1400973f0
mov rbx, rax
call fcn.1400973d4
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
mov rcx, rdx
sar rcx, 0x12
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov qword [rbp - 0x58], rcx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140034880
test al, al
jne 0x14006cae7
mov r14d, 0xfffffffe
jmp 0x14006cb28
mov rax, qword [r13 + 0x48]
movaps xmm0, xmmword [rsp + 0x40]
mov r9d, dword [rsp + 0x50]
lea r8, [rbp - 0x80]
mov rdx, qword [rsp + 0x70]
mov rcx, r13
movdqa xmmword [rbp - 0x80], xmm0
cmp dword [rax + 0x80], 0
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
je 0x14006cb20
call fcn.140035230
jmp 0x14006cb25
call fcn.140034c50
mov r14d, eax
call fcn.1400973f0
mov rbx, rax
call fcn.1400973d4
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rcx, [rdi + 0x78]
mov r9d, r14d
mov rdx, qword [rbp - 0x58]
call fcn.140046db0
test r14d, r14d
je 0x14006cbc6
test rsi, rsi
je 0x14006cf90
mov rdx, qword [rbp - 0x28]
sub rdx, rsi
and rdx, 0xfffffffffffffff8
mov rax, rsi
cmp rdx, 0x1000
jb 0x14006cbb9
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006cfc6
mov rcx, rsi
call fcn.14009ab24
jmp 0x14006cf90
mov r14, qword [rsp + 0x60]
test r14, r14
je 0x14006cd58
movzx eax, byte [rdi + 0xd]
mov byte [r14], al
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + 0x20]
movzx ecx, byte [rax + 0x340]
mov byte [r14 + 1], cl
mov byte [r14 + 2], 0
mov rax, qword [rdi + 0x18]
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 0x20]
call fcn.14004fc70
lea rcx, [r14 + 0x10]
mov rdx, rax
call fcn.140041530
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14006cc21
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [rdi + 0x18]
mov r13, qword [rax + 0x20]
lea rcx, [r13 + 0xc8]
call fcn.14009977c
test eax, eax
je 0x14006cc40
mov ecx, eax
call fcn.140099370
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateRectRgn]
mov qword [rsp + 0x50], rax
mov r9d, 5
xor r8d, r8d
mov rdx, qword [r13 + 0x310]
mov rcx, rax
call qword [sym.imp.GDI32.dll_CombineRgn]
mov dword [rsp + 0x58], 0x40
lea rcx, [r13 + 0xc8]
call fcn.1400997a0
test eax, eax
je 0x14006cc8e
mov ecx, eax
call fcn.140099370
nop
lea rcx, [r14 + 8]
lea rdx, [rsp + 0x50]
call fcn.140041530
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14006ccad
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax + 0x20]
cmp dword [rcx + 0xc0], 1
je 0x14006cce4
lea rdx, [rsp + 0x60]
call fcn.14004fd60
lea rcx, [r14 + 0x18]
mov rdx, rax
call fcn.140041530
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14006cce4
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + 0x20]
mov rbx, qword [rax + 0x2d8]
mov qword [r14 + 0x20], rbx
call fcn.140042150
mov rcx, rax
mov r8, rbx
lea rdx, [rbp]
call fcn.140041c00
movss xmm0, dword [rbp + 0x88]
movss dword [r14 + 0x28], xmm0
lea rcx, [r14 + 0x2c]
lea rax, [rbp + 0x68]
cmp rcx, rax
je 0x14006cd3d
mov eax, dword [rbp + 0x68]
mov dword [rcx], eax
mov eax, dword [rbp + 0x6c]
mov dword [rcx + 4], eax
mov eax, dword [rbp + 0x70]
mov dword [rcx + 8], eax
mov eax, dword [rbp + 0x74]
mov dword [rcx + 0xc], eax
lea rcx, [rbp + 0x48]
call fcn.140007080
lea rcx, [rbp + 0x28]
call fcn.140007080
lea rcx, [rbp + 8]
call fcn.140007080
mov rax, qword [rsp + 0x70]
add rax, 0x88
lea rcx, [rbp - 0x80]
cmp rax, rcx
je 0x14006cd84
mov ecx, dword [rsp + 0x30]
mov dword [rax], ecx
mov dword [rax + 4], r12d
mov ecx, dword [rsp + 0x38]
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0x3c]
mov dword [rax + 0xc], ecx
mov r14d, r15d
test rsi, rsi
je 0x14006cf90
mov rdx, qword [rbp - 0x28]
sub rdx, rsi
and rdx, 0xfffffffffffffff8
mov rax, rsi
cmp rdx, 0x1000
jb 0x14006cbb9
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006cfcc
jmp 0x14006cbb9
cmp byte [rdi + 0xe], r15b
jne 0x14006cf13
mov byte [rdi + 0xe], 1
call fcn.140084bd0
cmp eax, 2
jl 0x14006cf13
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp]
call fcn.1400b93c0
lea rax, [0x1400fdef8]
mov qword [rbp], rax
mov dword [rsp + 0x58], 2
lea rsi, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x88], rsi
mov dword [rbp + 0x84], 0x78
xor r8d, r8d
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x88]
call fcn.1400075d0
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx], rbx
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 4], edx
mov edx, 2
lea rcx, [rbp + 8]
call fcn.140009f10
nop
lea rdx, str._screen_
lea rcx, [rbp]
call fcn.14000ae60
mov rcx, rax
lea rdx, str.MagCapturerBase::capture__capture_rect_is_empty
call fcn.14000ae60
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 8]
call fcn.140009e60
mov r15d, 0xa
lea rdx, [rbp - 0x38]
lea ecx, [r15 - 8]
call fcn.140084ea0
nop
lea rcx, [rbp - 0x38]
call fcn.140007080
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx], rbx
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 4], edx
lea rcx, [rbp + 8]
call fcn.140008ea0
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx], rsi
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 4], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x88]
call fcn.140097eb0
nop
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax + 0x20]
cmp dword [rcx + 0xc0], 1
je 0x14006cf40
lea rdx, [rbp - 0x38]
call fcn.14004fae0
or r15d, 1
mov rcx, qword [rax + 8]
cmp qword [rax], rcx
mov r14d, 0xfffffff3
jne 0x14006cf46
mov r14d, 0xfffffff4
test r15b, 1
je 0x14006cf90
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14006cf90
mov rdx, qword [rbp - 0x28]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006cbbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006cfd2
jmp 0x14006cbbc
mov r14d, 0xffffffff
mov eax, r14d
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.14009ab00
movaps xmm6, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x200]
add rsp, 0x228
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400bcf00
int3
call fcn.1400bcf00
int3
call fcn.1400bcf00
nop
call fcn.1400bcf00
nop
int3