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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xc8
mov qword [rbp - 0x41], 0xfffffffffffffffe
mov esi, r9d
mov r15, rdx
mov rdi, rcx
lea rax, sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov qword [rbp + 0x5f], rax
lea r12, [r8 + 0x20]
mov rax, qword [r12]
mov r8d, dword [rax]
cmp r8d, 1
jbe 0x1801c3cf9
mov rax, qword [r12]
mov edx, dword [rax + 8]
and edx, 0x7fffffff
jne 0x1801c3cee
lea r9d, [rdx + 2]
xor r8d, r8d
lea edx, [r9 + 6]
lea ecx, [rdx + 0x10]
call sym.Qt5Core.dll_public:_static_struct_QArrayData____ptr64___cdecl_QArrayData::allocate_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___class_QFlags_enum_QArrayData::AllocationOption__
mov qword [r12], rax
mov rcx, rax
mov r14, qword [rax + 0x10]
add r14, rax
movzx r13d, byte [rbp + 0x87]
jmp 0x1801c3d15
xor r8d, r8d
mov rcx, r12
call fcn.1801b25d0
mov rcx, qword [r12]
mov r14, qword [rcx + 0x10]
add r14, rcx
movzx r13d, byte [rbp + 0x87]
jmp 0x1801c3d15
mov rdi, qword [rbp + 0x4f]
mov esi, dword [rbp + 0x67]
mov rax, qword [r12]
mov ecx, dword [rax]
cmp ecx, 1
jbe 0x1801c3d53
mov rax, qword [r12]
mov edx, dword [rax + 8]
and edx, 0x7fffffff
jne 0x1801c3d48
lea r9d, [rdx + 2]
xor r8d, r8d
lea edx, [r9 + 6]
lea ecx, [rdx + 0x10]
call sym.Qt5Core.dll_public:_static_struct_QArrayData____ptr64___cdecl_QArrayData::allocate_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___class_QFlags_enum_QArrayData::AllocationOption__
mov qword [r12], rax
jmp 0x1801c3d53
xor r8d, r8d
mov rcx, r12
call fcn.1801b25d0
mov r8, qword [r12]
movsxd rax, dword [r8 + 4]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
lea rdx, [rax + rcx*8]
add rdx, r8
cmp r14, rdx
je 0x1801c3ffb
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x38], xmm0
movsd xmm1, qword [r14 + 0x10]
movsd qword [rbp - 0x79], xmm1
mov ebx, dword [rsp + 0x38]
cmp esi, 2
jne 0x1801c3d94
mov edx, ebx
jmp 0x1801c3d9d
mov rdx, qword [rsp + 0x38]
shr rdx, 0x20
cmp edx, dword [rbp + 0x6f]
jge 0x1801c3dab
add r14, 0x18
jmp 0x1801c3d15
test r13b, r13b
je 0x1801c3e42
cmp edx, dword [rbp + 0x77]
jg 0x1801c3e42
lea r8, [r14 + 0x18]
mov rdx, r14
mov rcx, r12
call fcn.1801bd050
mov r14, rax
lea rcx, [rdi + 0x90]
lea rdx, [rsp + 0x38]
call fcn.1801c3b30
mov rsi, rax
test rax, rax
je 0x1801c3d12
mov r9, qword [rax + 0x20]
mov r8, qword [r9 + 0x10]
movsxd rcx, dword [r9 + 4]
lea rdx, [rcx + rcx*2]
lea rdi, [r8 + rdx*8]
add rdi, r9
lea rbx, [r8 + r9]
cmp rbx, rdi
je 0x1801c3e28
mov r15, qword [rbp + 0x4f]
mov rdx, rbx
mov rcx, r15
call fcn.1801c0b30
add rbx, 0x18
cmp rbx, rdi
jne 0x1801c3e10
mov r15, qword [rbp + 0x57]
mov rcx, rsi
call fcn.1801b9e50
mov edx, 0x30
mov rcx, rsi
call fcn.1802e1b04
jmp 0x1801c3d0e
mov ecx, dword [rbp + 0x7f]
lea eax, [rdx + rcx]
sub edx, ecx
test r13b, r13b
cmove edx, eax
mov edi, dword [rsp + 0x3c]
mov rax, qword [rbp + 0x4f]
mov qword [rsp + 0x20], r15
mov rcx, qword [rax + 0x88]
mov rax, qword [rcx]
cmp esi, 2
jne 0x1801c3e78
mov r9d, edi
mov r8d, edx
lea rdx, [rbp - 0x39]
jmp 0x1801c3e82
mov r9d, edx
mov r8d, ebx
lea rdx, [rbp - 0x21]
call qword [rax + 0x58]
movsd xmm1, qword [rax + 0x10]
movups xmm0, xmmword [rax]
movsd qword [rsp + 0x30], xmm1
movups xmmword [rbp - 0x71], xmm0
movups xmmword [r14], xmm0
movsd qword [r14 + 0x10], xmm1
add r14, 0x18
mov rsi, qword [rbp + 0x4f]
add rsi, 0x90
mov rax, qword [rsi]
cmp dword [rax + 0x14], 0
je 0x1801c3f7b
mov rcx, rsi
call fcn.180197f00
mov r8, qword [rsi]
mov ecx, dword [r8 + 0x20]
test ecx, ecx
je 0x1801c3f37
mov r9d, ebx
shl r9d, 4
add r9d, dword [rsp + 0x40]
add r9d, edi
xor r9d, dword [r8 + 0x24]
xor edx, edx
mov eax, r9d
div ecx
mov rax, qword [r8 + 8]
lea r15, [rax + rdx*8]
mov rdx, qword [r15]
cmp rdx, r8
je 0x1801c3f3d
mov rax, rdx
mov rcx, qword [rbp - 0x79]
mov r10, qword [rsp + 0x40]
cmp r9d, dword [rax + 8]
jne 0x1801c3f22
cmp dword [rax + 0x10], ebx
jne 0x1801c3f22
cmp qword [rax + 0x18], r10
jne 0x1801c3f22
cmp dword [rax + 0x14], edi
jne 0x1801c3f22
cmp qword [rax + 0x20], rcx
je 0x1801c3f32
mov r15, rax
mov rdx, qword [rax]
mov rax, rdx
cmp rdx, r8
je 0x1801c3f3d
jmp 0x1801c3f06
mov rdx, qword [r15]
jmp 0x1801c3f3d
mov r15, rsi
mov rdx, r8
mov rax, r8
cmp rdx, rax
je 0x1801c3f71
mov rdi, qword [rdx + 0x28]
mov rbx, qword [rdx]
mov rcx, r8
call sym.Qt5Core.dll_public:_void___cdecl_QHashData::freeNode_void____ptr64____ptr64
mov qword [r15], rbx
mov rax, qword [rsi]
dec dword [rax + 0x14]
mov rcx, qword [rsi]
call sym.Qt5Core.dll_public:_void___cdecl_QHashData::hasShrunk_void____ptr64
movsd xmm1, qword [rsp + 0x30]
mov r15, qword [rbp + 0x57]
jmp 0x1801c3f7d
movsd xmm1, qword [rsp + 0x30]
mov r15, qword [rbp + 0x57]
xor edi, edi
movups xmm0, xmmword [rbp - 0x71]
movups xmmword [rbp - 0x61], xmm0
movsd qword [rbp - 0x51], xmm1
mov qword [rbp - 0x49], rdi
mov rax, qword [rbp + 0x5f]
mov edx, dword [rax + 8]
btr edx, 0x1f
mov r9d, dword [rax + 4]
inc r9d
mov ecx, dword [rax]
cmp ecx, 1
ja 0x1801c3fac
cmp r9d, edx
jbe 0x1801c3fd2
cmp edx, r9d
sbb r8d, r8d
and r8d, 8
cmp r9d, edx
jbe 0x1801c3fc2
mov edx, dword [rax + 4]
inc edx
jmp 0x1801c3fc9
mov edx, dword [rax + 8]
btr edx, 0x1f
lea rcx, [rbp + 0x5f]
call fcn.1801c0280
mov rax, qword [rbp + 0x5f]
movsxd rcx, dword [rax + 4]
shl rcx, 5
add rcx, qword [rax + 0x10]
movups xmm0, xmmword [rbp - 0x61]
movups xmmword [rcx + rax], xmm0
movups xmm1, xmmword [rbp - 0x51]
movups xmmword [rcx + rax + 0x10], xmm1
inc dword [rax + 4]
jmp 0x1801c3d0e
mov rax, qword [rbp + 0x5f]
mov ecx, dword [rax]
cmp ecx, 1
jbe 0x1801c403d
mov rax, qword [rbp + 0x5f]
mov edx, dword [rax + 8]
and edx, 0x7fffffff
jne 0x1801c4031
lea r9d, [rdx + 2]
xor r8d, r8d
lea edx, [r9 + 6]
lea ecx, [rdx + 0x18]
call sym.Qt5Core.dll_public:_static_struct_QArrayData____ptr64___cdecl_QArrayData::allocate_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___class_QFlags_enum_QArrayData::AllocationOption__
mov rbx, rax
mov qword [rbp + 0x5f], rax
jmp 0x1801c4041
xor r8d, r8d
lea rcx, [rbp + 0x5f]
call fcn.1801c0280
mov rbx, qword [rbp + 0x5f]
mov rdi, qword [rbx + 0x10]
add rdi, rbx
mov eax, dword [rbx]
cmp eax, 1
jbe 0x1801c4086
mov rax, qword [rbp + 0x5f]
mov edx, dword [rax + 8]
and edx, 0x7fffffff
jne 0x1801c407a
lea r9d, [rdx + 2]
xor r8d, r8d
lea edx, [r9 + 6]
lea ecx, [rdx + 0x18]
call sym.Qt5Core.dll_public:_static_struct_QArrayData____ptr64___cdecl_QArrayData::allocate_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___class_QFlags_enum_QArrayData::AllocationOption__
mov rbx, rax
mov qword [rbp + 0x5f], rax
jmp 0x1801c408a
xor r8d, r8d
lea rcx, [rbp + 0x5f]
call fcn.1801c0280
mov rbx, qword [rbp + 0x5f]
movsxd rax, dword [rbx + 4]
shl rax, 5
add rax, qword [rbx + 0x10]
add rax, rbx
cmp rdi, rax
je 0x1801c420b
mov r15, qword [rbp + 0x4f]
add r15, 0x90
mov rcx, r15
call fcn.180197f00
mov r8, qword [r15]
mov r11d, dword [r8 + 0x20]
mov r9d, dword [rdi + 4]
mov r10d, dword [rdi]
mov r14d, r10d
shl r14d, 4
add r14d, dword [rdi + 8]
add r14d, r9d
xor r14d, dword [r8 + 0x24]
test r11d, r11d
je 0x1801c4128
xor edx, edx
mov eax, r14d
div r11d
mov rax, qword [r8 + 8]
lea rsi, [rax + rdx*8]
mov rcx, qword [rsi]
cmp rcx, r8
je 0x1801c4123
cmp r14d, dword [rcx + 8]
jne 0x1801c4118
cmp dword [rcx + 0x10], r10d
jne 0x1801c4118
mov rax, qword [rdi + 8]
cmp qword [rcx + 0x18], rax
jne 0x1801c4118
cmp dword [rcx + 0x14], r9d
jne 0x1801c4118
mov rax, qword [rdi + 0x10]
cmp qword [rcx + 0x20], rax
je 0x1801c4123
mov rsi, rcx
mov rcx, qword [rcx]
cmp rcx, r8
jne 0x1801c40f2
mov rcx, qword [rsi]
jmp 0x1801c412e
mov rsi, r15
mov rcx, r8
mov rax, r8
cmp rcx, rax
jne 0x1801c41ef
cmp dword [r8 + 0x14], r11d
jl 0x1801c41a5
movsx edx, word [r8 + 0x1e]
inc edx
mov rcx, r8
call sym.Qt5Core.dll_public:_void___cdecl_QHashData::rehash_int____ptr64
mov r8, qword [r15]
mov ecx, dword [r8 + 0x20]
test ecx, ecx
je 0x1801c41a2
xor edx, edx
mov eax, r14d
div ecx
mov rax, qword [r8 + 8]
lea rsi, [rax + rdx*8]
mov rax, qword [rsi]
cmp rax, r8
je 0x1801c41a5
cmp r14d, dword [rax + 8]
jne 0x1801c419a
mov ecx, dword [rdi]
cmp dword [rax + 0x10], ecx
jne 0x1801c419a
mov rcx, qword [rdi + 8]
cmp qword [rax + 0x18], rcx
jne 0x1801c419a
mov ecx, dword [rdi + 4]
cmp dword [rax + 0x14], ecx
jne 0x1801c419a
mov rcx, qword [rdi + 0x10]
cmp qword [rax + 0x20], rcx
je 0x1801c41a5
mov rsi, rax
mov rax, qword [rax]
jmp 0x1801c416c
mov rsi, r15
mov edx, 8
mov rcx, r8
call sym.Qt5Core.dll_public:_void____ptr64___cdecl_QHashData::allocateNode_int____ptr64
mov rcx, qword [rsi]
mov qword [rax], rcx
mov dword [rax + 8], r14d
movups xmm0, xmmword [rdi]
movups xmmword [rax + 0x10], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rax + 0x20], xmm1
mov rcx, qword [rdi + 0x18]
mov qword [rax + 0x28], rcx
mov qword [rsi], rax
mov rcx, qword [r15]
inc dword [rcx + 0x14]
mov rcx, qword [rdi + 0x18]
mov qword [rcx + 0x28], rax
add rdi, 0x20
jmp 0x1801c4048
mov rax, qword [rdi + 0x18]
mov qword [rcx + 0x28], rax
mov rax, qword [rsi]
mov rcx, qword [rdi + 0x18]
mov qword [rcx + 0x28], rax
add rdi, 0x20
jmp 0x1801c4048
mov eax, dword [rbx]
test eax, eax
je 0x1801c4228
cmp eax, 0xffffffff
je 0x1801c423a
mov ecx, 0xffffffff
mov rax, qword [rbp + 0x5f]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1801c423a
mov edx, 0x20
lea r8d, [rdx - 0x18]
mov rcx, qword [rbp + 0x5f]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret