Function at 0x43db50
Capabilities:
Check if file exists
Create process on windows

Disassembly:
sub esp, 0x418
mov eax, dword [0x5c96a4]
xor eax, esp
mov dword [esp + 0x414], eax
mov eax, dword [0x5e1270]
push ebx
push esi
push edi
mov esi, ecx
test eax, eax
je 0x43db74
call eax
lea eax, [esi + 0x2504]
test eax, eax
jne 0x43db82
xor ecx, ecx
jmp 0x43db85
mov ecx, dword [eax + 0x20]
mov ebx, dword [esp + 0x42c]
cmp ebx, ecx
jne 0x43dc15
xor ecx, ecx
cmp dword [esi + 0x25a8], ecx
sete cl
cmp ecx, dword [eax + 0xa4]
je 0x43dbbb
push 1
mov dword [eax + 0xa4], ecx
mov eax, dword [eax + 0x20]
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edi, 0x10
call fcn.0043e800
cmp dword [0x5dbbec], 0
je 0x43dbeb
mov edx, dword [0x5e1228]
push 0
push 1
and edi, 0xffff7fff
push edx
mov dword [0x5e1230], edi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [esp + 0x428]
push ebx
push eax
mov ecx, esi
call fcn.00449a58
mov ecx, dword [esp + 0x420]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0053fb0e
add esp, 0x418
ret 8
lea eax, [esi + 0x2664]
test eax, eax
jne 0x43dc23
xor ecx, ecx
jmp 0x43dc26
mov ecx, dword [eax + 0x20]
cmp ebx, ecx
jne 0x43dc54
xor ecx, ecx
cmp dword [esi + 0x2708], ecx
sete cl
cmp ecx, dword [eax + 0xa4]
je 0x43dbbb
push 1
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x20]
push 0
push ecx
jmp 0x43dbb5
lea eax, [esi + 0x3164]
test eax, eax
je 0x43dc61
mov eax, dword [eax + 0x20]
cmp ebx, eax
jne 0x43dc6f
mov edi, 8
jmp 0x43dbc0
lea eax, [esi + 0x27c4]
test eax, eax
jne 0x43dc7d
xor ecx, ecx
jmp 0x43dc80
mov ecx, dword [eax + 0x20]
cmp ebx, ecx
jne 0x43dcb5
xor ecx, ecx
cmp dword [esi + 0x2868], ecx
sete cl
cmp ecx, dword [eax + 0xa4]
je 0x43dcab
mov edx, dword [eax + 0x20]
push 1
push 0
push edx
mov dword [eax + 0xa4], ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edi, 8
jmp 0x43dbc0
lea eax, [esi + 0x2924]
test eax, eax
jne 0x43dcc3
xor ecx, ecx
jmp 0x43dcc6
mov ecx, dword [eax + 0x20]
cmp ebx, ecx
jne 0x43dce4
xor ecx, ecx
cmp dword [esi + 0x29c8], ecx
sete cl
call fcn.00431380
mov edi, 8
jmp 0x43dbc0
lea eax, [esi + 0x3db8]
test eax, eax
je 0x43dcf1
mov eax, dword [eax + 0x20]
cmp ebx, eax
jne 0x43dcff
mov edi, 8
jmp 0x43dbc0
lea eax, [esi + 0x3c58]
test eax, eax
je 0x43dd0c
mov eax, dword [eax + 0x20]
cmp ebx, eax
jne 0x43dbeb
mov ecx, esi
call fcn.004034d0
mov edi, eax
cmp dword [edi + 0x1eb4], 0
jne 0x43dd47
cmp dword [0x5e1240], 0
jne 0x43dd47
push esi
mov ecx, 0x5e19f0
call fcn.00421920
add esp, 4
mov eax, 1
jmp 0x43dbfb
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x5e1a4c
call fcn.0040a270
push esi
call fcn.00421c50
add esp, 8
cmp eax, 1
jne 0x43dbeb
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [edi + 0x1eb1]
movzx ecx, byte [edi + 0x1eb0]
push eax
push ecx
push 0x5e0788
push str._supdate_02x_02x
push 0x103
lea edx, [esp + 0x24]
push 0x104
push edx
call fcn.005403d0
lea eax, [esp + 0x2c]
push eax
push str._s_bootloader.exe
push 0x103
lea ecx, [esp + 0x240]
push 0x104
push ecx
call fcn.005403d0
add esp, 0x30
lea edx, [esp + 0x218]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x43de0e
lea eax, [esp + 0x218]
push eax
push str.File_not_found:__s
push 0x103
lea ecx, [esp + 0x1c]
push 0x104
push ecx
call fcn.005403d0
push esi
lea ecx, [esp + 0x28]
call fcn.004219e0
add esp, 0x18
mov eax, 1
jmp 0x43dbfb
lea edx, [esp + 0x218]
push edx
call dword [0x5e1244]
add esp, 4
push 1
lea eax, [esp + 0x14]
push eax
push 0
lea ecx, [esp + 0x224]
push ecx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, edi
call fcn.0042b5a0
jmp 0x43dbeb