Function at 0x43bf286d
Capabilities:
Check if file exists

Disassembly:
push 0x5c
mov eax, 0x43c1ae1e
call fcn.43bfae59
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x60], eax
cmp edi, 3
je 0x43bf2b03
cmp edi, 4
je 0x43bf2b03
cmp edi, 5
je 0x43bf2b03
lea eax, [ebp - 0x28]
xor ebx, ebx
push eax
call fcn.43bf384b
lea ecx, [esi + 0x30]
mov dword [ebp - 4], ebx
push ecx
push eax
call fcn.43bf405a
mov ebx, eax
lea ecx, [ebp - 0x28]
add esp, 0xc
neg ebx
sbb bl, bl
xor eax, eax
push eax
inc eax
push eax
call fcn.43bc1f54
xor ecx, ecx
mov dword [ebp - 0x2c], 7
movzx eax, cl
inc bl
push 1
pop ecx
cmovne eax, ecx
xor ebx, ebx
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x40]
mov dword [ebp - 4], ecx
push eax
call fcn.43bc3773
sub esp, 0x14
lea eax, [ebp - 0x40]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.43bc2bb6
sub esp, 0x18
mov byte [ebp - 4], 2
mov ecx, esp
push dword [esi + 0x3c]
call fcn.43bc35c0
xor ecx, ecx
inc ecx
mov byte [ebp - 4], cl
call fcn.43bf349e
mov ecx, dword [ebp - 0x5c]
test eax, eax
push 1
pop eax
movzx ecx, cl
cmovle ecx, eax
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x5c], ecx
call fcn.43bf38de
push dword [esi + 0x4c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.43bc3a6f
add esp, 0x40
mov ecx, esi
push eax
call fcn.43bc2bde
xor eax, eax
lea ecx, [ebp - 0x28]
push ebx
inc eax
push eax
call fcn.43bc1f54
xor eax, eax
inc eax
lea ecx, [ebp - 0x58]
push ebx
push eax
mov byte [ebp - 4], al
call fcn.43bc1f54
push dword [esi + 0x44]
lea ecx, [ebp - 0x28]
call fcn.43bc35c0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 4
push eax
push esi
call fcn.43bf4394
mov ebx, eax
pop ecx
pop ecx
neg ebx
sbb bl, bl
xor ecx, ecx
inc ecx
xor eax, eax
push eax
mov byte [ebp - 4], cl
push ecx
lea ecx, [ebp - 0x28]
call fcn.43bc1f54
mov eax, dword [ebp - 0x5c]
inc bl
push 1
movzx eax, al
pop ecx
cmovne eax, ecx
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x5c], eax
jb 0x43bf29c9
mov eax, dword [esi]
jmp 0x43bf29cb
mov eax, esi
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call ebx
test eax, eax
je 0x43bf2acf
cmp byte [ebp - 0x5c], 0
jne 0x43bf2acf
push esi
mov ecx, esi
call fcn.43bf2e97
test al, al
je 0x43bf2a51
lea eax, [ebp - 0x58]
push eax
call fcn.43bf38de
mov dword [esp], str._setupdata
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
call fcn.43bc3a6f
add esp, 0xc
xor ecx, ecx
inc ecx
xor eax, eax
mov byte [ebp - 4], cl
push eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.43bc1f54
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call ebx
mov ecx, dword [ebp - 0x5c]
test eax, eax
push 1
movzx ebx, cl
pop ecx
cmove ebx, ecx
xor eax, eax
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.43bc1f54
test bl, bl
jne 0x43bf2acf
xor ebx, ebx
inc ebx
cmp edi, ebx
je 0x43bf2aa7
xor ebx, ebx
mov dword [ebp - 0x5c], ebx
call fcn.43bd2660
push ebx
push ebx
lea ecx, [ebp - 0x5c]
mov edx, dword [eax]
push ecx
push 0xbe
mov ecx, eax
call dword [edx + 4]
cmp dword [ebp - 0x5c], 2
jne 0x43bf2aa4
call fcn.43bd2660
mov ecx, dword [esi + 0x3c]
push ebx
mov edx, dword [eax]
push dword [ecx - 0xc]
push ecx
push 0xbf
mov ecx, eax
call dword [edx + 0x10]
call fcn.43bd2660
push 0xb8
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x43bf2aba
push eax
lea ecx, [esi + 0x78c]
call fcn.43be0f50
mov ecx, esi
test edi, edi
jne 0x43bf2ac7
call fcn.43bf2b5e
jmp 0x43bf2af5
push edi
call fcn.43bf2cf5
jmp 0x43bf2af5
xor ebx, ebx
inc ebx
cmp edi, ebx
je 0x43bf2ada
test edi, edi
jne 0x43bf2af5
mov ecx, esi
call fcn.43bf2cbd
push dword [ebp - 0x60]
xor eax, eax
push eax
call fcn.43bf47d7
pop ecx
pop ecx
mov ecx, esi
call fcn.43bf2c33
xor eax, eax
lea ecx, [ebp - 0x40]
push eax
push ebx
call fcn.43bc1f54
jmp 0x43bf2b09
push edi
call fcn.43bf2cf5
call fcn.43bfae08
ret 8