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

Disassembly:
push 0xffffffffffffffff
push 0x504dc6
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x5355a0]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5355a0]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov eax, dword [esp + 0x188]
cmp dword [eax + 0x42c], 0
mov ebp, dword [esp + 0x18c]
mov ebx, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ebx
mov esi, edx
jne 0x4639dc
call fcn.00433db0
push 0x522eb8
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
jmp 0x463c71
test esi, esi
jne 0x4639fe
call fcn.00433db0
push 0x51ed54
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
jmp 0x463c71
lea ecx, [esp + 0x4c]
call fcn.004349d0
mov eax, esi
lea edx, [esp + 0x4c]
call fcn.00434c20
mov dword [esp + 0x180], 1
cmp byte [esp + 0x168], 0
lea eax, [esp + 0x58]
jne 0x463a2f
mov eax, dword [esp + 0x54]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x463a47
shr eax, 4
not al
and al, 1
jne 0x463a96
mov ecx, ebx
call fcn.00433db0
push 0x5174d0
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
cmp byte [esp + 0x168], 0
mov dword [esp + 0x4c], vtable.t_str.0
jne 0x463c71
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x58]
cmp eax, ecx
je 0x463c71
push eax
call fcn.004c31b0
add esp, 4
jmp 0x463c71
mov edi, dword [ebp + 4]
test edi, edi
je 0x463aa9
call fcn.0043adc0
mov dword [ebp + 4], 0
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x50]
mov edi, ebx
call fcn.004642f0
test al, al
jne 0x463ac7
push 0x51f1fc
jmp 0x463c61
push ebp
mov eax, ebx
call fcn.00420de0
test al, al
jne 0x463add
push 0x522398
jmp 0x463c61
mov ebp, dword [esp + 0x14]
cmp dword [ebp], 0x46534650
jne 0x463c53
mov ecx, dword [ebp + 0x18]
cmp ecx, 0x38
jb 0x463c53
mov edx, dword [ebp + 0x24]
xor eax, eax
add edx, ebp
xor ebx, ebx
cmp dword [ebp + 0x20], ebx
mov dword [esp + 0x48], edx
mov word [esp + 0x1c], ax
mov dword [esp + 0x1e], eax
mov dword [esp + 0x22], eax
mov dword [esp + 0x26], eax
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov dword [esp + 0x32], eax
mov dword [esp + 0x36], eax
mov dword [esp + 0x3a], eax
mov word [esp + 0x3e], ax
jle 0x463c3d
lea ecx, [ecx + ebp + 6]
mov dword [esp + 0x14], ecx
cmp word [ecx], 0
jne 0x463c28
mov ecx, dword [ebp + 0x28]
imul ecx, ebx
mov esi, dword [edx + ecx*4]
add esi, dword [ebp + 0x2c]
movzx eax, word [esi + ebp]
add esi, ebp
mov word [esp + 0x1c], ax
test ax, ax
jne 0x463b78
mov edx, dword [esi + 2]
mov eax, dword [esi + 6]
mov dword [esp + 0x1e], edx
mov dword [esp + 0x22], eax
jmp 0x463b97
cmp ax, 1
jne 0x463b97
mov eax, dword [ebp + 0x2c]
mov ecx, dword [esi + 2]
mov edx, dword [esi + 6]
add ecx, eax
add ecx, ebp
add edx, eax
add edx, ebp
mov dword [esp + 0x1e], ecx
mov dword [esp + 0x22], edx
mov eax, dword [esi + 0xa]
mov edx, dword [esi + 0x12]
mov ecx, dword [esi + 0xe]
mov dword [esp + 0x26], eax
mov ax, word [esi + 0x1c]
movsx edi, ax
mov dword [esp + 0x2a], ecx
mov dword [esp + 0x2e], edx
mov word [esp + 0x36], ax
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c669c
mov esi, dword [esi + 0x18]
add esi, dword [ebp + 0x2c]
add esp, 4
add esi, ebp
mov dword [esp + 0x32], eax
test edi, edi
jle 0x463bf8
sub esi, eax
mov ecx, dword [esi + eax]
add ecx, dword [ebp + 0x2c]
add eax, 4
add ecx, ebp
sub edi, 1
mov dword [eax - 4], ecx
jne 0x463be5
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
push edx
lea edi, [esp + 0x20]
mov ecx, esi
call fcn.004633b0
test al, al
jne 0x463c17
mov ecx, esi
call fcn.00433e00
mov eax, dword [esp + 0x32]
push eax
call fcn.004c6691
mov edx, dword [esp + 0x4c]
add esp, 4
mov ecx, dword [esp + 0x14]
inc ebx
add ecx, 8
cmp ebx, dword [ebp + 0x20]
mov dword [esp + 0x14], ecx
jl 0x463b42
push ebp
call fcn.004c6691
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.00434b70
mov al, 1
jmp 0x463c73
push ebp
call fcn.004c6691
add esp, 4
push 0x52302c
mov ecx, ebx
call fcn.00402790
lea ecx, [esp + 0x4c]
call fcn.00434b70
xor al, al
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x160]
xor ecx, esp
call fcn.004c31a1
add esp, 0x170
ret 8