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

Disassembly:
sub esp, 0x66c
mov eax, dword [0x526b24]
xor eax, esp
mov dword [esp + 0x668], eax
mov eax, dword [esp + 0x670]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x680]
push edi
mov edi, dword [esp + 0x688]
cmp edi, 1
je 0x4a833b
cmp edi, 2
je 0x4a833b
xor bh, bh
jmp 0x4a833d
mov bh, 1
mov ebp, dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x58]
push ecx
push 0x104
push eax
call ebp
lea ecx, [esp + 0x54]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a8360
sub ecx, edx
sar ecx, 1
je 0x4a8380
cmp word [esp + ecx*2 + 0x52], 0x5c
jne 0x4a8380
xor eax, eax
mov word [esp + ecx*2 + 0x52], ax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x264]
push eax
push 0x104
push esi
call ebp
lea ecx, [esp + 0x260]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a83a0
sub ecx, edx
sar ecx, 1
je 0x4a83c6
cmp word [esp + ecx*2 + 0x25e], 0x5c
jne 0x4a83c6
xor eax, eax
mov word [esp + ecx*2 + 0x25e], ax
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x54]
push eax
call ebp
cmp eax, 0xffffffff
je 0x4a86a5
test al, 0x10
je 0x4a86a5
mov bl, byte [esp + 0x68c]
test bl, bl
je 0x4a856d
movzx edi, word [esp + 0x54]
test edi, 0xffffff80
jne 0x4a8411
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
add esp, 4
test eax, eax
je 0x4a8411
or edi, 0x20
movzx esi, word [esp + 0x260]
test esi, 0xffffff80
jne 0x4a8432
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
add esp, 4
test eax, eax
je 0x4a8432
or esi, 0x20
cmp di, si
jne 0x4a8443
cmp word [esp + 0x56], 0x3a
je 0x4a8566
push 0
movzx eax, bh
push eax
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.004a8300
add esp, 0x10
test al, al
je 0x4a86a5
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x470]
push eax
push 0x104
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea ecx, [esp + 0x46c]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a8490
sub ecx, edx
sar ecx, 1
je 0x4a84b6
cmp word [esp + ecx*2 + 0x46a], 0x5c
jne 0x4a84b6
xor eax, eax
mov word [esp + ecx*2 + 0x46a], ax
lea eax, [esp + 0x46c]
push eax
call ebp
cmp eax, 0xffffffff
je 0x4a86a5
test al, 0x10
je 0x4a86a5
lea ecx, [esp + 0x46c]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a84e0
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
cmp ecx, 0x20c
jae 0x4a86c0
xor eax, eax
mov dword [esp + 0x20], 0
mov word [esp + ecx + 0x46c], ax
lea eax, [esp + 0x46c]
mov dword [esp + 0x1c], eax
mov eax, 0x614
mov word [esp + 0x24], ax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x2e], 0
mov dword [esp + 0x32], 0
mov dword [esp + 0x2a], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 3
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
sete al
jmp 0x4a86a7
mov edi, dword [esp + 0x688]
lea eax, [esp + 0x260]
push eax
call ebp
cmp eax, 0xffffffff
je 0x4a8592
test al, 0x10
je 0x4a86a5
test bh, bh
je 0x4a86a5
test bl, bl
jne 0x4a85e5
jmp 0x4a85b0
test bl, bl
jne 0x4a85e5
lea eax, [esp + 0x260]
push 0
push eax
call fcn.00495ad0
add esp, 8
test al, al
je 0x4a86a5
lea ecx, [esp + 0x54]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4a85c0
mov eax, dword [0x5047e0]
mov dword [ecx], eax
mov eax, dword [0x5047e4]
mov dword [ecx + 4], eax
mov ax, word [0x5047e8]
mov word [ecx + 8], ax
lea ecx, [esp + 0x54]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a85f0
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
cmp ecx, 0x20c
jae 0x4a86c0
xor eax, eax
mov word [esp + ecx + 0x54], ax
lea ecx, [esp + 0x260]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a8623
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
cmp ecx, 0x20c
jae 0x4a86c0
xor eax, eax
xorps xmm0, xmm0
mov word [esp + ecx + 0x260], ax
mov dword [esp + 0x34], eax
mov dword [esp + 0x4e], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x260]
mov dword [esp + 0x40], eax
movzx eax, bl
xor eax, 1
movlpd qword [esp + 0x46], xmm0
inc eax
mov dword [esp + 0x38], eax
mov eax, 0x614
mov word [esp + 0x44], ax
cmp edi, 2
jne 0x4a8693
mov eax, 0x615
mov word [esp + 0x44], ax
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
sete al
jmp 0x4a86a7
xor al, al
mov ecx, dword [esp + 0x678]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ebadf
add esp, 0x66c
ret
call fcn.004ebef9
int3