Function at 0x4ad830
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x53dd56
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x5954a0]
xor eax, esp
mov dword [esp + 0x248], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5954a0]
xor eax, esp
push eax
lea eax, [esp + 0x260]
mov dword fs:[0], eax
mov eax, dword [esp + 0x270]
mov edi, dword [esp + 0x278]
push 1
mov esi, ecx
mov dword [esp + 0x20], eax
call fcn.004ab220
test al, al
je 0x4ad891
xor al, al
jmp 0x4adae7
xor ebx, ebx
cmp byte [esi + 0xe4], bl
jne 0x4ad88a
lea ebp, [esi + 0x78]
mov ecx, ebp
call fcn.004b0230
cmp eax, 0xffffffff
je 0x4ad88a
mov ecx, esi
call fcn.004abff0
cmp eax, 0xffff
je 0x4ad88a
cmp edi, ebx
je 0x4ad904
lea ecx, [esp + 0x30]
push ecx
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call fcn.004b44d1
test eax, eax
je 0x4ad88a
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x38]
push edx
call fcn.004aff30
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x24], eax
cmp eax, 0xffffffff
je 0x4ad88a
lea ecx, [esi + 0x20]
call fcn.004b2ed0
mov edx, dword [esp + 0x1c]
lea edi, [esi + 0xe8]
push edx
mov ecx, edi
call fcn.004b2840
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.004ab3d0
mov ecx, eax
call fcn.004b00c0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x268], ebx
cmp dword [ecx - 0xc], ebx
jne 0x4ad96e
mov ecx, esi
call fcn.004abff0
push eax
lea edx, [esp + 0x1c]
push str.file_i
push edx
call fcn.00451560
mov eax, dword [esp + 0x24]
add esp, 0xc
push eax
mov ecx, esi
call fcn.004ab3d0
mov ecx, eax
call fcn.004af9e0
mov al, byte [esi + 0x15c]
cmp al, byte [edi + 0x74]
jne 0x4ad98d
mov edi, dword [edi + 0x28]
push 1
mov ecx, edi
call fcn.004afa40
push ebx
mov ecx, edi
call fcn.004afa00
mov ecx, esi
call fcn.004ab3d0
mov ecx, dword [eax + 0x24]
push ecx
mov ecx, esi
call fcn.004ab670
cmp dword [esi + 0x10], ebx
mov ecx, ebp
setne byte [esp + 0x20]
mov edx, dword [esp + 0x20]
push edx
mov byte [esp + 0x1b], al
call fcn.004b0230
mov edi, dword [esp + 0x278]
cmp eax, 1
sete al
movzx ecx, al
push ecx
push edi
mov ecx, esi
call fcn.004ab3d0
mov ecx, eax
call fcn.004af860
test al, al
jne 0x4ad9e4
push 0xffffffffffffff95
mov ecx, esi
call fcn.004ac840
push ebp
mov ecx, esi
call fcn.004ab3d0
mov ecx, eax
call fcn.004af700
cmp byte [esi + 0x15c], bl
je 0x4ada0e
mov edx, dword [esp + 0x18]
push edx
mov ecx, esi
call fcn.004ab3d0
mov ecx, eax
call fcn.004af9e0
cmp byte [esp + 0x20], bl
je 0x4ada5f
push ebx
push 0xc
lea ecx, [esp + 0x2c]
call fcn.004b1440
mov ecx, dword [esp + 0x1c]
movzx edx, word [ecx + 0x10]
lea eax, [esp + 0x24]
push eax
shl edx, 0x10
push edx
mov ecx, esi
mov byte [esp + 0x270], 1
call fcn.004ac6e0
mov eax, dword [esp + 0x28]
push ebx
push 0xc
push eax
mov ecx, ebp
call fcn.004b0dc0
lea ecx, [esp + 0x24]
mov byte [esp + 0x268], bl
call fcn.004b1470
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
mov dword [esi + 0x64], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], edx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x3c], ebx
cmp byte [esp + 0x17], bl
je 0x4ada95
mov ecx, esi
call fcn.004ab3d0
cmp word [eax + 0xe], bx
je 0x4ada95
call fcn.004ab3d0
xor ecx, ecx
mov word [eax + 0xe], cx
mov ecx, esi
call fcn.004ab3d0
cmp word [eax + 0xe], 8
jne 0x4adad5
cmp byte [esi + 4], bl
je 0x4adab0
lea eax, [esi + 0xc8]
jmp 0x4adab2
xor eax, eax
push 0x38
push 0x554338
push ebx
push 8
push 0xfffffffffffffff1
push 8
push edi
lea edx, [esi + 0x28]
push edx
mov dword [esi + 0x50], eax
call fcn.0052bb40
push eax
mov ecx, esi
call fcn.004aca10
lea ecx, [esp + 0x18]
mov byte [esi + 0xe4], 1
call fcn.0044f510
mov al, 1
mov ecx, dword [esp + 0x260]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x248]
xor ecx, esp
call fcn.004f8124
add esp, 0x258
ret 0xc