Function at 0x4056a0
Capabilities:
Check for peb beingdebugged flag
Create thread
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418077
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x420008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x208
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push 0x5c
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsrchr]
add esp, 8
xor ecx, ecx
mov word [eax + 2], cx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [edi + 0x30], 0
je 0x40576c
mov eax, dword [edi + 0x34]
test eax, eax
je 0x40573e
mov dword [eax + 4], 0
call fcn.00401590
mov dword [edi + 0x34], 0
mov ecx, dword [0x420cfc]
test ecx, ecx
je 0x405758
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x420cfc], 0
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x405765
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 0x30], 0
push 0xcc
call fcn.00416902
mov esi, eax
mov dword [ebp - 0x23c], esi
push 0xcc
push 0
push esi
mov dword [ebp - 4], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
mov ecx, esi
call fcn.00405be0
mov dword [ebp - 4], 0xffffffff
mov ecx, eax
mov dword [edi + 0x30], eax
call fcn.00405d60
test eax, eax
jne 0x4057d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x41a158
mov ecx, edi
call fcn.00410a20
mov ecx, edi
call fcn.00410510
jmp 0x4058d9
push 0x10
call fcn.00416902
mov dword [ebp - 0x21c], eax
mov dword [ebp - 4], 1
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov esi, dword [edi + 0x30]
push 0x28
mov dword [eax], vtable.CUploadScheduler.0
mov dword [eax + 0xc], esi
call fcn.00416902
add esp, 8
mov dword [ebp - 0x23c], eax
xorps xmm0, xmm0
mov ecx, eax
movups xmmword [eax], xmm0
push esi
movups xmmword [eax + 0x10], xmm0
movq qword [eax + 0x20], xmm0
call fcn.00404eb0
mov esi, dword [ebp - 0x21c]
mov dword [ebp - 0x21c], 0
mov dword [esi + 4], eax
test eax, eax
je 0x405850
lea ecx, [ebp - 0x21c]
push ecx
push 0
push eax
push 0x4051c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x420cf8]
mov dword [0x420cfc], esi
test eax, eax
jne 0x40588f
push 8
call fcn.00416902
mov dword [ebp - 0x23c], eax
xorps xmm0, xmm0
add esp, 4
mov dword [0x420cf8], eax
movq qword [eax], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov esi, eax
mov dword [edi + 0x34], eax
test esi, esi
je 0x4058d9
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 1
push 0x4015e0
push 0
push 0
push 0x4199f0
push 0
push 0
push 0
call dword [sym.imp.wevtapi.dll_EvtSubscribe]
mov dword [esi], eax
test eax, eax
jne 0x4058d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [edi + 0x34]
mov eax, dword [edi + 0x30]
mov dword [ecx + 4], eax
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x238]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x405929
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
nop dword [eax + eax]
lea eax, [ebp - 0x238]
push eax
call edi
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x238]
push eax
call esi
test eax, eax
jne 0x405900
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004168de
mov esp, ebp
pop ebp
ret