Function at 0x407df0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473ae8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push esi
mov esi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x10]
call fcn.004016a0
push 0x479cd0
push 0x47e5ac
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0
call fcn.00408880
push 0x479cd0
push str..rar
lea ecx, [ebp - 0x10]
call fcn.00408880
call fcn.004091a0
call fcn.00429930
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x407e64
push 0x80004005
call fcn.00402670
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 1
call fcn.00429930
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x407e91
push 0x80004005
call fcn.00402670
mov eax, dword [edx]
push edi
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
push 1
push 0x47da80
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00466df0
push 0
push dword [ebp - 0x20]
call fcn.004651e0
mov edx, eax
add esp, 0x1c
test edx, edx
jne 0x407ed1
xor ecx, ecx
jmp 0x407ee5
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407ed6
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x10]
call fcn.00408f60
push esi
call fcn.00402690
push str._res.rdb
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402190
add esp, 0x10
push dword [ebp - 0x14]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov byte [ebp - 4], 3
call edi
test eax, eax
jne 0x407f35
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
call fcn.00401e70
lea eax, [ebp - 0x14]
push eax
call fcn.00406eb0
add esp, 4
push dword [ebp - 0x14]
call edi
or esi, 0xffffffff
test eax, eax
je 0x408048
call fcn.00429930
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x407f61
push 0x80004005
call fcn.00402670
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 1
push 0x47da80
push 0
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.00466df0
push 0x47e5c4
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00402190
add esp, 0x20
push dword [ebp - 0x18]
mov byte [ebp - 4], 5
call edi
test eax, eax
jne 0x407feb
push str.Themesdefault.rdb
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00402190
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.00401e70
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x407feb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.00404770
push dword [0x4a4760]
call fcn.00404410
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
add esp, 0x10
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x408026
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x408053
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x408053
push dword [ebp - 0x10]
call fcn.00404410
add esp, 4
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
pop edi
test ecx, ecx
jg 0x408074
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x408094
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4080b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
pop esi
jg 0x4080d6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret