Function at 0x41dcb0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a4dc5
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push esi
push edi
mov eax, dword [0x4e54fc]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x60]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x2c]
test ecx, ecx
je 0x41dd03
mov eax, dword [ecx]
lea edx, [ebp - 0x60]
push edx
mov eax, dword [eax]
call eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], vtable.std::_Func_impl_no_alloc_void____cdecl___struct_VirusTotalWorkItem____void__struct_VirusTotalWorkItem__.0
mov dword [ebp - 0x34], 0x41dec0
mov dword [ebp - 0x14], eax
push eax
mov ecx, 0x4ff860
mov byte [ebp - 4], 3
call fcn.0041eaf0
lea eax, [ebp - 0x60]
mov ecx, 0x4ff888
push eax
call fcn.0041eaf0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 0x30]
mov dword [0x4ff8b8], eax
test ecx, ecx
je 0x41dd60
mov edx, dword [ecx]
lea eax, [ebp - 0x38]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov eax, dword [0x4ff8b8]
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x41dd7d
mov edx, dword [ecx]
lea eax, [ebp - 0x60]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov eax, dword [0x4ff8b8]
push 0
push eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov edi, dword [0x4ff840]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x41ddbc
cmp edi, 0xffffffff
je 0x41ddbc
call esi
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp + 0x30]
push 0
push 0x2710
push 0
push 0
mov dword [0x4ff840], eax
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov edi, dword [0x4ff844]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x41ddf9
cmp edi, 0xffffffff
je 0x41ddf9
call esi
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp + 0x30]
push 0
push 0
push 0
push 0
mov dword [0x4ff844], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edi, dword [0x4ff8b0]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x41de37
cmp edi, 0xffffffff
je 0x41de37
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp + 0x30]
mov ecx, 0x4ff848
mov dword [0x4ff8b0], eax
call fcn.004050c0
push 0
push 0
push 0x4ff810
push 0x41ef00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, dword [0x4ff8b4]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x41de89
cmp edi, 0xffffffff
je 0x41de89
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x2c]
mov dword [0x4ff8b4], eax
test ecx, ecx
je 0x41dea6
mov edx, dword [ecx]
lea eax, [ebp + 8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret