Function at 0x1019c46
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1074
call fcn.0102c870
push ebx
push esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push edi
xor eax, eax
inc eax
xor ebx, ebx
push 0x1002f44
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], eax
mov edi, 0x108ce98
push edi
lea eax, [ebp - 0x1074]
push eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
call esi
push 0x1002bb4
push edi
lea eax, [ebp - 0xc64]
push eax
call esi
mov esi, 0x108c650
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1019cbe
push esi
lea eax, [ebp - 0x20]
push eax
call fcn.01007b53
jmp 0x1019cc1
mov dword [ebp - 0xc], ebx
cmp dword [0x108ce74], ebx
mov esi, dword [0x108ce84]
mov dword [ebp - 8], ebx
mov ebx, dword [sym.imp.SHLWAPI.dll_StrCpyW]
jbe 0x1019d17
test esi, esi
je 0x1019cea
push dword [ebp + 8]
push esi
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
je 0x1019d00
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add esi, 0x410
cmp eax, dword [0x108ce74]
jb 0x1019cd8
jmp 0x1019d17
lea eax, [esi + 0x208]
push eax
lea eax, [ebp - 0x64c]
push eax
call ebx
mov dword [ebp - 4], 1
test esi, esi
je 0x1019d25
mov eax, dword [0x108ce74]
cmp dword [ebp - 8], eax
jne 0x1019d37
push dword [ebp + 8]
push esi
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
je 0x1019d37
and dword [ebp - 4], 0
lea eax, [ebp - 0xc64]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1019d5c
lea eax, [ebp - 0xc64]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.01007b53
xor esi, esi
jmp 0x1019d61
xor esi, esi
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0xc], esi
je 0x1019e54
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push dword [ebp + 8]
push eax
call dword [ecx + 4]
xor ecx, ecx
test eax, eax
setge cl
cmp ecx, esi
mov dword [ebp - 0xc], ecx
je 0x1019e54
push 8
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x1019da6
push dword [ebp - 0x2c]
mov ecx, eax
call fcn.01006e99
mov esi, eax
jmp 0x1019da9
mov dword [ebp - 0x14], esi
push edi
lea eax, [ebp - 0x444]
push eax
call ebx
mov eax, dword [esi]
lea ecx, [ebp - 8]
push ecx
push 0x104
lea ecx, [ebp - 0x23c]
push ecx
xor edi, edi
push edi
push esi
call dword [eax + 0x10]
test byte [ebp - 8], 2
jne 0x1019e0a
push 0x2f
push edi
lea eax, [ebp - 0x23c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, edi
je 0x1019dea
inc eax
inc eax
jmp 0x1019df0
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0xe6c]
push eax
call ebx
lea eax, [ebp - 0xe6c]
push eax
lea eax, [ebp - 0x23c]
push eax
call ebx
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x444]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x444]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1019e32
mov dword [ebp - 0x10], edi
mov eax, dword [esi]
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x24]
push ecx
push esi
call dword [eax + 0x18]
push dword [ebp - 0x1c]
lea eax, [ebp - 0xa5c]
push dword [ebp - 0x24]
push eax
call fcn.0102f07b
jmp 0x1019e5c
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x14]
xor edi, edi
cmp dword [ebp - 0x34], edi
je 0x1019ebd
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push dword [ebp + 8]
push eax
call dword [ecx + 4]
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
cmp eax, edi
je 0x1019ebd
push 8
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
je 0x1019e98
push dword [ebp - 0x30]
mov ecx, eax
call fcn.01006e99
mov edi, eax
jmp 0x1019e9b
mov dword [ebp - 0x18], edi
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x24]
push ecx
push edi
call dword [eax + 0x18]
push dword [ebp - 0x1c]
lea eax, [ebp - 0x854]
push dword [ebp - 0x24]
push eax
call fcn.0102f07b
jmp 0x1019ec0
mov edi, dword [ebp - 0x18]
xor ebx, ebx
cmp esi, ebx
je 0x1019ecf
push 1
mov ecx, esi
call fcn.0101021e
cmp edi, ebx
je 0x1019edc
push 1
mov ecx, edi
call fcn.0101021e
mov ecx, dword [ebp - 0x20]
cmp ecx, ebx
je 0x1019eea
push 1
call fcn.01007c4b
mov ecx, dword [ebp - 0x28]
cmp ecx, ebx
je 0x1019ef8
push 1
call fcn.01007c4b
cmp dword [ebp + 0xc], 1
je 0x1019f04
cmp dword [ebp + 0xc], 3
jne 0x1019f3c
cmp dword [ebp - 0xc], ebx
je 0x1019f9b
cmp dword [ebp - 0x10], ebx
je 0x1019f9b
lea eax, [ebp - 0x64c]
push eax
lea eax, [ebp - 0xa5c]
push eax
call sub.IEAKENG.dll_CheckVerW
cmp dword [ebp - 4], ebx
je 0x1019f3c
cmp eax, ebx
jge 0x1019f36
push 5
jmp 0x1019f9d
jne 0x1019f3c
push 6
jmp 0x1019f9d
cmp dword [ebp - 0xc], ebx
je 0x1019f81
cmp dword [ebp + 0xc], 2
jne 0x1019f8d
lea eax, [ebp - 0x854]
push eax
lea eax, [ebp - 0xa5c]
push eax
call sub.IEAKENG.dll_CheckVerW
test eax, eax
jne 0x1019f63
cmp dword [ebp - 0x10], ebx
jne 0x1019f7a
lea eax, [ebp - 0x64c]
push eax
lea eax, [ebp - 0x854]
push eax
call sub.IEAKENG.dll_CheckVerW
test eax, eax
jne 0x1019f81
mov eax, 0xdeadbeef
jmp 0x1019f9e
mov eax, dword [ebp - 4]
neg eax
sbb eax, eax
and eax, 2
jmp 0x1019f9e
xor eax, eax
cmp dword [ebp - 4], ebx
setne al
lea eax, [eax + eax + 1]
jmp 0x1019f9e
push 4
pop eax
pop edi
pop esi
pop ebx
leave
ret 8