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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
movzx esi, word [ebp + 0x10]
mov dword [esp + 0x28], ecx
mov eax, dword [ecx + 0x58]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
movzx esi, si
cmp ecx, edx
je 0x4ca9e2
shl edx, 2
shl ecx, 2
nop dword [eax]
movzx edi, word [ebp + 0x10]
cmp word [eax + ecx + 0x10], di
je 0x4caa16
add ecx, 4
cmp edx, ecx
jne 0x4ca9d0
mov eax, dword [esp + 0x28]
lea ecx, [eax + 0x14]
push esi
call fcn.00503c70
mov dword [esp + 0x6c], eax
test al, al
je 0x4caa16
mov ecx, dword [esp + 0x28]
push 0
push esi
call fcn.004ccae0
mov esi, eax
mov dword [esp + 0x48], 0
test esi, esi
jne 0x4caa3a
jmp 0x4cac36
mov ecx, dword [esp + 0x28]
push 0
push esi
call fcn.004ccdc0
mov esi, eax
mov al, 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], 0
test esi, esi
je 0x4cac36
mov eax, dword [sym.imp.Qt5Core.dll_QListData::shared_null]
mov dword [esp + 0x20], eax
mov edi, dword [esi + 0x1c]
lea eax, [esp + 0x30]
push eax
call dword [method.QDateTime.currentDateTime__]
add esp, 4
mov dword [esp + 0x68], esi
lea ecx, [esp + 0x30]
call dword [method.QDateTime.toSecsSinceEpoch___const]
mov ebx, eax
lea ecx, [esp + 0x30]
call dword [method.QDateTime.QDateTime__]
test edi, edi
jle 0x4cabfb
movzx eax, word [ebp + 0x14]
imul eax, eax, 0xfffff1f0
add eax, ebx
mov dword [esp + 0x1c], eax
dec edi
cmp edi, 0x270e
mov esi, 0x270e
cmovb esi, edi
lea ebx, [esp + 0x30]
jmp 0x4caac3
push 4
push 1
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
sub esi, 1
setb al
or bl, al
dec edi
test bl, bl
lea ebx, [esp + 0x30]
jne 0x4cabfb
lea ecx, [esp + 0xc]
push edi
push dword [esp + 0x6c]
call fcn.004ea740
cmp byte [esp + 0x48], 0
je 0x4cab50
mov ecx, ebx
call fcn.004969f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov ecx, dword [eax]
dec ecx
cmp ecx, 0xfffffffd
ja 0x4caaf2
lock inc dword [eax]
mov ecx, ebx
lea eax, [esp + 0x5c]
push eax
call fcn.00496a50
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cab24
test ecx, ecx
je 0x4cab16
lock dec dword [eax]
jne 0x4cab24
mov eax, dword [esp + 0x5c]
push 4
push 1
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 0x1000000
jb 0x4cabc0
cmp dword [esp + 0x1c], eax
jae 0x4cabd0
lea ecx, [esp + 0x20]
lea eax, [esp + 0xc]
push eax
call fcn.0045e790
jmp 0x4cabc0
mov ecx, ebx
call fcn.00496870
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [eax]
dec ecx
cmp ecx, 0xfffffffd
ja 0x4cab6a
lock inc dword [eax]
mov ecx, ebx
lea eax, [esp + 0x58]
push eax
call fcn.004968c0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cab9c
test ecx, ecx
je 0x4cab8e
lock dec dword [eax]
jne 0x4cab9c
mov eax, dword [esp + 0x58]
push 4
push 1
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 0x1000000
jb 0x4cabc0
cmp dword [esp + 0x1c], eax
jae 0x4cabd0
lea ecx, [esp + 0x20]
lea eax, [esp + 0xc]
push eax
call fcn.0045e790
nop dword [eax + eax]
xor ebx, ebx
jmp 0x4cabd2
mov bl, 1
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4caaae
test ecx, ecx
je 0x4caaa0
lock dec dword [eax]
jne 0x4caaae
mov eax, dword [esp + 0xc]
jmp 0x4caaa0
mov esi, dword [esp + 0x20]
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov eax, ebx
sub eax, edi
cmp eax, 2
jge 0x4cac3d
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4cac36
test eax, eax
je 0x4cac28
lock dec dword [esi]
jne 0x4cac36
mov esi, dword [esp + 0x20]
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0xc]
cmp ebx, edi
jne 0x4cac93
push esi
call dword [method.QListData.dispose_QListData::Data_]
add esp, 4
xor eax, eax
jmp 0x4cb371
cmp eax, 0x12c
jae 0x4cac68
mov byte [esp + 0x13], 0xb
mov cx, 0x240
mov dword [esp + 0x44], ecx
mov cx, 0x2d0
mov dword [esp + 0x40], ecx
mov cl, 0xf
mov dword [esp + 0x24], ecx
lea ebx, [esp + 0x30]
jmp 0x4cad3c
cmp eax, 0x258
lea ebx, [esp + 0x30]
jae 0x4cacd3
mov byte [esp + 0x13], 0xb
mov cx, 0x240
mov dword [esp + 0x44], ecx
mov cx, 0x400
mov dword [esp + 0x40], ecx
mov cl, 0x15
mov dword [esp + 0x24], ecx
jmp 0x4cad3c
shl ebx, 2
shl edi, 2
jmp 0x4cacb9
push 4
push 1
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
add ebx, 0xfffffffc
cmp edi, ebx
je 0x4cac2c
mov eax, dword [esi + ebx + 0xc]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cacae
test ecx, ecx
je 0x4caca0
lock dec dword [eax]
jne 0x4cacae
mov eax, dword [esi + ebx + 0xc]
jmp 0x4caca0
cmp eax, 0x320
jae 0x4cacf7
mov cx, 0x500
mov dword [esp + 0x40], ecx
mov cx, 0x2d0
mov dword [esp + 0x44], ecx
mov byte [esp + 0x13], 0xf
mov cl, 0x19
mov dword [esp + 0x24], ecx
jmp 0x4cad3c
cmp eax, 0x3e8
mov ecx, 0x1f
mov edx, 0x25
cmovb edx, ecx
mov dword [esp + 0x24], edx
mov ecx, 0x384
mov edx, 0x438
cmovb edx, ecx
mov dword [esp + 0x44], edx
mov ecx, 0x640
mov edx, 0x780
cmovb edx, ecx
mov dword [esp + 0x40], edx
setae cl
shl cl, 2
or cl, 0x11
mov byte [esp + 0x13], cl
mov esi, dword [sym.imp.Qt5Core.dll_QArrayData::shared_null]
mov dword [esp + 0x18], esi
mov ecx, 0x7fffffff
and ecx, dword [esi + 8]
cmp ecx, eax
jae 0x4cad6d
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x18]
push edx
push eax
call fcn.004df850
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
cmp eax, 1
ja 0x4cada4
mov dword [esp + 0x30], 2
sub esp, 0x10
movapd xmm0, xmmword [0x55d8f0]
movupd xmmword [esp], xmm0
call dword [method.QArrayData.allocate_unsigned_int__unsigned_int__unsigned_int__QFlags_QArrayData::AllocationOption__]
add esp, 0x10
cmp esi, eax
je 0x4cada4
mov eax, dword [esp + 0x18]
or dword [eax + 8], 0x80000000
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov dword [esp + 0x70], eax
mov esi, dword [eax + 0xc]
mov al, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x74], ecx
cmp esi, ecx
jne 0x4cae2a
mov eax, 0x57a9a8
mov ecx, 0x57a9c8
cmp byte [esp + 0x48], 0
cmovne ecx, eax
mov dword [esp + 0xc], ecx
mov esi, dword [sym.imp.Qt5Core.dll_QArrayData::shared_null]
mov dword [esp + 0x14], esi
mov dword [esp + 0x4c], 0x57a9e0
test byte [esp + 0x1c], 1
jne 0x4cb195
mov dword [esp + 0x30], 0x57aa34
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4cae19
test eax, eax
je 0x4cae0b
lock dec dword [esi]
jne 0x4cae19
push 4
push 2
push esi
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], 0x57aa5c
jmp 0x4cb1c7
shl esi, 2
shl dword [esp + 0x74], 2
mov dword [esp + 0x64], 0x80000000
mov al, 1
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x14]
mov dword [esp + 0x60], 0
jmp 0x4cae75
mov ecx, edi
call dword [method.QDateTime.date___const]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov ecx, edi
call dword [method.QDateTime.QDateTime__]
add esi, 0xfffffffc
cmp dword [esp + 0x74], esi
je 0x4cadc0
mov ecx, edi
call dword [0x567920]
cmp byte [esp + 0x48], 0
mov dword [esp + 0x68], esi
je 0x4cafe0
mov ecx, ebx
call fcn.004969f0
mov eax, dword [esp + 0x70]
mov eax, dword [eax + esi + 0xc]
mov dword [esp + 0x54], eax
mov ecx, dword [eax]
dec ecx
cmp ecx, 0xfffffffd
ja 0x4caeaa
lock inc dword [eax]
mov ecx, ebx
lea eax, [esp + 0x54]
push eax
call fcn.00496a50
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4caedc
test ecx, ecx
je 0x4caece
lock dec dword [eax]
jne 0x4caedc
mov eax, dword [esp + 0x54]
push 4
push 1
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
lea ebx, [esp + 0xc]
mov ecx, ebx
lea eax, [esp + 0x30]
push eax
call fcn.00496a30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], eax
mov ecx, ebx
call dword [method.QDateTime.QDateTime__]
mov ecx, edi
call dword [method.QDateTime.toMSecsSinceEpoch___const]
movd xmm0, eax
movd xmm1, edx
punpckldq xmm0, xmm1
movq qword [esp + 0x98], xmm0
fild qword [esp + 0x98]
fstp qword [esp + 0x90]
movq xmm1, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x38]
unpcklps xmm2, xmmword [0x55d900]
subpd xmm2, xmmword [0x55d910]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
mov edx, dword [eax + 8]
mov esi, 0x7fffffff
and edx, esi
mov esi, dword [eax]
cmp esi, 1
lea ebx, [esp + 0x30]
ja 0x4caf70
cmp edi, edx
jbe 0x4cafb5
movapd xmmword [esp + 0x80], xmm2
movq qword [esp + 0x78], xmm1
xor eax, eax
cmp edi, edx
cmova edx, edi
seta al
shl eax, 3
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x18]
push eax
push edx
call fcn.004df850
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
movq xmm1, qword [esp + 0x78]
movapd xmm2, xmmword [esp + 0x80]
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm0, xmm2
mov edx, dword [eax + 0xc]
add edx, eax
shl ecx, 4
movq qword [ecx + edx], xmm1
movsd qword [ecx + edx + 8], xmm0
jmp 0x4cb12e
mov ecx, ebx
call fcn.00496870
mov eax, dword [esp + 0x70]
mov eax, dword [eax + esi + 0xc]
mov dword [esp + 0x50], eax
mov ecx, dword [eax]
dec ecx
cmp ecx, 0xfffffffd
ja 0x4caffe
lock inc dword [eax]
mov ecx, ebx
lea eax, [esp + 0x50]
push eax
call fcn.004968c0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb030
test ecx, ecx
je 0x4cb022
lock dec dword [eax]
jne 0x4cb030
mov eax, dword [esp + 0x50]
push 4
push 1
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
lea esi, [esp + 0xc]
mov ecx, esi
push ebx
call fcn.004968a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], eax
mov ecx, esi
call dword [method.QDateTime.QDateTime__]
movzx esi, word [esp + 0x34]
mov ecx, edi
call dword [method.QDateTime.toMSecsSinceEpoch___const]
mov ebx, eax
mov edi, edx
movsx eax, si
movzx ecx, byte [esp + 0x6c]
push eax
push ecx
call fcn.0049bd00
add esp, 8
fstp qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xb0]
movd xmm0, ebx
movd xmm1, edi
punpckldq xmm0, xmm1
movq qword [esp + 0xa8], xmm0
fild qword [esp + 0xa8]
fstp qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa0]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
mov edx, dword [eax + 8]
mov esi, 0x7fffffff
and edx, esi
mov esi, dword [eax]
cmp esi, 1
lea ebx, [esp + 0x30]
ja 0x4cb0d6
cmp edi, edx
jbe 0x4cb11b
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm2
xor eax, eax
cmp edi, edx
cmova edx, edi
seta al
shl eax, 3
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x18]
push eax
push edx
call fcn.004df850
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
movsd xmm2, qword [esp + 0x78]
movsd xmm0, qword [esp + 0x80]
mov edx, dword [eax + 0xc]
add edx, eax
shl ecx, 4
movsd qword [ecx + edx], xmm0
movsd qword [ecx + edx + 8], xmm2
inc dword [eax + 4]
test byte [esp + 0x1c], 1
mov esi, dword [esp + 0x68]
lea edi, [esp + 0x14]
je 0x4cae60
mov eax, dword [esp + 0x60]
add eax, 0x60db7fab
mov ecx, dword [esp + 0x64]
adc ecx, 0xffffff49
mov edx, 0xc1eb868b
cmp edx, eax
mov eax, 0xfffffe92
sbb eax, ecx
jae 0x4cae50
mov ecx, edi
call dword [method.QDateTime.date___const]
xor eax, dword [esp + 0x60]
xor edx, dword [esp + 0x64]
or edx, eax
mov eax, dword [esp + 0x1c]
movzx eax, al
mov ecx, 0
cmovne eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x4cae60
mov dword [esp + 0x30], 0x57a9fc
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4cb1bb
test eax, eax
je 0x4cb1ad
lock dec dword [esi]
jne 0x4cb1bb
push 4
push 2
push esi
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], 0x57aa18
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb1e5
test ecx, ecx
je 0x4cb1d7
lock dec dword [eax]
jne 0x4cb1e5
push 4
push 2
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
movzx eax, word [ebp + 0x10]
dec eax
movzx ecx, ax
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x34]
cmp dword [edi + 4], ecx
jbe 0x4cb214
add edi, dword [edi + 0xc]
mov ecx, dword [edi + ecx*4]
mov dword [esp + 0x2c], ecx
mov esi, dword [ecx]
dec esi
cmp esi, 0xfffffffd
mov eax, dword [esp + 0x24]
ja 0x4cb21c
lock inc dword [ecx]
jmp 0x4cb21c
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x24]
movzx esi, byte [esp + 0x13]
movzx edi, al
movzx ebx, word [esp + 0x44]
movzx eax, word [esp + 0x40]
lea edx, [esp + 0x4c]
mov ecx, dword [esp + 0x28]
push edx
lea edx, [esp + 0x18]
push edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x3c]
push edx
push esi
push edi
push ebx
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x50]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0051a430
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb285
test ecx, ecx
je 0x4cb277
lock dec dword [eax]
jne 0x4cb285
mov eax, dword [esp + 0x2c]
push 4
push 2
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb2ab
test ecx, ecx
je 0x4cb29d
lock dec dword [eax]
jne 0x4cb2ab
mov eax, dword [esp + 0x4c]
push 4
push 2
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb2d1
test ecx, ecx
je 0x4cb2c3
lock dec dword [eax]
jne 0x4cb2d1
mov eax, dword [esp + 0x14]
push 4
push 2
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb2f7
test ecx, ecx
je 0x4cb2e9
lock dec dword [eax]
jne 0x4cb2f7
mov eax, dword [esp + 0xc]
push 4
push 2
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb31d
test ecx, ecx
je 0x4cb30f
lock dec dword [eax]
jne 0x4cb31d
mov eax, dword [esp + 0x30]
push 4
push 2
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb343
test ecx, ecx
je 0x4cb335
lock dec dword [eax]
jne 0x4cb343
mov eax, dword [esp + 0x18]
push 8
push 0x10
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4cb36f
test eax, eax
je 0x4cb35b
lock dec dword [esi]
jne 0x4cb36f
mov esi, dword [esp + 0x20]
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0xc]
cmp ebx, edi
jne 0x4cb37b
push esi
call dword [method.QListData.dispose_QListData::Data_]
add esp, 4
mov al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
shl ebx, 2
shl edi, 2
jmp 0x4cb3a5
push 4
push 1
push eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
add esp, 0xc
add ebx, 0xfffffffc
cmp edi, ebx
je 0x4cb365
mov eax, dword [esi + ebx + 0xc]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4cb39e
test ecx, ecx
je 0x4cb390
lock dec dword [eax]
jne 0x4cb39e
mov eax, dword [esi + ebx + 0xc]
jmp 0x4cb390