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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b1b98
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x4e51f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 4], 0
lea eax, [ebp + 8]
cmp dword [ebp + 0x1c], 8
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmovae eax, dword [ebp + 8]
push eax
call edi
cmp eax, 0xffffffff
je 0x46d020
test al, 0x10
je 0x46d020
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
push 0x4cc880
lea edx, [ebp + 8]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.004322b0
add esp, 4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
cmp ecx, eax
je 0x46ce18
push 0xffffffffffffffff
push 0
push eax
call fcn.00432c00
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 8
jb 0x46ce2d
push dword [ebp - 0x40]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
cmp eax, 0xffffffff
je 0x46ce53
test al, 0x10
je 0x46ce53
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x128]
call fcn.0048b6c0
push str._tmp
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.004322b0
add esp, 4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
cmp ecx, eax
je 0x46ce7b
push 0xffffffffffffffff
push 0
push eax
call fcn.00432c00
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 8
jb 0x46ce90
push dword [ebp - 0x40]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
cmp eax, 0xffffffff
je 0x46ceb6
test al, 0x10
je 0x46ceb6
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x248]
call fcn.0048b6c0
push str.exe_setupdatagamedata
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.004322b0
add esp, 4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
cmp ecx, eax
je 0x46cede
push 0xffffffffffffffff
push 0
push eax
call fcn.00432c00
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 8
jb 0x46cef3
push dword [ebp - 0x40]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
cmp eax, 0xffffffff
je 0x46cf0a
test al, 0x10
jne 0x46cf5e
push str.exe
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.004322b0
add esp, 4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
cmp ecx, eax
je 0x46cf32
push 0xffffffffffffffff
push 0
push eax
call fcn.00432c00
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 8
jb 0x46cf47
push dword [ebp - 0x40]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
cmp eax, 0xffffffff
je 0x46cf98
test al, 0x10
je 0x46cf98
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x2d8]
call fcn.0048b6c0
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x28]
push eax
call fcn.00432c00
mov ecx, esi
call fcn.0046d050
push str.work
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.004322b0
add esp, 4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
cmp ecx, eax
je 0x46cfc0
push 0xffffffffffffffff
push 0
push eax
call fcn.00432c00
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 8
jb 0x46cfd5
push dword [ebp - 0x40]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
cmp eax, 0xffffffff
je 0x46cffb
test al, 0x10
je 0x46cffb
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x488]
call fcn.0048b6c0
cmp dword [ebp - 0x14], 8
jb 0x46d00c
push dword [ebp - 0x28]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
cmp dword [ebp + 0x1c], 8
jb 0x46d031
push dword [ebp + 8]
call fcn.0048ccb8
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048cca9
mov esp, ebp
pop ebp
ret 0x18