Function at 0x4b2050
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
mov eax, dword [esp + 0x14]
sub esp, 0x63c
test eax, eax
push ebp
push esi
push edi
mov edi, dword [esp + 0x650]
je 0x4b2078
push 0
push 0
push 0x184
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [esp + 0x64c]
lea eax, [esp + 0x238]
push 1
push eax
push esi
call fcn.004c93e0
add esp, 0xc
cmp word [esp + 0x238], 0
jne 0x4b20c2
mov eax, dword [esp + 0x658]
test eax, eax
je 0x4b20c2
lea ecx, [esp + 0x10]
push 0
push ecx
call fcn.004c94a0
add esp, 8
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4b20d2
test al, 0x10
jne 0x4b20e5
push 0x2a
push esi
call fcn.004d75ed
add esp, 8
test eax, eax
je 0x4b21b1
push 0x2a
push esi
call fcn.004d75ed
add esp, 8
test eax, eax
jne 0x4b2108
push esi
call fcn.004c9990
push 0x59a894
push esi
call fcn.004d62f1
add esp, 0xc
lea eax, [esp + 0x238]
push 3
push eax
push esi
call fcn.004c93e0
mov eax, dword [esp + 0x66c]
add esp, 0xc
test eax, eax
je 0x4b217f
push 0
push 0x1000
lea ecx, [esp + 0x448]
push 0x104
push ecx
call fcn.00453850
lea edx, [esp + 0x450]
push 0x3b
push edx
call fcn.004d75ed
add esp, 0x18
test eax, eax
push edi
je 0x4b216d
lea eax, [esp + 0x444]
lea ecx, [esp + 0x23c]
push eax
push ecx
call fcn.004b1fc0
jmp 0x4b218e
lea edx, [esp + 0x444]
lea eax, [esp + 0x23c]
push edx
push eax
jmp 0x4b2189
push edi
lea ecx, [esp + 0x23c]
push esi
push ecx
call fcn.004b1f10
mov edx, dword [esp + 0x660]
add esp, 0xc
push edx
push edi
call fcn.004b14d0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
add esp, 0x63c
ret
push 0x598030
push esi
xor ebp, ebp
call fcn.004d5ece
mov esi, eax
add esp, 8
test esi, esi
jne 0x4b21d1
pop edi
pop esi
pop ebp
add esp, 0x63c
ret
push ebx
push esi
push 1
lea eax, [esp + 0x1a]
push 2
push eax
call fcn.004d58aa
mov ax, word [esp + 0x22]
add esp, 0x10
cmp ax, 0xfeff
je 0x4b2225
cmp ax, 0xfffe
je 0x4b2225
cmp ax, 0xbbef
jne 0x4b2211
push 1
push 1
push esi
call fcn.004d5be4
mov ebx, 1
add esp, 0xc
mov ebp, ebx
jmp 0x4b2227
push 0
push 0
push esi
call fcn.004d5be4
add esp, 0xc
mov ebx, 1
jmp 0x4b2227
xor ebx, ebx
mov ecx, 0x8a
xor eax, eax
lea edi, [esp + 0x14]
push ebp
rep stosd dword es:[edi], eax
push ebx
lea ecx, [esp + 0x1c]
push 0x114
push ecx
push esi
call fcn.004b1e00
add esp, 0x14
cmp eax, 1
jne 0x4b2385
lea edx, [esp + 0x14]
push edx
call fcn.004d6713
add esp, 4
test eax, eax
jle 0x4b228e
lea eax, [esp + 0x14]
push eax
call fcn.004d6713
add esp, 4
dec eax
js 0x4b228e
mov cx, word [esp + eax*2 + 0x14]
cmp cx, 0xd
je 0x4b2284
cmp cx, 0xa
jne 0x4b228e
mov word [esp + eax*2 + 0x14], 0
dec eax
jns 0x4b2273
lea ecx, [esp + 0x14]
push 1
push ecx
call fcn.00454070
lea edx, [esp + 0x1c]
push edx
call fcn.004d6713
add esp, 0xc
test eax, eax
jbe 0x4b233d
cmp word [esp + 0x14], 0x3b
je 0x4b2345
lea eax, [esp + 0x23c]
push 3
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.004c93e0
lea edx, [esp + 0x248]
push edx
call fcn.004d6713
add esp, 0x10
test eax, eax
jne 0x4b2321
mov ecx, dword [esp + 0x650]
lea eax, [esp + 0x23c]
push 3
push eax
push ecx
call fcn.004c93e0
lea edx, [esp + 0x20]
lea eax, [esp + 0x248]
push edx
push eax
call fcn.004d62f1
lea ecx, [esp + 0x250]
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.004d631b
add esp, 0x1c
mov ecx, dword [esp + 0x654]
lea eax, [esp + 0x14]
push eax
push 0
push 0x180
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4b235a
cmp word [esp + 0x14], 0x3b
jne 0x4b235a
mov eax, dword [esp + 0x654]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.004b1320
add esp, 8
mov ecx, 0x8a
xor eax, eax
lea edi, [esp + 0x14]
push ebp
rep stosd dword es:[edi], eax
push ebx
lea ecx, [esp + 0x1c]
push 0x114
push ecx
push esi
call fcn.004b1e00
add esp, 0x14
cmp eax, 1
je 0x4b2252
push esi
call fcn.004d5e20
add esp, 4
mov eax, 1
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x63c
ret