Function at 0x1000ff60
Capabilities:
Get number of processors

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1016520e
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0xc
mov eax, 0x87074
call fcn.10161a10
mov eax, dword [0x1029e9c8]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, ecx
mov dword [ebp - 0x8707c], eax
mov edi, dword [ebx + 8]
mov dword [ebp - 0x87038], 0
cmp dword [eax + 0x30], 0
mov dword [ebp - 4], 0
mov byte [ebp - 0x87032], 0
mov byte [ebp - 4], 1
je 0x10010086
cmp byte [ebx + 0x14], 0
jne 0x1000fff8
mov eax, dword [sym.libnomacs.dll_struct_nmc::DkSettings::Resources__nmc::DkSettings::resources]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000fff8
cmp eax, 1
jne 0x10010086
mov eax, dword [ebx + 0xc]
sub esp, 8
mov esi, esp
mov dword [esi], eax
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
test ecx, ecx
je 0x10010025
mov edx, 1
add ecx, 4
mov eax, edx
lock xadd dword [ecx], eax
mov eax, dword [esi + 4]
add eax, 8
lock xadd dword [eax], edx
inc edx
mov esi, dword [ebp - 0x8707c]
push edi
mov ecx, dword [esi + 0x30]
call sym.libnomacs.dll_public:_void___thiscall_nmc::DkMetaDataT::readMetaData_class_QFileInfo_const___class_QSharedPointer_class_QByteArray__
mov eax, dword [sym.libnomacs.dll_struct_nmc::DkSettings::Resources__nmc::DkSettings::resources]
xor ecx, ecx
mov edx, 0x780
cmp dword [eax + 0xc], 1
lea eax, [ebp - 0x40044]
cmove ecx, edx
push ecx
mov ecx, dword [esi + 0x30]
push eax
call sym.libnomacs.dll_public:_class_QImage___thiscall_nmc::DkMetaDataT::getPreviewImage_int_
push eax
lea ecx, [esi + 0x14]
mov byte [ebp - 4], 2
call dword [sym.imp.QtGui4.dll_public:_class_QImage____thiscall_QImage::operator_class_QImage__]
lea ecx, [ebp - 0x40044]
mov byte [ebp - 4], 1
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QImage::destructor_void_]
lea ecx, [esi + 0x14]
call dword [sym.imp.QtGui4.dll_public:_bool___thiscall_QImage::isNull_void_const]
test al, al
je 0x10010268
push 0
lea ecx, [ebp - 0x87030]
call dword [sym.imp.libraw.dll_public:_void___thiscall_LibRaw::constructor_unsigned_int_]
lea ecx, [ebp - 0x87088]
mov byte [ebp - 4], 3
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QImage::constructor_void_]
mov eax, dword [ebx + 0xc]
mov byte [ebp - 4], 4
test eax, eax
je 0x1001010a
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
test eax, eax
je 0x1001010a
cmp eax, 0x64
jl 0x100100d4
push eax
push dword [ecx + 0xc]
lea ecx, [ebp - 0x87030]
call dword [sym.imp.libraw.dll_public:_int___thiscall_LibRaw::open_buffer_void___unsigned_int_]
mov esi, eax
jmp 0x10010190
lea ecx, [ebp - 0x87088]
mov byte [ebp - 4], 3
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QImage::destructor_void_]
lea ecx, [ebp - 0x87030]
mov byte [ebp - 4], 1
call dword [sym.imp.libraw.dll_public_virtual:_void___thiscall_LibRaw::destructor_void_]
lea ecx, [ebx + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.1000bde0
xor al, al
jmp 0x100114f0
lea eax, [ebp - 0x87058]
mov ecx, edi
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QFileInfo::absoluteFilePath_void_]
lea ecx, [ebp - 0x40068]
mov byte [ebp - 4], 5
push ecx
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_QString::toStdString_void_]
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 6
jb 0x10010138
mov eax, dword [eax]
push 0
push 0xfa00000
push eax
lea ecx, [ebp - 0x87030]
call dword [sym.imp.libraw.dll_public:_int___thiscall_LibRaw::open_file_char_const___long_long___int64__]
cmp dword [ebp - 0x40054], 0x10
mov esi, eax
jb 0x10010165
push dword [ebp - 0x40068]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [ebp - 0x87058]
mov dword [ebp - 0x40054], 0xf
mov dword [ebp - 0x40058], 0
mov byte [ebp - 0x40068], 0
mov byte [ebp - 4], 4
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
test esi, esi
jne 0x100100d4
cmp byte [ebx + 0x14], 0
movzx ecx, word [ebp - 0x66884]
jne 0x100101c6
mov eax, dword [sym.libnomacs.dll_struct_nmc::DkSettings::Resources__nmc::DkSettings::resources]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100101c6
cmp eax, 1
jne 0x1001028e
cmp ecx, 0x780
jl 0x1001028e
lea ecx, [ebp - 0x87030]
call dword [sym.imp.libraw.dll_public:_int___thiscall_LibRaw::unpack_thumb_void_]
mov esi, dword [ebp - 0x66878]
test eax, eax
jne 0x1001028e
test esi, esi
je 0x1001028e
lea ecx, [ebp - 0x40044]
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QImage::constructor_void_]
push 0
push dword [ebp - 0x66880]
lea ecx, [ebp - 0x40044]
mov byte [ebp - 4], 7
push esi
call dword [sym.imp.QtGui4.dll_public:_bool___thiscall_QImage::loadFromData_unsigned_char_const___int__char_const__]
lea ecx, [ebp - 0x40044]
call dword [sym.imp.QtGui4.dll_public:_bool___thiscall_QImage::isNull_void_const]
test al, al
jne 0x1001027e
mov ecx, dword [ebp - 0x8707c]
lea eax, [ebp - 0x40044]
push eax
add ecx, 0x14
mov byte [ebp - 0x87032], 1
call dword [sym.imp.QtGui4.dll_public:_class_QImage____thiscall_QImage::operator_class_QImage_const__]
mov esi, dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QImage::destructor_void_]
lea ecx, [ebp - 0x40044]
mov byte [ebp - 4], 4
call esi
lea ecx, [ebp - 0x87088]
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0x87030]
mov byte [ebp - 4], 1
call dword [sym.imp.libraw.dll_public_virtual:_void___thiscall_LibRaw::destructor_void_]
lea ecx, [ebx + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.1000bde0
mov al, 1
jmp 0x100114f0
lea ecx, [ebp - 0x40044]
mov byte [ebp - 4], 4
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QImage::destructor_void_]
lea ecx, [ebp - 0x87030]
call dword [sym.imp.libraw.dll_public:_int___thiscall_LibRaw::unpack_void_]
mov esi, eax
call dword [sym.imp.libraw.dll_public:_static_char_const____cdecl_LibRaw::version_void_]
mov ecx, str.0.13.5
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100102c7
test dl, dl
je 0x100102c3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100102c7
add eax, 2
add ecx, 2
test dl, dl
jne 0x100102a7
xor eax, eax
jmp 0x100102cc
sbb eax, eax
or eax, 1
test eax, eax
je 0x100102dc
lea ecx, [ebp - 0x87030]
call dword [sym.imp.libraw.dll_public:_int___thiscall_LibRaw::raw2image_void_]
test esi, esi
jne 0x100100d4
movzx edi, word [ebp - 0x8701c]
lea ecx, [ebp - 0x400c0]
movzx esi, word [ebp - 0x8701a]
mov dword [ebp - 0x87050], edi
call fcn.1000bbd0
lea ecx, [ebp - 0x401a8]
call fcn.1000bbd0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x86ec0]
mov ecx, str.RGBG
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10010340
test dl, dl
je 0x1001033c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10010340
add eax, 2
add ecx, 2
test dl, dl
jne 0x10010320
xor eax, eax
jmp 0x10010345
sbb eax, eax
or eax, 1
test eax, eax
je 0x100103a0
push str.E:gitlab_buildsyyT_Ky8z0kan_tu_nomacsImageLounge_srcDkBasicLoader.cpp
lea ecx, [ebp - 0x40068]
call fcn.10002140
push str.Wrong_Bayer_Pattern__not_RGBG__n
lea ecx, [ebp - 0x40050]
mov byte [ebp - 4], 0xa
call fcn.10002140
lea eax, [ebp - 0x40068]
mov byte [ebp - 4], 0xb
push eax
push 0x1dc
lea eax, [ebp - 0x40050]
push eax
lea ecx, [ebp - 0x40170]
call fcn.10043e70
push 0x10241eb4
lea eax, [ebp - 0x40170]
push eax
call sub.MSVCR120.dll__CxxThrowException
mov eax, dword [ebp - 0x66d28]
lea ecx, [ebp - 0x40088]
sub eax, dword [ebp - 0x66d30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
cmp dword [ebp - 0x86ee8], 0
addsd xmm0, qword [eax*8 + 0x1018f320]
mov eax, esi
mov dword [ebp - 0x8704c], eax
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x87048], xmm0
je 0x10010643
mov esi, dword [ebp - 0x87050]
push 5
push eax
movzx eax, si
push eax
call fcn.1000b9f0
push eax
lea ecx, [ebp - 0x400c0]
mov byte [ebp - 4], 0xc
call fcn.1000c550
lea ecx, [ebp - 0x40088]
mov byte [ebp - 4], 9
call fcn.10003fe0
xor edi, edi
lea ebx, [ebx]
movzx eax, si
cmp edi, eax
jae 0x100104ca
mov eax, dword [ebp - 0x40094]
mov ecx, dword [eax]
imul ecx, edi
add ecx, dword [ebp - 0x400b0]
xor esi, esi
mov dword [ebp - 0x87058], ecx
cmp esi, dword [ebp - 0x8704c]
jae 0x100104be
push esi
push edi
lea ecx, [ebp - 0x87030]
call dword [sym.imp.libraw.dll_public:_int___thiscall_LibRaw::COLOR_int__int_]
mov ecx, dword [ebp - 0x8704c]
imul ecx, edi
add ecx, esi
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x87028]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x87058]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ecx + esi*4], xmm1
mov eax, dword [ebp - 0x66d30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1018f320]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
divss xmm1, dword [ebp - 0x87048]
mulss xmm1, dword [0x1018f2dc]
movss dword [ecx + esi*4], xmm1
inc esi
jmp 0x10010444
mov esi, dword [ebp - 0x87050]
inc edi
jmp 0x10010420
lea eax, [ebp - 0x400c0]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
movsd xmm1, qword [0x1018e828]
lea eax, [ebp - 0x4004c]
sub esp, 0x10
lea ecx, [ebp - 0x400c0]
xorps xmm0, xmm0
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push 2
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::Mat::convertTo_class_cv::_OutputArray_const___int__double__double_const
movzx eax, byte [ebp - 0x86ee8]
cmp eax, 0xb4
jne 0x10010544
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x400c0]
push eax
lea ecx, [ebp - 0x87068]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push 0
push 0x30
jmp 0x100105d1
cmp eax, 0x1e
jne 0x10010573
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x400c0]
push eax
lea ecx, [ebp - 0x87068]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push 0
push 0x2e
jmp 0x100105d1
cmp eax, 0xe1
jne 0x100105a4
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x400c0]
push eax
lea ecx, [ebp - 0x87068]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push 0
push 0x31
jmp 0x100105d1
cmp eax, 0x4b
jne 0x100105ec
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x400c0]
push eax
lea ecx, [ebp - 0x87068]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push 0
push 0x2f
lea eax, [ebp - 0x4004c]
push eax
lea eax, [ebp - 0x87068]
push eax
call sub.opencv_imgproc249.dll_void___cdecl_cv::cvtColor_class_cv::_InputArray_const___class_cv::_OutputArray_const___int__int_
add esp, 0x10
jmp 0x10010905
push str.E:gitlab_buildsyyT_Ky8z0kan_tu_nomacsImageLounge_srcDkBasicLoader.cpp
lea ecx, [ebp - 0x40068]
call fcn.10002140
push str.Wrong_Bayer_Pattern__not_BG__RG__GB__GR__n
lea ecx, [ebp - 0x40050]
mov byte [ebp - 4], 0xd
call fcn.10002140
lea eax, [ebp - 0x40068]
mov byte [ebp - 4], 0xe
push eax
push 0x204
lea eax, [ebp - 0x40050]
push eax
lea ecx, [ebp - 0x40118]
call fcn.10043e70
push 0x10241eb4
lea eax, [ebp - 0x40118]
push eax
call sub.MSVCR120.dll__CxxThrowException
push 0x15
push eax
movzx edi, di
push edi
call fcn.1000b9f0
push eax
lea ecx, [ebp - 0x400c0]
mov byte [ebp - 4], 0xf
call fcn.1000c550
lea ecx, [ebp - 0x40088]
mov byte [ebp - 4], 9
call fcn.10003fe0
lea eax, [ebp - 0x87060]
xorps xmm0, xmm0
push eax
lea ecx, [ebp - 0x40064]
movsd qword [ebp - 0x87060], xmm0
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_double_const__
call sub.opencv_core249.dll_class_cv::_OutputArray_const____cdecl_cv::noArray_void_
push eax
lea eax, [ebp - 0x40064]
push eax
lea ecx, [ebp - 0x400c0]
call sub.opencv_core249.dll_public:_class_cv::Mat____thiscall_cv::Mat::setTo_class_cv::_InputArray_const___class_cv::_InputArray_const__
mov dword [ebp - 0x40044], 0
mov dword [ebp - 0x40040], 0
mov dword [ebp - 0x4003c], 0
lea eax, [ebp - 0x40044]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x400c0]
push eax
call sub.opencv_core249.dll_void___cdecl_cv::split_class_cv::Mat_const___class_std::vector_class_cv::Mat__class_std::allocator_class_cv::Mat____
xor esi, esi
add esp, 8
mov dword [ebp - 0x87040], esi
test edi, edi
je 0x10010869
movss xmm3, dword [0x1018f2dc]
mov edi, dword [ebp - 0x40044]
mov dword [ebp - 0x8703c], esi
nop
mov eax, dword [edi + 0x2c]
mov edx, dword [eax]
mov eax, dword [edi + 0x64]
imul edx, esi
mov ecx, dword [eax]
mov eax, dword [edi + 0x9c]
add edx, dword [edi + 0x10]
imul ecx, esi
mov esi, dword [eax]
imul esi, dword [ebp - 0x87040]
mov eax, dword [ebp - 0x8704c]
add ecx, dword [edi + 0x48]
add esi, dword [edi + 0x80]
test eax, eax
je 0x10010838
mov edi, dword [ebp - 0x8703c]
sub edx, ecx
movss xmm2, dword [ebp - 0x87048]
sub esi, ecx
mov dword [ebp - 0x87044], eax
mov eax, dword [ebp - 0x87028]
movzx eax, word [edi + eax]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [edx + ecx], xmm1
mov eax, dword [ebp - 0x66d30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1018f320]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
divss xmm1, xmm2
mulss xmm1, xmm3
movss dword [edx + ecx], xmm1
mov eax, dword [ebp - 0x87028]
movzx eax, word [edi + eax + 2]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ecx], xmm1
mov eax, dword [ebp - 0x66d30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1018f320]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
divss xmm1, xmm2
mulss xmm1, xmm3
movss dword [ecx], xmm1
mov eax, dword [ebp - 0x87028]
movzx eax, word [edi + eax + 4]
add edi, 8
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esi + ecx], xmm1
mov eax, dword [ebp - 0x66d30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1018f320]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
divss xmm1, xmm2
mulss xmm1, xmm3
movss dword [esi + ecx], xmm1
add ecx, 4
dec dword [ebp - 0x87044]
jne 0x10010751
mov edi, dword [ebp - 0x40044]
mov ecx, dword [ebp - 0x8704c]
mov esi, dword [ebp - 0x87040]
inc esi
mov dword [ebp - 0x87040], esi
lea eax, [ecx*8]
mov ecx, dword [ebp - 0x87050]
add dword [ebp - 0x8703c], eax
movzx eax, cx
cmp esi, eax
jb 0x10010700
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x40064]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x40064]
push eax
lea eax, [ebp - 0x40044]
push eax
call sub.opencv_core249.dll_void___cdecl_cv::merge_class_std::vector_class_cv::Mat__class_std::allocator_class_cv::Mat___const___class_cv::_OutputArray_const__
add esp, 8
lea eax, [ebp - 0x401a8]
lea ecx, [ebp - 0x40064]
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
movsd xmm1, qword [0x1018e828]
lea eax, [ebp - 0x40064]
sub esp, 0x10
lea ecx, [ebp - 0x401a8]
xorps xmm0, xmm0
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push 2
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::Mat::convertTo_class_cv::_OutputArray_const___int__double__double_const
mov eax, dword [ebp - 0x40044]
mov byte [ebp - 4], 9
test eax, eax
je 0x10010905
push dword [ebp - 0x87058]
lea ecx, [ebp - 0x87031]
push ecx
push dword [ebp - 0x40040]
push eax
call fcn.1000ad60
push dword [ebp - 0x40044]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 0x14
lea ecx, [ebp - 0x400c0]
call fcn.10007690
push 0x30
lea eax, [ebp - 0x40080]
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
xor ecx, ecx
jmp 0x10010930
mov eax, dword [ebp + ecx - 0x66c54]
mov dword [ebp + ecx - 0x40080], eax
mov eax, dword [ebp + ecx - 0x66c50]
mov dword [ebp + ecx - 0x4007c], eax
mov eax, dword [ebp + ecx - 0x66c4c]
mov dword [ebp + ecx - 0x40078], eax
mov eax, dword [ebp + ecx - 0x66c48]
mov dword [ebp + ecx - 0x40074], eax
add ecx, 0x10
cmp ecx, 0x30
jl 0x10010930
movss xmm0, dword [ebp - 0x66ca4]
lea edi, [ebp - 0x40028]
movss dword [ebp - 0x87048], xmm0
xor esi, esi
movss xmm0, dword [ebp - 0x66ca0]
movss dword [ebp - 0x8703c], xmm0
movss xmm0, dword [ebp - 0x66c9c]
movss dword [ebp - 0x87040], xmm0
movsd xmm0, qword [ebp - 0x86e78]
cvtpd2ps xmm0, xmm0
shufps xmm0, xmm0, 0
cvtps2pd xmm1, xmm0
movaps xmmword [ebp - 0x40050], xmm1
movd xmm0, esi
pshufd xmm0, xmm0, 0
paddd xmm0, xmmword [0x1018f2e0]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x1018f330]
cvtps2pd xmm0, xmm0
call fcn.10161a00
movaps xmm1, xmmword [ebp - 0x40050]
add esi, 2
cvtpd2ps xmm0, xmm0
mulps xmm0, xmmword [0x1018f310]
subps xmm0, xmmword [0x1018f300]
movsd qword [edi], xmm0
add edi, 8
cmp esi, 0x10000
jl 0x100109c2
movss xmm0, dword [ebp - 0x8703c]
addss xmm0, dword [ebp - 0x87048]
movss xmm1, dword [0x1018e81c]
movss dword [ebp - 0x87058], xmm1
addss xmm0, dword [ebp - 0x87040]
addss xmm0, dword [ebp - 0x66c98]
mulss xmm0, dword [0x1018f288]
comiss xmm0, dword [0x1018f28c]
jbe 0x10010ad0
movss xmm1, dword [0x1018f2bc]
mov edi, dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromAscii_helper_char_const___int_]
push 0xffffffffffffffff
push str.Canon
movss dword [ebp - 0x87058], xmm1
call edi
add esp, 8
mov dword [ebp - 0x87078], eax
mov esi, dword [ebp - 0x87038]
lea eax, [ebp - 0x86f78]
push 0xffffffffffffffff
or esi, 1
mov byte [ebp - 4], 0x11
push eax
mov dword [ebp - 0x87038], esi
call edi
add esp, 8
mov dword [ebp - 0x87044], eax
push 0
lea eax, [ebp - 0x87078]
mov dword [ebp - 4], 0x12
or esi, 2
lea ecx, [ebp - 0x87044]
push eax
mov dword [ebp - 0x87038], esi
call dword [sym.imp.QtCore4.dll_public:_int___thiscall_QString::compare_class_QString_const___enum_Qt::CaseSensitivity_const]
mov byte [ebp - 0x87031], 1
test eax, eax
je 0x10010ad7
mov byte [ebp - 0x87031], 0
mov eax, dword [ebp - 0x87038]
mov dword [ebp - 4], 0x11
test al, 2
je 0x10010b03
and eax, 0xfffffffd
lea ecx, [ebp - 0x87044]
mov dword [ebp - 0x87038], eax
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, dword [ebp - 0x87038]
mov dword [ebp - 4], 9
test al, 1
je 0x10010b1a
lea ecx, [ebp - 0x87078]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
cmp byte [ebp - 0x87031], 0
je 0x10010b2d
movss xmm0, dword [0x1018f2c8]
jmp 0x10010b35
movss xmm0, dword [ebp - 0x87058]
movss xmm1, dword [ebp - 0x87048]
divss xmm1, xmm0
mov dword [ebp - 0x87074], 0
mov dword [ebp - 0x87070], 0
mov dword [ebp - 0x8706c], 0
movss dword [ebp - 0x87048], xmm1
movss xmm1, dword [ebp - 0x8703c]
divss xmm1, xmm0
movss dword [ebp - 0x8703c], xmm1
movss xmm1, dword [ebp - 0x87040]
divss xmm1, xmm0
movss dword [ebp - 0x87040], xmm1
lea eax, [ebp - 0x87074]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x401a8]
push eax
call sub.opencv_core249.dll_void___cdecl_cv::split_class_cv::Mat_const___class_std::vector_class_cv::Mat__class_std::allocator_class_cv::Mat____
mov eax, dword [ebp - 0x87050]
xor esi, esi
movzx eax, ax
add esp, 8
mov dword [ebp - 0x87038], esi
mov dword [ebp - 0x87050], eax
test eax, eax
je 0x10010fa0
mov edx, dword [ebp - 0x87074]
movsd xmm3, qword [0x1018e820]
mov eax, dword [edx + 0x2c]
mov edi, dword [eax]
mov eax, dword [edx + 0x64]
imul edi, esi
mov ecx, dword [eax]
mov eax, dword [edx + 0x9c]
add edi, dword [edx + 0x10]
imul ecx, esi
mov esi, dword [eax]
imul esi, dword [ebp - 0x87038]
mov eax, dword [ebp - 0x8704c]
add ecx, dword [edx + 0x48]
add esi, dword [edx + 0x80]
test eax, eax
je 0x10010f87
sub edi, ecx
mov dword [ebp - 0x87044], eax
sub esi, ecx
mov dword [ebp - 0x87078], edi
mov dword [ebp - 0x87058], esi
xorps xmm7, xmm7
jmp 0x10010c30
movzx eax, word [edi + ecx]
movsd xmm6, qword [0x1018e828]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x87048]
cvtps2pd xmm1, xmm0
comisd xmm1, xmm7
jb 0x10010c5e
addsd xmm1, xmm3
cvttsd2si edi, xmm1
jmp 0x10010c7f
movaps xmm0, xmm1
subsd xmm0, xmm6
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si edi, xmm1
add edi, eax
movzx eax, word [ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x8703c]
cvtps2pd xmm1, xmm0
comisd xmm1, xmm7
jb 0x10010ca4
addsd xmm1, xmm3
cvttsd2si esi, xmm1
jmp 0x10010cc5
movaps xmm0, xmm1
subsd xmm0, xmm6
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si esi, xmm1
add esi, eax
mov eax, dword [ebp - 0x87058]
movzx eax, word [eax + ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x87040]
cvtps2pd xmm1, xmm0
comisd xmm1, xmm7
jb 0x10010cf1
addsd xmm1, xmm3
cvttsd2si edx, xmm1
jmp 0x10010d12
movaps xmm0, xmm1
subsd xmm0, xmm6
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si edx, xmm1
add edx, eax
movd xmm4, esi
movd xmm2, edi
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm2, xmm2
movd xmm5, edx
movaps xmm0, xmm4
mulss xmm0, dword [ebp - 0x4007c]
movaps xmm1, xmm2
mulss xmm1, dword [ebp - 0x40080]
cvtdq2ps xmm5, xmm5
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [ebp - 0x40078]
addss xmm1, xmm0
cvtss2sd xmm1, xmm1
comisd xmm1, xmm7
jb 0x10010d64
addsd xmm1, xmm3
cvttsd2si edx, xmm1
jmp 0x10010d85
movaps xmm0, xmm1
subsd xmm0, xmm6
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si edx, xmm1
add edx, eax
movaps xmm1, xmm2
movaps xmm0, xmm4
mulss xmm1, dword [ebp - 0x40070]
mulss xmm0, dword [ebp - 0x4006c]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [ebp - 0x40068]
addss xmm1, xmm0
cvtss2sd xmm1, xmm1
comisd xmm1, xmm7
jb 0x10010dc2
addsd xmm1, xmm3
cvttsd2si edi, xmm1
jmp 0x10010de3
movaps xmm0, xmm1
subsd xmm0, xmm6
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si edi, xmm1
add edi, eax
mulss xmm2, dword [ebp - 0x40060]
mulss xmm4, dword [ebp - 0x4005c]
mulss xmm5, dword [ebp - 0x40058]
addss xmm2, xmm4
addss xmm2, xmm5
cvtps2pd xmm1, xmm2
comisd xmm1, xmm7
jb 0x10010e16
addsd xmm1, xmm3
cvttsd2si esi, xmm1
jmp 0x10010e37
movaps xmm0, xmm1
subsd xmm0, xmm6
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si esi, xmm1
add esi, eax
cmp edx, 0xffff
jle 0x10010e46
mov eax, 0xffff
jmp 0x10010e51
test edx, edx
jns 0x10010e4e
xor eax, eax
jmp 0x10010e51
movzx eax, dx
mov edx, dword [ebp - 0x87078]
mov word [edx + ecx], ax
cmp edi, 0xffff
jle 0x10010e6a
mov eax, 0xffff
jmp 0x10010e75
test edi, edi
jns 0x10010e72
xor eax, eax
jmp 0x10010e75
movzx eax, di
mov word [ecx], ax
cmp esi, 0xffff
jle 0x10010e87
mov eax, 0xffff
jmp 0x10010e92
test esi, esi
jns 0x10010e8f
xor eax, eax
jmp 0x10010e92
movzx eax, si
mov esi, dword [ebp - 0x87058]
mov edi, dword [ebp - 0x87078]
movss xmm5, dword [0x1018f2cc]
movss xmm4, dword [0x1018f2c0]
movss xmm2, dword [0x1018f2b8]
mov word [esi + ecx], ax
movzx eax, word [edi + ecx]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm5, xmm1
jb 0x10010ee0
movsd xmm0, qword [ebp - 0x86e70]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
divss xmm0, xmm4
jmp 0x10010eed
movss xmm0, dword [ebp + eax*4 - 0x40028]
mulss xmm0, xmm2
cvttss2si eax, xmm0
movzx eax, ax
mov word [edi + ecx], ax
movzx eax, word [ecx]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm5, xmm1
jb 0x10010f1d
movsd xmm0, qword [ebp - 0x86e70]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
divss xmm0, xmm4
jmp 0x10010f2a
movss xmm0, dword [ebp + eax*4 - 0x40028]
mulss xmm0, xmm2
cvttss2si eax, xmm0
movzx eax, ax
mov word [ecx], ax
movzx eax, word [esi + ecx]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm5, xmm1
jb 0x10010f5a
movsd xmm0, qword [ebp - 0x86e70]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
divss xmm0, xmm4
jmp 0x10010f67
movss xmm0, dword [ebp + eax*4 - 0x40028]
mulss xmm0, xmm2
cvttss2si eax, xmm0
movzx eax, ax
mov word [esi + ecx], ax
add ecx, 2
dec dword [ebp - 0x87044]
jne 0x10010c30
mov edx, dword [ebp - 0x87074]
mov esi, dword [ebp - 0x87038]
inc esi
mov dword [ebp - 0x87038], esi
cmp esi, dword [ebp - 0x87050]
jb 0x10010bd6
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x40064]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x40064]
push eax
lea eax, [ebp - 0x87074]
push eax
call sub.opencv_core249.dll_void___cdecl_cv::merge_class_std::vector_class_cv::Mat__class_std::allocator_class_cv::Mat___const___class_cv::_OutputArray_const__
add esp, 8
lea eax, [ebp - 0x401a8]
lea ecx, [ebp - 0x40064]
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
sub esp, 0x10
lea eax, [ebp - 0x40064]
xorps xmm0, xmm0
lea ecx, [ebp - 0x401a8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x1018e828]
movsd qword [esp], xmm0
push 0
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::Mat::convertTo_class_cv::_OutputArray_const___int__double__double_const
mov eax, dword [sym.libnomacs.dll_struct_nmc::DkSettings::Resources__nmc::DkSettings::resources]
cmp byte [eax + 9], 0
je 0x100111b8
movss xmm0, dword [ebp - 0x66b68]
comiss xmm0, dword [0x1018f284]
jbe 0x100111b8
comiss xmm0, dword [0x1018f2d8]
jbe 0x1001103b
mov esi, 0xd
jmp 0x10011076
comiss xmm0, dword [0x1018f2d4]
jb 0x1001104b
mov esi, 0xb
jmp 0x10011076
comiss xmm0, dword [0x1018f2d0]
jb 0x1001105b
mov esi, 9
jmp 0x10011076
xor eax, eax
comiss xmm0, dword [0x1018f2c4]
setae al
lea eax, [eax*2 + 5]
mov dword [ebp - 0x87058], eax
mov esi, eax
call dword [sym.imp.MSVCR120.dll_clock]
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x40064]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push 0
push 0x25
lea eax, [ebp - 0x40064]
push eax
lea eax, [ebp - 0x4004c]
push eax
call sub.opencv_imgproc249.dll_void___cdecl_cv::cvtColor_class_cv::_InputArray_const___class_cv::_OutputArray_const___int__int_
add esp, 0x10
lea eax, [ebp - 0x87074]
push eax
lea eax, [ebp - 0x401a8]
push eax
call sub.opencv_core249.dll_void___cdecl_cv::split_class_cv::Mat_const___class_std::vector_class_cv::Mat__class_std::allocator_class_cv::Mat____
mov eax, dword [ebp - 0x87074]
lea ecx, [ebp - 0x40064]
add esp, 8
add eax, 0x38
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
mov eax, dword [ebp - 0x87074]
lea ecx, [ebp - 0x4004c]
add eax, 0x38
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push esi
lea eax, [ebp - 0x40064]
push eax
lea eax, [ebp - 0x4004c]
push eax
call sub.opencv_imgproc249.dll_void___cdecl_cv::medianBlur_class_cv::_InputArray_const___class_cv::_OutputArray_const___int_
mov eax, dword [ebp - 0x87074]
lea ecx, [ebp - 0x40064]
add esp, 0xc
add eax, 0x70
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
mov eax, dword [ebp - 0x87074]
lea ecx, [ebp - 0x4004c]
add eax, 0x70
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push esi
lea eax, [ebp - 0x40064]
push eax
lea eax, [ebp - 0x4004c]
push eax
call sub.opencv_imgproc249.dll_void___cdecl_cv::medianBlur_class_cv::_InputArray_const___class_cv::_OutputArray_const___int_
add esp, 0xc
lea eax, [ebp - 0x401a8]
lea ecx, [ebp - 0x40064]
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x40064]
push eax
lea eax, [ebp - 0x87074]
push eax
call sub.opencv_core249.dll_void___cdecl_cv::merge_class_std::vector_class_cv::Mat__class_std::allocator_class_cv::Mat___const___class_cv::_OutputArray_const__
add esp, 8
lea eax, [ebp - 0x401a8]
lea ecx, [ebp - 0x40064]
push eax
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
push 0
push 0x27
lea eax, [ebp - 0x40064]
push eax
lea eax, [ebp - 0x4004c]
push eax
call sub.opencv_imgproc249.dll_void___cdecl_cv::cvtColor_class_cv::_InputArray_const___class_cv::_OutputArray_const___int__int_
add esp, 0x10
movsd xmm0, qword [ebp - 0x87008]
ucomisd xmm0, qword [0x1018e828]
lahf
test ah, 0x44
jnp 0x1001124a
lea eax, [ebp - 0x400c0]
push eax
lea ecx, [ebp - 0x40064]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_OutputArray::constructor_class_cv::Mat__
lea eax, [ebp - 0x401a8]
push eax
lea ecx, [ebp - 0x4004c]
call sub.opencv_core249.dll_public:_void___thiscall_cv::_InputArray::constructor_class_cv::Mat_const__
movsd xmm0, qword [0x1018e828]
push 1
sub esp, 0x18
mov eax, esp
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp - 0x87008]
mov dword [eax], 0
mov dword [eax + 4], 0
lea eax, [ebp - 0x40064]
movsd qword [esp + 8], xmm0
push eax
lea eax, [ebp - 0x4004c]
push eax
call sub.opencv_imgproc249.dll_void___cdecl_cv::resize_class_cv::_InputArray_const___class_cv::_OutputArray_const___class_cv::Size__int___double__double__int_
add esp, 0x24
lea eax, [ebp - 0x400c0]
lea ecx, [ebp - 0x401a8]
push eax
call fcn.1000c550
push 0xd
push dword [ebp - 0x40178]
lea ecx, [ebp - 0x40044]
push dword [ebp - 0x401a0]
push dword [ebp - 0x4019c]
push dword [ebp - 0x40198]
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QImage::constructor_unsigned_char___int__int__int__enum_QImage::Format_]
push eax
lea ecx, [ebp - 0x87088]
mov byte [ebp - 4], 0x14
call dword [sym.imp.QtGui4.dll_public:_class_QImage____thiscall_QImage::operator_class_QImage__]
mov esi, dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QImage::destructor_void_]
lea ecx, [ebp - 0x40044]
mov byte [ebp - 4], 0x13
call esi
lea eax, [ebp - 0x87064]
mov dword [ebp - 0x87060], 0
push eax
lea eax, [ebp - 0x40044]
mov dword [ebp - 0x87064], 0
push eax
lea ecx, [ebp - 0x87088]
mov dword [ebp - 0x87058], 0xffffffff
mov dword [ebp - 0x8705c], 0xffffffff
call dword [sym.imp.QtGui4.dll_public:_class_QImage___thiscall_QImage::copy_class_QRect_const__]
mov ecx, dword [ebp - 0x8707c]
push eax
add ecx, 0x14
mov byte [ebp - 4], 0x15
call dword [sym.imp.QtGui4.dll_public:_class_QImage____thiscall_QImage::operator_class_QImage__]
lea ecx, [ebp - 0x40044]
mov byte [ebp - 4], 0x13
call esi
lea ecx, [ebp - 0x87030]
mov byte [ebp - 0x87032], 1
call dword [sym.imp.libraw.dll_public:_void___thiscall_LibRaw::recycle_void_]
mov eax, dword [ebp - 0x87074]
mov byte [ebp - 4], 9
test eax, eax
je 0x1001135b
push dword [ebp - 0x87058]
lea ecx, [ebp - 0x87031]
push ecx
push dword [ebp - 0x87070]
push eax
call fcn.1000ad60
push dword [ebp - 0x87074]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 0x14
mov dword [ebp - 0x87074], 0
mov dword [ebp - 0x87070], 0
mov dword [ebp - 0x8706c], 0
mov eax, dword [ebp - 0x40194]
mov byte [ebp - 4], 8
test eax, eax
je 0x10011384
push 0xffffffffffffffff
push eax
call sub.opencv_core249.dll_int___cdecl_cv::_interlockedExchangeAdd_int___int_
add esp, 8
cmp eax, 1
jne 0x10011384
lea ecx, [ebp - 0x401a8]
call sub.opencv_core249.dll_public:_void___thiscall_cv::Mat::deallocate_void_
mov eax, dword [ebp - 0x40180]
lea ecx, [ebp - 0x40178]
mov dword [ebp - 0x40188], 0
mov dword [ebp - 0x4018c], 0
mov dword [ebp - 0x40190], 0
mov dword [ebp - 0x40198], 0
mov dword [eax], 0
mov eax, dword [ebp - 0x4017c]
mov dword [ebp - 0x40194], 0
cmp eax, ecx
je 0x100113db
push eax
call sub.opencv_core249.dll_void___cdecl_cv::fastFree_void__
add esp, 4
mov eax, dword [ebp - 0x400ac]
mov byte [ebp - 4], 4
test eax, eax
je 0x10011404
push 0xffffffffffffffff
push eax
call sub.opencv_core249.dll_int___cdecl_cv::_interlockedExchangeAdd_int___int_
add esp, 8
cmp eax, 1
jne 0x10011404
lea ecx, [ebp - 0x400c0]
call sub.opencv_core249.dll_public:_void___thiscall_cv::Mat::deallocate_void_
mov eax, dword [ebp - 0x40098]
lea ecx, [ebp - 0x40090]
mov dword [ebp - 0x400a0], 0
mov dword [ebp - 0x400a4], 0
mov dword [ebp - 0x400a8], 0
mov dword [ebp - 0x400b0], 0
mov dword [eax], 0
mov eax, dword [ebp - 0x40094]
mov dword [ebp - 0x400ac], 0
cmp eax, ecx
je 0x1001145b
push eax
call sub.opencv_core249.dll_void___cdecl_cv::fastFree_void__
add esp, 4
lea ecx, [ebp - 0x87088]
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0x87030]
mov byte [ebp - 4], 1
call dword [sym.imp.libraw.dll_public_virtual:_void___thiscall_LibRaw::destructor_void_]
jmp 0x10011485
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x87058], eax
test esi, esi
je 0x100114ea
or edi, 0xffffffff
lea ecx, [esi + 8]
mov eax, edi
lock xadd dword [ecx], eax
jne 0x100114d8
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
call eax
test al, al
jne 0x100114d8
mov eax, dword [ebp - 0x87058]
test eax, eax
je 0x100114d8
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::destructor_void_]
mov eax, dword [ebp - 0x87058]
push eax
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
lea eax, [esi + 4]
lock xadd dword [eax], edi
dec edi
jne 0x100114ea
mov edx, dword [esi]
mov ecx, esi
push 1
call dword [edx]
mov al, byte [ebp - 0x87032]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.1016159e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10