Function at 0x404010
Capabilities:
Delete file
Get common file path

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x420b6d
push eax
mov dword fs:[0], esp
mov eax, dword [0x42c590]
sub esp, 0x86c
mov dword [0x42c518], 5
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov ebp, ecx
push ebx
push 0x427734
mov dword [ebp + 0x30], 3
mov dword [ebp + 0x34], 0x66
mov dword [ebp + 0x38], eax
call fcn.0040d7c0
mov ecx, dword [ebp + 0x454]
cmp ecx, ebx
je 0x404074
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebp + 0x454], ebx
mov ecx, ebp
call fcn.0040cfa0
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x40], cl
lea ecx, [esp + 0x40]
call fcn.0040cf30
push 0x42771c
call fcn.00417a8e
add esp, 4
lea ecx, [esp + 0x3c]
push eax
push 0x42771c
call fcn.0040cb90
mov dl, byte [esp + 0x3c]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x38], esp
push ebx
mov ecx, esi
mov dword [esp + 0x898], ebx
mov byte [esi], dl
call fcn.0040cf30
mov eax, dword [0x422604]
lea ecx, [esp + 0x4c]
push eax
push ebx
push ecx
mov ecx, esi
call fcn.0040c980
sub esp, 0x10
mov byte [esp + 0x8a4], 1
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x42c4b0
call fcn.00409f20
mov byte [esp + 0x8a4], 0
call fcn.00414540
add esp, 0x20
cmp eax, ebx
jne 0x404115
mov ecx, ebp
call fcn.00409dc0
jmp 0x4046da
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x266]
mov word [esp + 0x264], bx
rep stosd dword es:[edi], eax
lea edx, [esp + 0x264]
push edx
push 0x104
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
call fcn.0040cf30
lea ecx, [esp + 0x264]
push ecx
call fcn.00417a8e
add esp, 4
lea edx, [esp + 0x264]
lea ecx, [esp + 0x2c]
push eax
push edx
call fcn.0040cb90
mov esi, dword [0x422604]
push 0x4274f0
mov byte [esp + 0x888], 2
call fcn.00417a8e
add esp, 4
lea ecx, [esp + 0x2c]
push eax
push esi
push 0x4274f0
call fcn.0040ccf0
push eax
lea eax, [esp + 0x50]
push ebx
push eax
lea ecx, [esp + 0x38]
call fcn.0040a270
lea ecx, [esp + 0x4c]
push str.mx2_data_
lea edx, [esp + 0x18]
push ecx
push edx
mov byte [esp + 0x890], 3
call fcn.00410f20
add esp, 0xc
mov ecx, dword [0x422604]
mov byte [esp + 0x884], 4
push ecx
push ebx
push eax
mov ecx, 0x42c448
call fcn.0040c980
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x888], 3
call fcn.0040cf30
mov dword [esp + 0x28], ebx
mov esi, 0x422600
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
push ebx
push str.progress_bar
push 0x42731c
lea edx, [esp + 0x20]
lea ecx, [ebp + 0x45c]
push ebx
push edx
mov byte [esp + 0x898], 6
mov dword [esp + 0x38], ecx
call fcn.0040f110
mov eax, dword [esp + 0x18]
mov byte [esp + 0x884], 5
mov edi, eax
push eax
mov dword [esp + 0x18], esi
call dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
mov esi, eax
mov ebx, dword [sym.imp.MxUI.dll_HTMLayoutSetAttributeByName]
neg esi
sbb esi, esi
not esi
and esi, edi
mov dword [esp + 0x28], esi
je 0x404699
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x46e]
mov word [esp + 0x46c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x46c]
rep stosd dword es:[edi], eax
mov eax, dword [0x42c4b4]
test eax, eax
jne 0x4042a4
mov eax, 0x422470
push eax
lea eax, [esp + 0x470]
push 0x4276c0
push eax
call fcn.00417eed
add esp, 0xc
lea ecx, [esp + 0x46c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x4276bc
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x5e]
mov word [esp + 0x5c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x404312
mov eax, 0x422470
push eax
lea edx, [esp + 0x60]
push str._sSharedAccount
push edx
call fcn.00417eed
push 1
push 0
lea eax, [esp + 0x70]
push 0x403de0
push eax
call fcn.00413db0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x78]
add esp, 0x1c
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x404353
mov eax, 0x422470
push eax
lea ecx, [esp + 0x60]
push str._sConfig
push ecx
call fcn.00417eed
push 1
push 0
lea edx, [esp + 0x70]
push 0x403de0
push edx
call fcn.00413db0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x78]
add esp, 0x1c
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x404394
mov eax, 0x422470
push eax
lea eax, [esp + 0x60]
push str._sDefault
push eax
call fcn.00417eed
push 1
push 0
lea ecx, [esp + 0x70]
push 0x403de0
push ecx
call fcn.00413db0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x78]
add esp, 0x1c
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x4043d5
mov eax, 0x422470
push eax
lea edx, [esp + 0x60]
push str._sFilter
push edx
call fcn.00417eed
push 1
push 0
lea eax, [esp + 0x70]
push 0x403de0
push eax
call fcn.00413db0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x78]
add esp, 0x1c
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x404416
mov eax, 0x422470
push eax
lea ecx, [esp + 0x60]
push str._sPlugin
push ecx
call fcn.00417eed
push 1
push 0
lea edx, [esp + 0x70]
push 0x403de0
push edx
call fcn.00413db0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x78]
add esp, 0x1c
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x404457
mov eax, 0x422470
push eax
lea eax, [esp + 0x60]
push str._sSkin
push eax
call fcn.00417eed
push 1
push 0
lea ecx, [esp + 0x70]
push 0x403de0
push ecx
call fcn.00413db0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x78]
add esp, 0x1c
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x404498
mov eax, 0x422470
push eax
lea edx, [esp + 0x60]
push str._sTemp
push edx
call fcn.00417eed
push 1
push 0
lea eax, [esp + 0x70]
push 0x403de0
push eax
call fcn.00413db0
add esp, 0x1c
push 0x42761c
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x4044f2
mov eax, 0x422470
push eax
lea ecx, [esp + 0x60]
push str._stemplate
push ecx
call fcn.00417eed
push 1
push 0
lea edx, [esp + 0x70]
push 0x403de0
push edx
call fcn.00413db0
add esp, 0x1c
push 0x4275fc
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x40454c
mov eax, 0x422470
push eax
lea eax, [esp + 0x60]
push str._sLanguage
push eax
call fcn.00417eed
push 1
push 0
lea ecx, [esp + 0x70]
push 0x403de0
push ecx
call fcn.00413db0
add esp, 0x1c
push 0x4275dc
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x4045a6
mov eax, 0x422470
push eax
lea edx, [esp + 0x60]
push str._sFavicons
push edx
call fcn.00417eed
push 1
push 0
lea eax, [esp + 0x70]
push 0x403de0
push eax
call fcn.00413db0
add esp, 0x1c
push 0x4275bc
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x404600
mov eax, 0x422470
push eax
lea ecx, [esp + 0x60]
push str._sModules
push ecx
call fcn.00417eed
push 1
push 0
lea edx, [esp + 0x70]
push 0x403de0
push edx
call fcn.00414000
add esp, 0x1c
push 0x4275a0
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov eax, dword [0x42c44c]
test eax, eax
jne 0x40465a
mov eax, 0x422470
push eax
lea eax, [esp + 0x60]
push 0x427598
push eax
call fcn.00417eed
push 0
push 0
lea ecx, [esp + 0x70]
push 0x403de0
push ecx
call fcn.00413db0
add esp, 0x1c
push 0x427590
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov eax, dword [0x4270d0]
mov ecx, ebp
test eax, eax
jne 0x4046f7
call fcn.00409dc0
test esi, esi
je 0x4046b4
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x888], 2
call fcn.0040cf30
push 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x888], 0
call fcn.0040cf30
push 1
lea ecx, [esp + 0x40]
mov dword [esp + 0x888], 0xffffffff
call fcn.0040cf30
xor eax, eax
jmp 0x404957
call fcn.00406640
mov ecx, ebp
call fcn.004069e0
mov ecx, ebp
call fcn.00406810
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x676]
mov word [esp + 0x674], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x42c4b4]
xor edi, edi
cmp eax, edi
jne 0x404736
mov eax, 0x422470
push eax
lea edx, [esp + 0x678]
push 0x427574
push edx
call fcn.00417eed
mov eax, dword [0x42c4b4]
add esp, 0xc
cmp eax, edi
jne 0x40475a
mov eax, 0x422470
push eax
lea eax, [esp + 0x678]
push eax
mov ecx, ebp
call fcn.00404e70
mov ecx, ebp
call fcn.00406c60
push 0x42756c
push str.value
push esi
call ebx
push 0x8000
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElementEx]
mov eax, dword [0x42c590]
push edi
mov dword [0x42c518], 6
push 0x42753c
mov ecx, ebp
mov dword [ebp + 0x30], 3
mov dword [ebp + 0x34], 0x66
mov dword [ebp + 0x38], eax
call fcn.0040d7c0
mov ecx, dword [ebp + 0x454]
cmp ecx, edi
je 0x4047cd
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [ebp + 0x454], edi
mov ecx, ebp
call fcn.0040cfa0
mov ecx, dword [esp + 0x24]
mov ebp, dword [sym.imp.MxUI.dll_HTMLayoutVisitElements]
lea eax, [esp + 0x14]
push 0
mov edx, dword [ecx]
push eax
push 0x40f0f0
push str.run_mx2
mov dword [esp + 0x28], edi
push 0x42731c
mov edi, 0x422600
push 0
push edx
mov dword [esp + 0x30], edi
call ebp
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], edi
push eax
mov ebx, eax
call dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
mov edi, eax
neg edi
sbb edi, edi
not edi
and edi, ebx
je 0x404841
mov eax, dword [0x4270f0]
push 1
test eax, eax
je 0x404836
push 0
push 0x40
jmp 0x40483a
push 0x40
push 0
push edi
call dword [sym.imp.MxUI.dll_HTMLayoutSetElementState]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x14]
push 0
push eax
mov edx, dword [ecx]
push 0x40f0f0
push str.ChangeLog
push 0x42731c
push 0
push edx
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0x422600
call ebp
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], 0x422600
push eax
mov ebx, eax
call dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
mov ebp, eax
neg ebp
sbb ebp, ebp
not ebp
and ebp, ebx
mov ebx, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
je 0x4048b8
mov eax, dword [0x42c51c]
push 1
test eax, eax
je 0x4048aa
push 0
push 0x40
jmp 0x4048ae
push 0x40
push 0
push ebp
call dword [sym.imp.MxUI.dll_HTMLayoutSetElementState]
push ebp
call ebx
xor ebp, ebp
cmp edi, ebp
je 0x4048c1
push edi
call ebx
cmp esi, ebp
je 0x4048c8
push esi
call ebx
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x4048ee
mov al, byte [ecx - 1]
test al, al
je 0x4048e2
cmp al, 0xff
je 0x4048e2
dec al
mov byte [ecx - 1], al
jmp 0x4048ee
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x50], ebp
cmp ecx, ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
je 0x404920
mov al, byte [ecx - 1]
test al, al
je 0x404914
cmp al, 0xff
je 0x404914
dec al
mov byte [ecx - 1], al
jmp 0x404920
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], ebp
cmp ecx, ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
je 0x404952
mov al, byte [ecx - 1]
test al, al
je 0x404946
cmp al, 0xff
je 0x404946
dec al
mov byte [ecx - 1], al
jmp 0x404952
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x87c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x878
ret