Function at 0x1800652d0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x180572380]
xor rax, rsp
mov qword [rbp + 0x27], rax
cmp dword [0x1806fe038], 0
jle 0x180065322
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, dword [0x1806fe038]
cmp eax, 0x3e8
jl 0x180065cc1
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov dword [0x1806fe038], eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x17], xmm1
mov ecx, 0x50
call fcn.1800d10f4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x17], rax
mov rax, qword [0x1806fde08]
mov rdi, qword [rax]
mov qword [rbp - 0x59], rdi
xor r13d, r13d
cmp rdi, rax
je 0x1800658b9
movabs r15, 0x7c1f07c1f07c1f
lea r12, [0x1806feb40]
mov edx, 5
mov rcx, qword [rdi + 0x28]
call fcn.18005e220
test al, al
je 0x180065427
lea rdx, str.CheckUnits_is_bad_ptr_i__second
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001e910
lea rdx, [0x180023460]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, rdi
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x19], 0
je 0x1800653e5
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x1800653ff
cmp rax, qword [rbx + 0x10]
jne 0x1800653ff
mov rax, rbx
mov rbx, qword [rbx + 8]
cmp byte [rbx + 0x19], 0
je 0x1800653d0
jmp 0x1800653ff
mov rcx, qword [rbx]
cmp byte [rcx + 0x19], 0
jne 0x1800653ff
nop
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1800653f0
mov rdx, rdi
lea rcx, [0x1806fde08]
call fcn.1800314f0
mov edx, Ordinal_50
mov rcx, rax
call fcn.1800d1130
mov rdi, rbx
mov qword [rbp - 0x59], rbx
jmp 0x1800658ac
mov rsi, qword [rdi + 0x28]
mov rbx, qword [rsi]
cmp rbx, qword [0x1806fdc80]
je 0x180065504
lea rdx, str.CheckUnits_Invalid_VTable
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001e910
lea rdx, [0x18005c770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, qword [rdi + 0x28]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_long___int64_____ptr64]
mov rcx, rax
lea rdx, str._VTable:
call fcn.18001e910
sub rbx, qword [0x1806fdc18]
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x180023460]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, rdi
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x19], 0
je 0x1800654dc
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x1800653ff
nop dword [rax + rax]
cmp rax, qword [rbx + 0x10]
jne 0x1800653ff
mov rax, rbx
mov rbx, qword [rbx + 8]
cmp byte [rbx + 0x19], 0
je 0x1800654c0
jmp 0x1800653ff
mov rcx, qword [rbx]
cmp byte [rcx + 0x19], 0
jne 0x1800653ff
nop dword [rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1800654f0
jmp 0x1800653ff
test rsi, rsi
je 0x180065873
cmp dword [rsi + 0x180], 0
je 0x180065873
mov eax, dword [rdi + 0x20]
cmp dword [rsi + 0x90], eax
je 0x180065531
lea rdx, str.__________CheckUnits_Different_EntityID
jmp 0x18006587a
mov edx, 6
mov rcx, qword [rsi + 0x38]
call fcn.18005e220
test al, al
je 0x18006554f
lea rdx, str.CheckUnits_is_bad_ptr_PropertyBagGroupOverlayPtr
jmp 0x18006587a
mov rbx, qword [rsi + 0x38]
test rbx, rbx
jne 0x180065564
lea rdx, str.CheckUnits_is_bad_ptr_PropertyBagGroupOverlayPtr
jmp 0x18006587a
cmp qword [rbx], 0
jne 0x180065576
lea rdx, str.objectPropertyBagGroupOverlay__nullptr
jmp 0x18006587a
mov edx, 7
mov rcx, rbx
call fcn.18005e220
test al, al
jne 0x18006586a
lea r14, [rbx + 0x5c]
mov rbx, qword [0x1806feb40]
mov rax, qword [rbx + 8]
mov rdx, rbx
movzx r9d, byte [rax + 0x19]
test r9b, r9b
jne 0x1800655c8
mov r8d, dword [r14]
mov rcx, rax
nop dword [rax]
cmp dword [rcx + 0x20], r8d
jge 0x1800655bc
mov rcx, qword [rcx + 0x10]
jmp 0x1800655c2
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1800655b0
cmp byte [rdx + 0x19], 0
jne 0x180065861
mov r8d, dword [r14]
cmp r8d, dword [rdx + 0x20]
jl 0x180065861
mov qword [rbp - 0x49], rax
mov dword [rbp - 0x41], r13d
mov rcx, rbx
test r9b, r9b
jne 0x180065617
nop
mov qword [rbp - 0x49], rax
cmp dword [rax + 0x20], r8d
jge 0x180065604
mov dword [rbp - 0x41], r13d
mov rax, qword [rax + 0x10]
jmp 0x180065611
mov dword [rbp - 0x41], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800655f0
cmp byte [rcx + 0x19], 0
jne 0x180065627
cmp r8d, dword [rcx + 0x20]
jge 0x1800656da
cmp qword [0x1806feb48], r15
je 0x180065cf5
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r13
mov ecx, 0x210
call fcn.1800d10f4
nop
mov ecx, dword [r14]
mov dword [rax + 0x20], ecx
xorps xmm0, xmm0
movups xmmword [rax + 0x28], xmm0
mov qword [rax + 0x38], r13
mov qword [rax + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rax + 0x28], 0
movups xmmword [rax + 0x48], xmm0
mov qword [rax + 0x58], r13
mov qword [rax + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rax + 0x48], 0
movups xmmword [rax + 0x68], xmm0
mov qword [rax + 0x78], r13
mov qword [rax + 0x80], reloc.WS2_32.dll_ntohs
mov byte [rax + 0x68], 0
mov dword [rax + 0x1f8], 0x42200000
mov qword [rax + 0x1fc], 0x42200000
mov dword [rax + 0x204], r13d
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
mov qword [rbp - 0x21], r13
movups xmm0, xmmword [rbp - 0x49]
movaps xmmword [rbp - 0x49], xmm0
mov r8, rax
lea rdx, [rbp - 0x49]
mov rcx, r12
call fcn.1800318e0
mov rcx, rax
lea rax, [rcx + 0x28]
test rax, rax
jne 0x1800656ef
lea rdx, str.CheckUnits_unit__nullptr
jmp 0x18006587a
mov edx, 8
mov rcx, qword [rsi + 0xa8]
call fcn.18005e220
test al, al
je 0x180065710
lea rdx, str.CheckUnits_is_bad_ptr_GameObjectProxyPtr
jmp 0x18006587a
mov rbx, qword [rsi + 0xa8]
test rbx, rbx
jne 0x180065728
lea rdx, str.CheckUnits_gameObjectProxy__nullptr
jmp 0x18006587a
mov rdx, qword [rbx + 0xb8]
test rdx, rdx
jne 0x180065769
lea rdx, str.CheckUnits_GameObjectPtr__nullptr
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001e910
lea rdx, [0x180023460]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp - 0x59]
call fcn.180061100
mov rdi, qword [rbp - 0x59]
jmp 0x1800658ac
mov rsi, qword [rdx]
cmp rsi, qword [0x1806fdcb0]
je 0x1800657dc
lea rcx, str.Invalid_vTable_GameObject
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rdx, str.Invalid_vTable_GameObject:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001e910
lea rdx, [0x18005c770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, qword [rbx + 0xb8]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
mov rcx, rax
lea rdx, str._VTable:
call fcn.18001e910
sub rsi, qword [0x1806fdc18]
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
jmp 0x180065886
add rdx, 0x104
lea rcx, [rbp + 0x17]
call fcn.180060e70
mov r8, rax
mov rax, qword [rax]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x180065817
mov edx, dword [r14]
nop
cmp dword [rcx + 0x1c], edx
jge 0x18006580b
mov rcx, qword [rcx + 0x10]
jmp 0x180065811
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180065800
cmp byte [rax + 0x19], 0
jne 0x180065841
mov eax, dword [rax + 0x1c]
cmp dword [r14], eax
jl 0x180065841
mov rdx, r14
mov rcx, r8
call fcn.180060970
inc dword [rax]
lea rcx, [rbp - 0x59]
call fcn.180061100
mov rdi, qword [rbp - 0x59]
jmp 0x1800658ac
mov rdx, r14
mov rcx, r8
call fcn.180060970
mov dword [rax], 1
lea rcx, [rbp - 0x59]
call fcn.180061100
mov rdi, qword [rbp - 0x59]
jmp 0x1800658ac
lea rdx, str.CheckUnits_game_units.count_propBagOverlay__parentPBGId___0
jmp 0x18006587a
lea rdx, str.CheckUnits_propBagOverlay__nullptr
jmp 0x18006587a
lea rdx, str.CheckUnits_entity__nullptr
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001e910
lea rdx, [0x180023460]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rdx, rdi
lea rcx, [0x1806fde08]
call fcn.180068e20
mov rdi, rax
mov qword [rbp - 0x59], rax
cmp rdi, qword [0x1806fde08]
jne 0x180065380
mov rsi, qword [0x1806fea00]
mov rdi, qword [rsi + 8]
lea r12, [0x1806fea00]
cmp byte [rdi + 0x19], 0
jne 0x180065902
mov r8, qword [rdi + 0x10]
mov rdx, r12
mov rcx, r12
call fcn.18005f460
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x28]
call fcn.180060850
mov edx, 0x50
mov rcx, rbx
call fcn.1800d1130
cmp byte [rdi + 0x19], 0
je 0x1800658d1
mov qword [rsi + 8], rsi
mov qword [rsi], rsi
mov qword [rsi + 0x10], rsi
mov qword [0x1806fea08], r13
mov r8, qword [0x1806fea00]
mov rdx, qword [rbp + 0x17]
mov rdx, qword [rdx + 8]
mov rcx, r12
call fcn.18005ecd0
mov rcx, qword [0x1806fea00]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x1f]
mov qword [0x1806fea08], rax
mov r8, qword [0x1806fea00]
mov rdx, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x1800659a3
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
jne 0x18006596f
nop dword [rax + rax]
mov rdx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180065960
mov qword [r8], rdx
mov rdx, qword [0x1806fea00]
mov rcx, qword [rdx + 8]
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x18006599d
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x180065990
mov qword [rdx + 0x10], rcx
jmp 0x1800659b1
mov qword [r8], r8
mov rax, qword [0x1806fea00]
mov qword [rax + 0x10], rax
mov rcx, qword [rbp + 0x17]
mov rdi, qword [rcx]
cmp byte [rdi + 0x19], 0
jne 0x180065c6d
movabs r14, 0x333333333333333
movzx esi, byte [rbp - 0x51]
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
mov rcx, r13
mov qword [rbp + 0xf], rcx
mov rbx, qword [rdi + 0x28]
mov rbx, qword [rbx]
mov rdx, qword [rbp + 7]
cmp byte [rbx + 0x19], 0
jne 0x180065a9e
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbx + 0x1c]
mov dword [rbp - 0x59], eax
mov eax, dword [rbx + 0x20]
mov dword [rbp - 0x55], eax
cmp rdx, rcx
je 0x180065a26
mov rax, qword [rbp - 0x59]
mov qword [rdx], rax
mov rdx, qword [rbp + 7]
add rdx, 8
mov qword [rbp + 7], rdx
jmp 0x180065a37
lea r8, [rbp - 0x59]
lea rcx, [rbp - 1]
call fcn.18005f230
mov rdx, qword [rbp + 7]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x180065a68
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x180065a63
nop dword [rax + rax]
cmp rbx, qword [rax + 0x10]
jne 0x180065a63
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180065a50
mov rbx, rax
jmp 0x180065a8f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x180065a8f
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180065a80
cmp byte [rbx + 0x19], 0
jne 0x180065a9e
mov rcx, qword [rbp + 0xf]
jmp 0x180065a00
mov r8, rdx
mov rcx, qword [rbp - 1]
sub r8, rcx
sar r8, 3
movzx r9d, sil
call fcn.18005f8d0
mov r15, qword [0x1806fea00]
mov rax, qword [r15 + 8]
mov qword [rbp - 0x19], rax
mov dword [rbp - 0x11], r13d
mov rcx, r15
cmp byte [rax + 0x19], 0
jne 0x180065afa
mov edx, dword [rdi + 0x20]
mov qword [rbp - 0x19], rax
cmp dword [rax + 0x20], edx
jge 0x180065ae7
mov dword [rbp - 0x11], r13d
mov rax, qword [rax + 0x10]
jmp 0x180065af4
mov dword [rbp - 0x11], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180065ad4
cmp byte [rcx + 0x19], 0
jne 0x180065b0c
mov eax, dword [rcx + 0x20]
cmp dword [rdi + 0x20], eax
jge 0x180065bab
cmp qword [0x1806fea08], r14
je 0x180065cfb
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r13
mov ecx, 0x50
call fcn.1800d10f4
mov r14, rax
mov qword [rbp - 0x21], rax
mov ecx, dword [rdi + 0x20]
mov dword [rax + 0x20], ecx
lea rbx, [rax + 0x28]
mov qword [rbp - 0x49], rbx
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov ecx, Ordinal_41
call fcn.1800d10f4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov qword [rbx + 0x20], r13
mov qword [r14], r15
mov qword [r14 + 8], r15
mov qword [r14 + 0x10], r15
mov word [r14 + 0x18], 0
mov qword [rbp - 0x21], r13
movups xmm0, xmmword [rbp - 0x19]
movaps xmmword [rbp - 0x49], xmm0
mov r8, r14
lea rdx, [rbp - 0x49]
mov rcx, r12
call fcn.1800318e0
mov rcx, rax
movabs r14, 0x333333333333333
add rcx, 0x38
lea rax, [rbp - 1]
cmp rcx, rax
je 0x180065bcd
mov r8, qword [rbp + 7]
mov rdx, qword [rbp - 1]
sub r8, rdx
sar r8, 3
call fcn.18005eac0
nop
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x180065c13
mov rax, qword [rbp + 0xf]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180065c0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180065cee
call fcn.1800d1130
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x19], 0
je 0x180065c3f
mov rax, qword [rdi + 8]
cmp byte [rax + 0x19], 0
jne 0x180065c3a
cmp rdi, qword [rax + 0x10]
jne 0x180065c3a
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180065c27
mov rdi, rax
jmp 0x180065c5f
mov rdi, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x180065c5f
nop dword [rax + rax]
mov rdi, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180065c50
cmp byte [rdi + 0x19], 0
je 0x1800659d0
mov rcx, qword [rbp + 0x17]
mov rdi, qword [rcx + 8]
cmp byte [rdi + 0x19], 0
jne 0x180065cb7
nop word [rax + rax]
mov r8, qword [rdi + 0x10]
lea rdx, [rbp + 0x17]
lea rcx, [rbp + 0x17]
call fcn.18005f460
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x28]
call fcn.180060850
mov edx, 0x50
mov rcx, rbx
call fcn.1800d1130
cmp byte [rdi + 0x19], 0
je 0x180065c80
mov rcx, qword [rbp + 0x17]
mov edx, 0x50
call fcn.1800d1130
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800d1620
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.180031ed0
nop
call fcn.180031ed0
int3