Function at 0x514e50
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x5a53f4]
xor eax, ebp
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x198], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x198]
add ecx, 4
call fcn.004032f0
cmp dword [ebp + 8], 0
je 0x51528d
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x51528d
lea ecx, [ebp - 0x1c]
call fcn.005156d0
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x154]
call fcn.00403220
push 0
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x154]
push ecx
call fcn.004d2300
add esp, 0xc
mov byte [ebp - 0x14d], al
lea ecx, [ebp - 0x154]
call fcn.00404d70
movzx edx, byte [ebp - 0x14d]
test edx, edx
je 0x515285
push 0
lea ecx, [ebp - 0x1c]
call fcn.004d2ae0
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x1c]
call fcn.004d2ac0
shr eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x24], 0
je 0x515285
cmp dword [ebp - 0x28], 0
jbe 0x515285
mov dword [ebp - 4], 1
mov dword [ebp - 0x138], 0x14
mov dword [ebp - 0x130], 0x65
xor eax, eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
push 0xca
push 0
lea ecx, [ebp - 0x100]
push ecx
call fcn.00534b20
add esp, 0xc
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x12c], 1
mov dword [ebp - 0x140], 0
jmp 0x514fc7
mov edx, dword [ebp - 0x140]
add edx, 1
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x28]
jae 0x51519f
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x24]
mov ax, word [edx + ecx*2]
mov word [ebp - 0x144], ax
movzx ecx, word [ebp - 0x144]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x19c], 0x7c
ja case.0x515011.1
mov edx, dword [ebp - 0x19c]
movzx eax, byte [edx + 0x5152b0]
jmp dword [eax*4 + 0x5152a0]
jmp 0x514fb8
xor ecx, ecx
mov word [ebp - 0x102], cx
xor edx, edx
mov word [ebp - 0x38], dx
movzx eax, word [ebp - 0x128]
test eax, eax
je 0x5150d7
movzx ecx, word [ebp - 0x100]
test ecx, ecx
je 0x5150d7
lea edx, [ebp - 0x128]
push edx
lea ecx, [ebp - 0x148]
call fcn.00403220
lea ecx, [ebp - 0x148]
call fcn.0043fac0
lea eax, [ebp - 0x100]
push eax
push ecx
mov ecx, esp
lea edx, [ebp - 0x148]
push edx
call fcn.00404d40
lea eax, [ebp - 0x168]
push eax
call fcn.00515700
add esp, 0xc
push eax
lea ecx, [ebp - 0x15c]
call fcn.00515720
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x174]
push edx
mov ecx, dword [ebp - 0x198]
add ecx, 8
call fcn.00467030
lea ecx, [ebp - 0x15c]
call fcn.00465820
lea ecx, [ebp - 0x168]
call fcn.00515690
lea ecx, [ebp - 0x148]
call fcn.00404d70
push 0x28
push 0
lea eax, [ebp - 0x128]
push eax
call fcn.00534b20
add esp, 0xc
push 0xca
push 0
lea ecx, [ebp - 0x100]
push ecx
call fcn.00534b20
add esp, 0xc
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x12c], 1
jmp 0x51519a
mov dword [ebp - 0x12c], 0
xor edx, edx
mov word [ebp - 0x102], dx
jmp 0x51519a
cmp dword [ebp - 0x12c], 0
je 0x51516d
cmp dword [ebp - 0x13c], 0x14
jae 0x51516b
mov eax, dword [ebp - 0x13c]
mov cx, word [ebp - 0x144]
mov word [ebp + eax*2 - 0x128], cx
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x13c], edx
jmp 0x51519a
cmp dword [ebp - 0x134], 0x65
jae 0x51519a
mov eax, dword [ebp - 0x134]
mov cx, word [ebp - 0x144]
mov word [ebp + eax*2 - 0x100], cx
mov edx, dword [ebp - 0x134]
add edx, 1
mov dword [ebp - 0x134], edx
jmp 0x514fb8
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movzx edx, word [ecx + eax*2 - 2]
cmp edx, 0xa
je 0x515285
cmp dword [ebp - 0x13c], 0
jbe 0x515285
cmp dword [ebp - 0x134], 0
jbe 0x515285
xor eax, eax
mov word [ebp - 0x102], ax
xor ecx, ecx
mov word [ebp - 0x38], cx
movzx edx, word [ebp - 0x128]
test edx, edx
je 0x515285
movzx eax, word [ebp - 0x100]
test eax, eax
je 0x515285
lea ecx, [ebp - 0x128]
push ecx
lea ecx, [ebp - 0x14c]
call fcn.00403220
lea ecx, [ebp - 0x14c]
call fcn.0043fac0
lea edx, [ebp - 0x100]
push edx
push ecx
mov ecx, esp
lea eax, [ebp - 0x14c]
push eax
call fcn.00404d40
lea ecx, [ebp - 0x188]
push ecx
call fcn.00515700
add esp, 0xc
push eax
lea ecx, [ebp - 0x17c]
call fcn.00515720
lea edx, [ebp - 0x17c]
push edx
lea eax, [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
add ecx, 8
call fcn.00467030
lea ecx, [ebp - 0x17c]
call fcn.00465820
lea ecx, [ebp - 0x188]
call fcn.00515690
lea ecx, [ebp - 0x14c]
call fcn.00404d70
lea ecx, [ebp - 0x1c]
call fcn.004d2a80
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.005308cb
mov esp, ebp
pop ebp
ret 4