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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x47793b
push eax
mov dword fs:[0], esp
sub esp, 0x294
push ebp
push edi
mov edi, dword [esp + 0x2ac]
xor ebp, ebp
cmp edi, ebp
jne 0x428673
pop edi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x294]
mov dword fs:[0], ecx
add esp, 0x2a0
ret
push ebx
push esi
lea ecx, [esp + 0x10]
call fcn.0046f891
push str.Obr.cfg
push 0x5c
push str.CONFIG
push 0x49b7b8
lea eax, [esp + 0xb4]
push str._s_s_c_s
push eax
mov dword [esp + 0x2c4], ebp
call fcn.0045d67e
add esp, 0x18
lea ecx, [esp + 0xa4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x428713
push ebp
push ebp
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x1c]
call fcn.0046fae2
lea ecx, [esp + 0x10]
call fcn.0046f783
push ebp
push ebp
mov esi, eax
mov eax, dword [esp + 0x18]
push ebp
lea ecx, [esp + 0x1c]
call dword [eax + 0x28]
push 4
push 0x49d564
lea ecx, [esp + 0x18]
call fcn.0046f59e
mov ecx, dword [0x49d564]
imul ecx, ecx, 0x38
add ecx, 4
cmp esi, ecx
je 0x42876e
lea ecx, [esp + 0x10]
call fcn.0046f82f
push ebp
push 0x1002
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x1c]
call fcn.0046fae2
mov eax, dword [esp + 0x10]
push ebp
push ebp
push ebp
lea ecx, [esp + 0x1c]
call dword [eax + 0x28]
push 4
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x28], 1
call fcn.0046f5de
push 0x38
push 0x495478
lea ecx, [esp + 0x18]
call fcn.0046f5de
lea ecx, [esp + 0x10]
call fcn.0046f82f
jmp 0x4286be
mov edx, dword [edi + 0x1c]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push ebp
push 0x14b
push edx
call ebx
mov eax, dword [0x49d560]
cmp eax, ebp
je 0x428793
push eax
call fcn.0045df2d
add esp, 4
mov eax, dword [0x49d564]
imul eax, eax, 0x38
push eax
mov dword [0x49d560], ebp
call fcn.0045e1f2
mov ecx, dword [0x49d564]
imul ecx, ecx, 0x38
add esp, 4
push ecx
push eax
lea ecx, [esp + 0x18]
mov dword [0x49d560], eax
call fcn.0046f59e
lea ecx, [esp + 0x10]
call fcn.0046f82f
mov eax, dword [0x49d564]
test eax, eax
jle 0x42890f
xor esi, esi
jmp 0x4287e0
mov edx, dword [0x49d560]
lea eax, [esi + edx]
push eax
lea ecx, [esp + 0x28]
push str._s:
push ecx
call fcn.0045d67e
lea eax, [esp + 0x30]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428803
mov ecx, dword [0x49d560]
sub eax, edx
mov edx, dword [esi + ecx + 0x28]
test edx, edx
je 0x42883c
lea edx, [esp + eax + 0x24]
push 0x4805cc
push edx
call fcn.0045d67e
lea eax, [esp + 0x2c]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428833
jmp 0x428867
mov edx, dword [esi + ecx + 0x14]
mov ecx, dword [esi + ecx + 0x10]
push edx
push ecx
lea edx, [esp + eax + 0x2c]
push str.D___.2f
push edx
call fcn.0045d67e
lea eax, [esp + 0x34]
add esp, 0x10
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428860
mov ecx, dword [0x49d560]
sub eax, edx
mov edx, dword [esi + ecx + 0x30]
test edx, edx
lea edi, [esp + eax + 0x24]
je 0x42888b
push 0x4805b4
push edi
call fcn.0045d67e
add esp, 8
jmp 0x4288a3
mov eax, dword [esi + ecx + 0x24]
mov ecx, dword [esi + ecx + 0x20]
push eax
push ecx
push str.h___.2f
push edi
call fcn.0045d67e
add esp, 0x10
mov eax, dword [0x49d560]
mov ecx, dword [esi + eax + 0x2c]
test ecx, ecx
je 0x4288c0
push 0x48059c
push edi
call fcn.0045d67e
add esp, 8
jmp 0x4288d8
mov edx, dword [esi + eax + 0x1c]
mov eax, dword [esi + eax + 0x18]
push edx
push eax
push str.m___.2f
push edi
call fcn.0045d67e
add esp, 0x10
mov edi, dword [esp + 0x2b4]
mov edx, dword [edi + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x143
push edx
call ebx
push ebp
push eax
mov eax, dword [edi + 0x1c]
push 0x151
push eax
call ebx
mov eax, dword [0x49d564]
inc ebp
add esi, 0x38
cmp ebp, eax
jl 0x4287e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x2ac], 0xffffffff
call fcn.0046f8d0
mov ecx, dword [esp + 0x2a4]
pop esi
pop ebx
pop edi
mov eax, 1
pop ebp
mov dword fs:[0], ecx
add esp, 0x2a0
ret