Function at 0x42fd40
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x4779fb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x22c
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x14]
call fcn.0046f891
push 0x480168
push 0x5c
push str.CONFIG
push 0x49b7b8
lea eax, [esp + 0x4c]
push str._s_s_c_s
xor ebx, ebx
push eax
mov dword [esp + 0x25c], ebx
call fcn.0045d67e
mov edi, dword [esp + 0x264]
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x48]
push edx
mov dword [edi], ebx
mov dword [esp + 0x4c], ebx
call fcn.0042e950
mov ebp, eax
add esp, 0x20
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x2c], ebp
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x42ff6a
push ebx
push 2
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x20]
call fcn.0046fae2
lea ecx, [esp + 0x14]
call fcn.0046f783
cmp eax, 0x1d0
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x14]
jae 0x42fdfd
call fcn.0046f82f
jmp 0x42ff6a
mov edx, dword [esp + 0x14]
push ebx
push ebx
push ebx
call dword [edx + 0x28]
push 4
push edi
lea ecx, [esp + 0x1c]
call fcn.0046f59e
mov esi, dword [esp + 0x250]
push 4
push esi
lea ecx, [esp + 0x1c]
call fcn.0046f59e
mov eax, dword [edi]
cmp eax, ebx
jl 0x42fe42
cmp dword [esi], 1
jl 0x42fe42
mov edx, dword [esp + 0x24]
imul eax, eax, 0x1c8
lea ecx, [eax + 8]
cmp edx, ecx
je 0x42fe50
lea ecx, [esp + 0x14]
call fcn.0046f82f
jmp 0x42ff6a
push eax
call fcn.0045e1f2
mov ebp, eax
mov eax, dword [edi]
imul eax, eax, 0x1c8
push eax
mov dword [esp + 0x3c], ebp
call fcn.0045e1f2
mov ecx, dword [edi]
imul ecx, ecx, 0x1c8
add esp, 8
push ecx
mov ebx, eax
push ebp
lea ecx, [esp + 0x1c]
mov dword [esp + 0x18], ebx
call fcn.0046f59e
lea ecx, [esp + 0x14]
call fcn.0046f82f
mov eax, dword [edi]
xor esi, esi
test eax, eax
jle 0x42febc
add ebx, 0x60
lea ebx, [ebx]
push 1
push ebx
call fcn.00427680
mov eax, dword [edi]
add esp, 8
inc esi
add ebx, 0x1c8
cmp esi, eax
jl 0x42fea0
mov ebx, dword [esp + 0x10]
mov eax, dword [edi]
xor esi, esi
cmp eax, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], esi
jle 0x42ff42
mov esi, dword [esp + 0x10]
mov ebx, ebp
add esi, 0x60
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx + 0x64]
push edx
push eax
push ecx
call fcn.00427c50
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x42ff21
push 0x1c8
lea edx, [esi - 0x60]
push ebx
push edx
call fcn.0045dbf0
push 0
push esi
call fcn.00427680
push esi
push ebp
call fcn.00427850
mov ecx, dword [esp + 0x4c]
add esp, 0x1c
inc ecx
mov dword [esp + 0x30], ecx
add esi, 0x1c8
mov eax, dword [esp + 0x24]
mov ecx, dword [edi]
inc eax
add ebx, 0x1c8
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x42fed5
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
test ebp, ebp
je 0x42ff4f
push ebp
call fcn.0045df2d
add esp, 4
test esi, esi
jne 0x430090
test ebx, ebx
je 0x42ff64
push ebx
call fcn.0045df2d
add esp, 4
mov ebp, dword [esp + 0x28]
xor ebx, ebx
push ebx
push 0x1002
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0x20]
call fcn.0046fae2
mov eax, dword [esp + 0x14]
push ebx
push ebx
push ebx
lea ecx, [esp + 0x20]
call dword [eax + 0x28]
push 0x1c8
mov dword [edi], 1
call fcn.0045e1f2
mov esi, eax
mov dword [esi + 0x58], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x48], ebx
mov dword [esi], 1
mov eax, 0x40240000
mov dword [esi + 0x5c], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x4c], eax
mov edx, dword [0x4806d4]
lea ecx, [esi + 4]
mov dword [ecx], edx
mov eax, dword [str._99__]
mov dword [ecx + 4], eax
mov edx, dword [0x4806dc]
mov dword [ecx + 8], edx
mov eax, dword [0x4806e0]
mov dword [ecx + 0xc], eax
mov dx, word [0x4806e4]
mov word [ecx + 0x10], dx
mov al, byte [0x4806e6]
mov byte [ecx + 0x12], al
mov ecx, dword [esp + 0x254]
lea ebx, [esi + 0x60]
push 1
push ebx
mov dword [ecx], 2
call fcn.00427680
push ebx
push ebp
call fcn.00427850
add esp, 0x14
push 4
push edi
lea ecx, [esp + 0x1c]
call fcn.0046f5de
mov edx, dword [esp + 0x250]
push 4
push edx
lea ecx, [esp + 0x1c]
call fcn.0046f5de
mov eax, dword [edi]
imul eax, eax, 0x1c8
push eax
push esi
lea ecx, [esp + 0x1c]
call fcn.0046f5de
lea ecx, [esp + 0x14]
call fcn.0046f82f
test ebp, ebp
je 0x430061
mov ecx, dword [esp + 0x2c]
push ecx
push ebp
call fcn.0042e420
add esp, 8
lea ecx, [esp + 0x14]
mov dword [esp + 0x244], 0xffffffff
call fcn.0046f8d0
mov eax, esi
mov ecx, dword [esp + 0x23c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x238
ret
cmp esi, dword [edi]
mov dword [edi], esi
jge 0x4300ac
imul esi, esi, 0x1c8
push esi
push ebx
call fcn.0045df9e
add esp, 8
mov dword [esp + 0x10], eax
mov ebx, eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4300c2
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call fcn.0042e420
add esp, 8
lea ecx, [esp + 0x14]
mov dword [esp + 0x244], 0xffffffff
call fcn.0046f8d0
mov eax, ebx
jmp 0x430077