Function at 0x4190e0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x471196
mov eax, dword fs:[0]
push eax
sub esp, 0x434
mov eax, dword [0x4954f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
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 0x419578
cmp word [esi], 0
je 0x419578
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x419578
push 0x104
lea ebx, [edi + 0xc]
push ebx
lea eax, [ebp - 0x218]
mov dword [ebp - 0x434], ebx
push 0x104
push eax
call fcn.00453cb9
push 0x104
push esi
push 0x104
push ebx
call fcn.00453cb9
push 0x5c
push ebx
call fcn.0044c0cb
push 0x208
push 0
lea esi, [eax + 2]
lea eax, [ebp - 0x420]
push eax
call fcn.0044b130
push esi
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.0044f0a8
add esp, 0x40
lea ecx, [ebp - 0x42c]
xor eax, eax
mov word [esi], ax
cmp dword [edi + 0x21c], eax
push ecx
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x42c], eax
mov eax, dword [edi]
push ecx
je 0x4191c9
push str.config.xml
jmp 0x4191d0
lea ecx, [ebp - 0x420]
push ecx
push edi
call dword [eax + 0x40]
mov dword [ebp - 0x430], eax
test eax, eax
je 0x41955e
cmp dword [ebp - 0x428], 0
je 0x41955e
cmp dword [ebp - 0x42c], 0
je 0x41955e
push 0x24
call fcn.004446a7
add esp, 4
mov dword [ebp - 0x424], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x419228
mov ecx, eax
call fcn.0042abb0
mov ebx, eax
mov dword [ebp - 0x43c], eax
jmp 0x419230
xor ebx, ebx
mov dword [ebp - 0x43c], ebx
push 0x70
mov dword [ebp - 4], 0xffffffff
mov dword [ebx + 0x20], edi
call fcn.004446a7
add esp, 4
mov dword [ebp - 0x424], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x419264
mov ecx, eax
call fcn.00427210
mov dword [ebp - 0x438], eax
jmp 0x41926c
xor ecx, ecx
mov dword [ebp - 0x438], ecx
push dword [ebp - 0x428]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov esi, eax
lea ecx, [esi + 2]
push ecx
call fcn.00444962
push esi
push dword [ebp - 0x430]
mov dword [ebp - 0x424], eax
push eax
call fcn.0044b510
mov eax, dword [ebp - 0x424]
add esp, 0x10
mov word [eax + esi], 0
lea ecx, [eax + 2]
mov esi, dword [ebp - 0x438]
push 0
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xc]
mov eax, dword [ebp - 0x424]
test eax, eax
je 0x4192d2
push eax
call fcn.0044421a
add esp, 4
push dword [ebp - 0x42c]
mov eax, dword [edi]
push dword [ebp - 0x428]
push edi
call dword [eax + 0x44]
push str.directui
mov ecx, esi
call fcn.00428510
mov dword [ebp - 0x440], eax
lea ecx, [ebp - 0x440]
push str.theme
lea eax, [ebp - 0x424]
push eax
call fcn.004284e0
mov ecx, eax
call fcn.004195d0
push eax
mov ecx, ebx
call fcn.0042b950
test eax, eax
jne 0x419356
mov ecx, ebx
call fcn.0042ac50
push 0x24
push ebx
call fcn.00444954
mov eax, dword [esi]
add esp, 8
mov ecx, esi
push 1
call dword [eax]
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x104
push dword [ebp - 0x434]
jmp 0x419570
push 0x28
call fcn.004446a7
add esp, 4
mov dword [ebp - 0x424], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x41937c
mov ecx, eax
call fcn.0042bca0
mov ebx, eax
jmp 0x41937e
xor ebx, ebx
mov eax, dword [edi]
lea ecx, [ebp - 0x42c]
push ecx
lea ecx, [ebp - 0x428]
mov dword [ebp - 4], 0xffffffff
push ecx
push str.DirectUI.js
push edi
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x42c], 0
call dword [eax + 0x40]
mov dword [ebp - 0x424], eax
test eax, eax
je 0x41951b
cmp dword [ebp - 0x42c], 0
je 0x41951b
mov ecx, dword [ebp - 0x428]
test ecx, ecx
je 0x41951b
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov esi, eax
lea ecx, [esi + 0x80]
push ecx
call fcn.00444962
push esi
push 0
push eax
mov dword [ebp - 0x430], eax
call fcn.0044b130
mov eax, dword [ebp - 0x430]
push esi
push dword [ebp - 0x424]
push eax
call fcn.0044b510
mov eax, dword [ebp - 0x430]
add esp, 0x1c
mov word [eax + esi], 0
lea esi, [eax + 2]
push str._r_nCollectGarbage____r_n
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push esi
mov ecx, ebx
call fcn.0042c320
mov eax, dword [ebp - 0x430]
test eax, eax
je 0x41944b
push eax
call fcn.0044421a
add esp, 4
push edi
push str.winManager
mov ecx, ebx
call fcn.0042bec0
mov esi, dword [ebp - 0x43c]
mov ecx, ebx
push esi
push str.resManager
call fcn.0042bec0
mov ecx, dword [edi + 0x214]
test ecx, ecx
je 0x41947b
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [edi + 0x224]
mov dword [ebp - 0x434], eax
test eax, eax
je 0x4194a2
mov ecx, eax
call fcn.0042be10
push 0x28
push dword [ebp - 0x434]
call fcn.00444954
add esp, 8
mov eax, dword [edi + 0x218]
mov dword [ebp - 0x434], eax
test eax, eax
je 0x4194c9
mov ecx, eax
call fcn.0042ac50
push 0x24
push dword [ebp - 0x434]
call fcn.00444954
add esp, 8
mov ecx, dword [ebp - 0x438]
mov dword [edi + 0x214], ecx
mov dword [edi + 0x218], esi
mov dword [edi + 0x224], ebx
mov ecx, dword [edi + 0x22c]
mov eax, dword [ecx]
mov dword [ebp - 0x424], eax
cmp eax, ecx
je 0x419514
mov ecx, dword [eax + 0x14]
call fcn.00413a30
lea ecx, [ebp - 0x424]
call fcn.004118c0
mov eax, dword [ebp - 0x424]
cmp eax, dword [edi + 0x22c]
jne 0x4194f3
mov eax, 1
jmp 0x41957a
mov esi, dword [ebp - 0x43c]
mov ecx, esi
call fcn.0042ac50
push 0x24
push esi
call fcn.00444954
mov ecx, dword [ebp - 0x438]
add esp, 8
mov eax, dword [ecx]
push 1
call dword [eax]
test ebx, ebx
je 0x41933a
mov ecx, ebx
call fcn.0042be10
push 0x28
push ebx
call fcn.00444954
add esp, 8
jmp 0x41933a
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x104
push ebx
call fcn.00453cb9
add esp, 0x10
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00444204
mov esp, ebp
pop ebp
ret 8