Function at 0x43e900
Capabilities:
Check mutex on windows
Create thread
Get number of processors
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2fc
mov eax, dword [0x5c49f0]
xor eax, esp
mov dword [esp + 0x2f8], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push 3
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
sub esp, 0x18
mov ecx, esp
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push 0x5b03e0
mov byte [ecx], 0
call fcn.0042c1e0
call fcn.00434ba0
add esp, 0x18
mov ecx, esi
call fcn.0043ec60
lea ecx, [esp + 0x30]
call fcn.00441320
cmp dword [esp + 0x44], 0x10
lea eax, [esp + 0x30]
cmovae eax, dword [esp + 0x30]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
mov eax, dword fs:[0x2c]
jne 0x43ea64
mov edi, dword [eax]
mov eax, dword [0x5c9840]
cmp eax, dword [edi + 4]
jle 0x43e9d9
push 0x5c9840
call fcn.00533993
add esp, 4
cmp dword [0x5c9840], 0xffffffff
jne 0x43e9d9
call fcn.00436720
push 0x5607c0
call fcn.00533d1d
add esp, 4
push 0x5c9840
call fcn.00533954
add esp, 4
push str.repeat_execute
push 1
push 0x5b063c
push 0x5c9848
call fcn.00436800
mov eax, dword [0x5c9840]
lea esi, [esp + 0x40]
add esp, 0x10
cmp dword [esp + 0x44], 0x10
cmovae esi, dword [esp + 0x30]
cmp eax, dword [edi + 4]
jle 0x43ea42
push 0x5c9840
call fcn.00533993
add esp, 4
cmp dword [0x5c9840], 0xffffffff
jne 0x43ea42
call fcn.00436720
push 0x5607c0
call fcn.00533d1d
add esp, 4
push 0x5c9840
call fcn.00533954
add esp, 4
push esi
push str.exist__s
push 0
push 0x5b063c
push 0x5c9848
call fcn.00436800
add esp, 0x14
or esi, 0xffffffff
jmp 0x43ec23
mov ecx, dword [eax]
mov eax, dword [0x5c9840]
cmp eax, dword [ecx + 4]
jle 0x43eaa8
push 0x5c9840
call fcn.00533993
add esp, 4
cmp dword [0x5c9840], 0xffffffff
jne 0x43eaa8
call fcn.00436720
push 0x5607c0
call fcn.00533d1d
add esp, 4
push 0x5c9840
call fcn.00533954
add esp, 4
push str.Mon_Apr_15_11:49:53_2024
push str.upgrade__s
push 0
push 0x5b063c
push 0x5c9848
call fcn.00436800
add esp, 0x14
call fcn.0043efb0
call fcn.00441400
cmp byte [0x5c91ac], 0
je 0x43eaf3
push str.command_line_mode
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x10
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x64
push 0x5c9220
push 0x66
push edi
call esi
push 0x64
push 0x5c91b8
push 0x67
push edi
call esi
mov ecx, edi
call fcn.0043c380
mov ecx, edi
call fcn.0043f0e0
mov ecx, edi
call fcn.0043f170
test eax, eax
jne 0x43eb31
xor esi, esi
jmp 0x43ec23
push 0x2b8
lea eax, [esp + 0x4c]
push 0
push eax
call fcn.005369e0
add esp, 0xc
mov dword [esp + 0x48], vtable.CThreadBase.0
mov dword [esp + 0x4c], 0
lea ecx, [esp + 0x54]
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], vtable.CUpdateVersion.0
call fcn.0043df70
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x2f4], 0x5b2bc0
mov byte [esp + 0x2fc], 0
jne 0x43eba4
push 0
push 0
lea eax, [esp + 0x50]
push eax
push 0x453040
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esp + 0x4c], eax
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
lea eax, [esp + 0x14]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x43ebfb
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea eax, [esp + 0x14]
push eax
push 0
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x43ebea
lea eax, [esp + 0x14]
push eax
call edi
lea eax, [esp + 0x14]
push eax
call ebx
push 0
push 0
push 0
lea eax, [esp + 0x20]
push eax
call esi
test eax, eax
jne 0x43ebc7
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], vtable.CUpdateVersion.0
mov dword [esp + method.CBaseUpdate.virtual_0], vtable.CBaseUpdate.0
call fcn.0043e540
mov dword [esp + 0x48], vtable.CThreadBase.0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x43ec3b
inc ecx
push ecx
push dword [esp + 0x34]
lea ecx, [esp + 0x38]
call fcn.0042ceb0
mov ecx, dword [esp + 0x304]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00533845
mov esp, ebp
pop ebp
ret 0x10