Function at 0x180065310
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 0x180065362
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, dword [0x1806fe038]
cmp eax, 0x3e8
jl 0x180065d01
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.1800d12e4
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 0x1800658f9
movabs r15, 0x7c1f07c1f07c1f
lea r12, [0x1806feb50]
mov edx, 5
mov rcx, qword [rdi + 0x28]
call fcn.18005e260
test al, al
je 0x180065467
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.18001e950
lea rdx, [0x1800234a0]
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 0x180065425
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x18006543f
cmp rax, qword [rbx + 0x10]
jne 0x18006543f
mov rax, rbx
mov rbx, qword [rbx + 8]
cmp byte [rbx + 0x19], 0
je 0x180065410
jmp 0x18006543f
mov rcx, qword [rbx]
cmp byte [rcx + 0x19], 0
jne 0x18006543f
nop
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180065430
mov rdx, rdi
lea rcx, [0x1806fde08]
call fcn.180031530
mov edx, Ordinal_50
mov rcx, rax
call fcn.1800d1320
mov rdi, rbx
mov qword [rbp - 0x59], rbx
jmp 0x1800658ec
mov rsi, qword [rdi + 0x28]
mov rbx, qword [rsi]
cmp rbx, qword [0x1806fdc80]
je 0x180065544
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.18001e950
lea rdx, [0x18005c7b0]
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.18001e950
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, [0x1800234a0]
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 0x18006551c
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x18006543f
nop dword [rax + rax]
cmp rax, qword [rbx + 0x10]
jne 0x18006543f
mov rax, rbx
mov rbx, qword [rbx + 8]
cmp byte [rbx + 0x19], 0
je 0x180065500
jmp 0x18006543f
mov rcx, qword [rbx]
cmp byte [rcx + 0x19], 0
jne 0x18006543f
nop dword [rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180065530
jmp 0x18006543f
test rsi, rsi
je 0x1800658b3
cmp dword [rsi + 0x180], 0
je 0x1800658b3
mov eax, dword [rdi + 0x20]
cmp dword [rsi + 0x90], eax
je 0x180065571
lea rdx, str.__________CheckUnits_Different_EntityID
jmp 0x1800658ba
mov edx, 6
mov rcx, qword [rsi + 0x38]
call fcn.18005e260
test al, al
je 0x18006558f
lea rdx, str.CheckUnits_is_bad_ptr_PropertyBagGroupOverlayPtr
jmp 0x1800658ba
mov rbx, qword [rsi + 0x38]
test rbx, rbx
jne 0x1800655a4
lea rdx, str.CheckUnits_is_bad_ptr_PropertyBagGroupOverlayPtr
jmp 0x1800658ba
cmp qword [rbx], 0
jne 0x1800655b6
lea rdx, str.objectPropertyBagGroupOverlay__nullptr
jmp 0x1800658ba
mov edx, 7
mov rcx, rbx
call fcn.18005e260
test al, al
jne 0x1800658aa
lea r14, [rbx + 0x5c]
mov rbx, qword [0x1806feb50]
mov rax, qword [rbx + 8]
mov rdx, rbx
movzx r9d, byte [rax + 0x19]
test r9b, r9b
jne 0x180065608
mov r8d, dword [r14]
mov rcx, rax
nop dword [rax]
cmp dword [rcx + 0x20], r8d
jge 0x1800655fc
mov rcx, qword [rcx + 0x10]
jmp 0x180065602
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1800655f0
cmp byte [rdx + 0x19], 0
jne 0x1800658a1
mov r8d, dword [r14]
cmp r8d, dword [rdx + 0x20]
jl 0x1800658a1
mov qword [rbp - 0x49], rax
mov dword [rbp - 0x41], r13d
mov rcx, rbx
test r9b, r9b
jne 0x180065657
nop
mov qword [rbp - 0x49], rax
cmp dword [rax + 0x20], r8d
jge 0x180065644
mov dword [rbp - 0x41], r13d
mov rax, qword [rax + 0x10]
jmp 0x180065651
mov dword [rbp - 0x41], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180065630
cmp byte [rcx + 0x19], 0
jne 0x180065667
cmp r8d, dword [rcx + 0x20]
jge 0x18006571a
cmp qword [0x1806feb58], r15
je 0x180065d35
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r13
mov ecx, 0x210
call fcn.1800d12e4
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.180031920
mov rcx, rax
lea rax, [rcx + 0x28]
test rax, rax
jne 0x18006572f
lea rdx, str.CheckUnits_unit__nullptr
jmp 0x1800658ba
mov edx, 8
mov rcx, qword [rsi + 0xa8]
call fcn.18005e260
test al, al
je 0x180065750
lea rdx, str.CheckUnits_is_bad_ptr_GameObjectProxyPtr
jmp 0x1800658ba
mov rbx, qword [rsi + 0xa8]
test rbx, rbx
jne 0x180065768
lea rdx, str.CheckUnits_gameObjectProxy__nullptr
jmp 0x1800658ba
mov rdx, qword [rbx + 0xb8]
test rdx, rdx
jne 0x1800657a9
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.18001e950
lea rdx, [0x1800234a0]
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.180061140
mov rdi, qword [rbp - 0x59]
jmp 0x1800658ec
mov rsi, qword [rdx]
cmp rsi, qword [0x1806fdcb0]
je 0x18006581c
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.18001e950
lea rdx, [0x18005c7b0]
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.18001e950
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 0x1800658c6
add rdx, 0x104
lea rcx, [rbp + 0x17]
call fcn.180060eb0
mov r8, rax
mov rax, qword [rax]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x180065857
mov edx, dword [r14]
nop
cmp dword [rcx + 0x1c], edx
jge 0x18006584b
mov rcx, qword [rcx + 0x10]
jmp 0x180065851
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180065840
cmp byte [rax + 0x19], 0
jne 0x180065881
mov eax, dword [rax + 0x1c]
cmp dword [r14], eax
jl 0x180065881
mov rdx, r14
mov rcx, r8
call fcn.1800609b0
inc dword [rax]
lea rcx, [rbp - 0x59]
call fcn.180061140
mov rdi, qword [rbp - 0x59]
jmp 0x1800658ec
mov rdx, r14
mov rcx, r8
call fcn.1800609b0
mov dword [rax], 1
lea rcx, [rbp - 0x59]
call fcn.180061140
mov rdi, qword [rbp - 0x59]
jmp 0x1800658ec
lea rdx, str.CheckUnits_game_units.count_propBagOverlay__parentPBGId___0
jmp 0x1800658ba
lea rdx, str.CheckUnits_propBagOverlay__nullptr
jmp 0x1800658ba
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.18001e950
lea rdx, [0x1800234a0]
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.180068e60
mov rdi, rax
mov qword [rbp - 0x59], rax
cmp rdi, qword [0x1806fde08]
jne 0x1800653c0
mov rsi, qword [0x1806fea10]
mov rdi, qword [rsi + 8]
lea r12, [0x1806fea10]
cmp byte [rdi + 0x19], 0
jne 0x180065942
mov r8, qword [rdi + 0x10]
mov rdx, r12
mov rcx, r12
call fcn.18005f4a0
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x28]
call fcn.180060890
mov edx, 0x50
mov rcx, rbx
call fcn.1800d1320
cmp byte [rdi + 0x19], 0
je 0x180065911
mov qword [rsi + 8], rsi
mov qword [rsi], rsi
mov qword [rsi + 0x10], rsi
mov qword [0x1806fea18], r13
mov r8, qword [0x1806fea10]
mov rdx, qword [rbp + 0x17]
mov rdx, qword [rdx + 8]
mov rcx, r12
call fcn.18005ed10
mov rcx, qword [0x1806fea10]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x1f]
mov qword [0x1806fea18], rax
mov r8, qword [0x1806fea10]
mov rdx, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x1800659e3
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
jne 0x1800659af
nop dword [rax + rax]
mov rdx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1800659a0
mov qword [r8], rdx
mov rdx, qword [0x1806fea10]
mov rcx, qword [rdx + 8]
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1800659dd
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x1800659d0
mov qword [rdx + 0x10], rcx
jmp 0x1800659f1
mov qword [r8], r8
mov rax, qword [0x1806fea10]
mov qword [rax + 0x10], rax
mov rcx, qword [rbp + 0x17]
mov rdi, qword [rcx]
cmp byte [rdi + 0x19], 0
jne 0x180065cad
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 0x180065ade
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 0x180065a66
mov rax, qword [rbp - 0x59]
mov qword [rdx], rax
mov rdx, qword [rbp + 7]
add rdx, 8
mov qword [rbp + 7], rdx
jmp 0x180065a77
lea r8, [rbp - 0x59]
lea rcx, [rbp - 1]
call fcn.18005f270
mov rdx, qword [rbp + 7]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x180065aa8
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x180065aa3
nop dword [rax + rax]
cmp rbx, qword [rax + 0x10]
jne 0x180065aa3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180065a90
mov rbx, rax
jmp 0x180065acf
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x180065acf
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180065ac0
cmp byte [rbx + 0x19], 0
jne 0x180065ade
mov rcx, qword [rbp + 0xf]
jmp 0x180065a40
mov r8, rdx
mov rcx, qword [rbp - 1]
sub r8, rcx
sar r8, 3
movzx r9d, sil
call fcn.18005f910
mov r15, qword [0x1806fea10]
mov rax, qword [r15 + 8]
mov qword [rbp - 0x19], rax
mov dword [rbp - 0x11], r13d
mov rcx, r15
cmp byte [rax + 0x19], 0
jne 0x180065b3a
mov edx, dword [rdi + 0x20]
mov qword [rbp - 0x19], rax
cmp dword [rax + 0x20], edx
jge 0x180065b27
mov dword [rbp - 0x11], r13d
mov rax, qword [rax + 0x10]
jmp 0x180065b34
mov dword [rbp - 0x11], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180065b14
cmp byte [rcx + 0x19], 0
jne 0x180065b4c
mov eax, dword [rcx + 0x20]
cmp dword [rdi + 0x20], eax
jge 0x180065beb
cmp qword [0x1806fea18], r14
je 0x180065d3b
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r13
mov ecx, 0x50
call fcn.1800d12e4
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.1800d12e4
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.180031920
mov rcx, rax
movabs r14, 0x333333333333333
add rcx, 0x38
lea rax, [rbp - 1]
cmp rcx, rax
je 0x180065c0d
mov r8, qword [rbp + 7]
mov rdx, qword [rbp - 1]
sub r8, rdx
sar r8, 3
call fcn.18005eb00
nop
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x180065c53
mov rax, qword [rbp + 0xf]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180065c4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180065d2e
call fcn.1800d1320
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x19], 0
je 0x180065c7f
mov rax, qword [rdi + 8]
cmp byte [rax + 0x19], 0
jne 0x180065c7a
cmp rdi, qword [rax + 0x10]
jne 0x180065c7a
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180065c67
mov rdi, rax
jmp 0x180065c9f
mov rdi, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x180065c9f
nop dword [rax + rax]
mov rdi, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180065c90
cmp byte [rdi + 0x19], 0
je 0x180065a10
mov rcx, qword [rbp + 0x17]
mov rdi, qword [rcx + 8]
cmp byte [rdi + 0x19], 0
jne 0x180065cf7
nop word [rax + rax]
mov r8, qword [rdi + 0x10]
lea rdx, [rbp + 0x17]
lea rcx, [rbp + 0x17]
call fcn.18005f4a0
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x28]
call fcn.180060890
mov edx, 0x50
mov rcx, rbx
call fcn.1800d1320
cmp byte [rdi + 0x19], 0
je 0x180065cc0
mov rcx, qword [rbp + 0x17]
mov edx, 0x50
call fcn.1800d1320
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800d1810
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.180031f10
nop
call fcn.180031f10
int3