Function at 0x4301b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5261b5
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push esi
push edi
mov eax, dword [0x58e5a4]
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 0x430203
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], 0x4303c0
mov dword [ebp - 0x14], eax
push eax
mov ecx, 0x598530
mov byte [ebp - 4], 3
call fcn.00431790
lea eax, [ebp - 0x60]
mov ecx, 0x598558
push eax
call fcn.00431790
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 0x30]
mov dword [0x598588], eax
test ecx, ecx
je 0x430260
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 [0x598588]
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x43027d
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 [0x598588]
push 0
push eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov edi, dword [0x598510]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x4302bc
cmp edi, 0xffffffff
je 0x4302bc
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 [0x598510], eax
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov edi, dword [0x598514]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x4302f9
cmp edi, 0xffffffff
je 0x4302f9
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 [0x598514], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edi, dword [0x598580]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x430337
cmp edi, 0xffffffff
je 0x430337
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, 0x598518
mov dword [0x598580], eax
call fcn.0040c490
push 0
push 0
push 0x5984e0
push 0x433810
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, dword [0x598584]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x430389
cmp edi, 0xffffffff
je 0x430389
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 [0x598584], eax
test ecx, ecx
je 0x4303a6
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