Function at 0x45d190
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65c9e4
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x6feae4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
test esi, esi
je 0x45d46e
cmp word [esi], 0
je 0x45d46e
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45d46e
lea eax, [edi + 0xc]
push 0x104
push eax
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x218]
push eax
call fcn.006395a1
push 0x104
push esi
lea esi, [edi + 0xc]
push esi
call fcn.006395a1
push 0x5c
push esi
call fcn.0062b0be
xor ecx, ecx
add esp, 0x20
mov word [eax + 2], cx
mov eax, dword [edi]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x224], ecx
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x220]
push ecx
push str.config.xml
push edi
call dword [eax + 0x40]
mov dword [ebp - 0x230], eax
test eax, eax
je 0x45d459
cmp dword [ebp - 0x220], 0
je 0x45d459
cmp dword [ebp - 0x224], 0
je 0x45d459
push 0x24
call fcn.0060964c
add esp, 4
mov dword [ebp - 0x21c], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov ecx, eax
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
call fcn.00466620
mov dword [ebp - 4], 0xffffffff
push 0x70
mov dword [ebp - 0x228], eax
mov dword [eax + 0x20], edi
call fcn.0060964c
mov esi, eax
mov dword [ebp - 0x21c], esi
push 0x70
push 0
push esi
mov dword [ebp - 4], 1
call fcn.0062b160
add esp, 0x10
mov ecx, esi
call fcn.00460680
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x220]
mov dword [ebp - 0x21c], eax
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov esi, eax
lea ecx, [esi + 2]
push ecx
call fcn.006096b2
push esi
push dword [ebp - 0x230]
mov dword [ebp - 0x22c], eax
push eax
call fcn.0062b2c0
mov eax, dword [ebp - 0x22c]
add esp, 0x10
mov word [eax + esi], 0
add eax, 2
mov esi, dword [ebp - 0x21c]
mov ecx, esi
push 0
push eax
mov edx, dword [esi]
call dword [edx + 0xc]
mov eax, dword [ebp - 0x22c]
test eax, eax
je 0x45d341
push eax
call fcn.006096ad
add esp, 4
push dword [ebp - 0x224]
mov eax, dword [edi]
push dword [ebp - 0x220]
push edi
call dword [eax + 0x44]
push str.directui
mov ecx, esi
call fcn.0045ffc0
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x21c]
push str.theme
lea eax, [ebp - 0x230]
push eax
call fcn.004614e0
mov ecx, eax
call fcn.0045c140
mov ecx, dword [ebp - 0x228]
push eax
call fcn.004666d0
test eax, eax
jne 0x45d3be
push ecx
mov ecx, dword [ebp - 0x228]
call fcn.0045c160
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push 0x104
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x234]
jmp 0x45d466
mov ecx, dword [edi + 0x214]
test ecx, ecx
je 0x45d3ce
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [edi + 0x218]
test ecx, ecx
je 0x45d3de
push ecx
call fcn.0045c160
mov eax, dword [ebp - 0x228]
mov dword [edi + 0x214], esi
mov dword [edi + 0x218], eax
mov eax, dword [edi + 0x228]
mov esi, dword [eax]
cmp esi, eax
je 0x45d452
nop dword [eax]
mov ecx, dword [esi + 0x14]
call fcn.00470b80
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x45d434
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x45d430
nop word [eax + eax]
cmp esi, dword [eax + 8]
jne 0x45d430
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x45d420
mov esi, eax
jmp 0x45d44a
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x45d44a
nop
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x45d440
cmp esi, dword [edi + 0x228]
jne 0x45d400
mov eax, 1
jmp 0x45d470
push 0x104
lea eax, [ebp - 0x218]
push eax
push esi
call fcn.006395a1
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0060963b
mov esp, ebp
pop ebp
ret 8