Function at 0x10030e30
Capabilities:
Check if file exists
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x10068ea1
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x1007a200]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1007a200]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov ebp, dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
mov edi, ecx
cmp byte [edi + 0x3c], 0
mov dword [esp + 0x20], edi
mov ebx, 8
jne 0x10030eb2
cmp dword [edi + 0x38], ebx
jb 0x10030e8c
mov eax, dword [edi + 0x24]
jmp 0x10030e8f
lea eax, [edi + 0x24]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10030eb2
cmp dword [edi + 0x38], ebx
jb 0x10030ea4
mov eax, dword [edi + 0x24]
jmp 0x10030ea7
lea eax, [edi + 0x24]
push eax
call ebp
test eax, eax
je 0x100316d7
lea eax, [edi + 0x20]
lea ecx, [esp + 0x84]
call fcn.100374b0
xor esi, esi
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x9c], ebx
jae 0x10030ee1
lea eax, [esp + 0x88]
push eax
call ebp
test eax, eax
jne 0x10030f18
lea ecx, [esp + 0x84]
call fcn.10037000
test eax, eax
jne 0x10030f18
cmp dword [esp + 0x9c], ebx
jb 0x10030f11
mov eax, dword [esp + 0x88]
push eax
call fcn.10047382
add esp, 4
xor al, al
jmp 0x100316d9
push esi
push 0x1006f9e0
lea ecx, [esp + 0x70]
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], esi
mov byte [esp + 0x74], 0
call fcn.10002be0
mov byte [esp + 0xc8], 1
mov eax, dword [edi + 0x18]
mov ebp, dword [edi]
mov ebx, dword [eax]
mov dword [esp + 0x18], ebp
mov esi, dword [edi + 0x18]
mov eax, dword [edi]
test ebp, ebp
je 0x10030f5e
cmp ebp, eax
je 0x10030f63
call fcn.10048865
cmp ebx, esi
je 0x10031131
test ebp, ebp
jne 0x10030ff9
call fcn.10048865
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x10030f84
call fcn.10048865
mov ecx, dword [ebx + 0x40]
mov esi, dword [ecx]
mov ebp, dword [ebx + 0x28]
lea esp, [esp]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10031001
call fcn.10048865
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x10030fa9
call fcn.10048865
mov edi, dword [ebx + 0x40]
mov eax, dword [ebx + 0x28]
test ebp, ebp
je 0x10030fb7
cmp ebp, eax
je 0x10030fbc
call fcn.10048865
cmp esi, edi
je 0x100310b7
test ebp, ebp
jne 0x10031005
call fcn.10048865
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x10030fd9
call fcn.10048865
mov edi, dword [esi + 0x20]
mov eax, edi
cmp eax, edi
jae 0x10030fe2
mov eax, edi
cmp edi, 8
jb 0x10030fee
mov eax, 8
cmp dword [esi + 0x24], 0x10
jb 0x1003100a
mov edx, dword [esi + 0x10]
jmp 0x1003100d
mov eax, dword [ebp]
jmp 0x10030f7a
mov eax, dword [eax]
jmp 0x10030f9f
mov eax, dword [ebp]
jmp 0x10030fcf
lea edx, [esi + 0x10]
mov ecx, str.config15
call fcn.1002cc80
test eax, eax
jne 0x1003102a
cmp edi, 8
jb 0x1003102a
cmp edi, 8
setne al
test eax, eax
je 0x10031050
test ebp, ebp
jne 0x10031069
call fcn.10048865
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x1003103f
call fcn.10048865
push 0xffffffffffffffff
push 0
lea edx, [esi + 0x28]
push edx
lea ecx, [esp + 0x74]
call fcn.1001cb20
test ebp, ebp
jne 0x10031059
call fcn.10048865
cmp byte [esi + 0x45], 0
je 0x1003106e
call fcn.10048865
jmp 0x10030f90
mov eax, dword [ebp]
jmp 0x10031035
mov ecx, dword [esi + 8]
cmp byte [ecx + 0x45], 0
jne 0x10031091
mov eax, dword [ecx]
cmp byte [eax + 0x45], 0
jne 0x1003108a
nop
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x45], 0
je 0x10031080
mov esi, ecx
jmp 0x10030f90
mov eax, dword [esi + 4]
cmp byte [eax + 0x45], 0
jne 0x100310b0
lea ebx, [ebx]
cmp esi, dword [eax + 8]
jne 0x100310b0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x45], 0
je 0x100310a0
mov esi, eax
jmp 0x10030f90
cmp dword [esp + 0x18], 0
jne 0x100310c3
call fcn.10048865
cmp byte [ebx + 0x49], 0
je 0x100310db
call fcn.10048865
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
jmp 0x10030f51
mov ecx, dword [ebx + 8]
cmp byte [ecx + 0x49], 0
jne 0x10031109
mov eax, dword [ecx]
cmp byte [eax + 0x49], 0
jne 0x100310fa
lea esp, [esp]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x49], 0
je 0x100310f0
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov ebx, ecx
jmp 0x10030f51
mov eax, dword [ebx + 4]
cmp byte [eax + 0x49], 0
jne 0x10031122
cmp ebx, dword [eax + 8]
jne 0x10031122
mov ebx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x49], 0
je 0x10031112
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov ebx, eax
jmp 0x10030f51
cmp dword [esp + 0x7c], 0
je 0x10031211
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x6c]
call fcn.10031710
mov byte [esp + 0xc8], 2
push 8
mov ebx, 0xf
xor esi, esi
push str.config15
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
call fcn.10002be0
mov byte [esp + 0xc8], 3
push 7
push str.config4
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], esi
mov byte [esp + 0x58], 0
call fcn.10002be0
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x54]
mov edx, edi
mov byte [esp + 0xd0], 4
call fcn.1002fdf0
mov ebp, 0x10
cmp dword [esp + 0x64], ebp
jb 0x100311d6
mov eax, dword [esp + 0x50]
push eax
call fcn.10047382
add esp, 4
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], esi
mov byte [esp + 0x50], 0
cmp dword [esp + 0x40], ebp
jb 0x100311f6
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.10047382
add esp, 4
cmp dword [esp + 0xb8], ebp
jb 0x10031213
mov edx, dword [esp + 0xa4]
push edx
call fcn.10047382
add esp, 4
jmp 0x10031213
xor esi, esi
mov dword [esp + 0x24], esi
lea ecx, [edi + 0x20]
lea ebx, [esp + 0x24]
mov byte [esp + 0xc8], 5
call fcn.10037500
test eax, eax
jne 0x1003126c
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [esp + 0x24]
test edi, edi
je 0x1003124a
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov dword [esp + 0x24], edi
push 0x64
call ebp
inc esi
cmp esi, 5
jge 0x1003127e
mov ecx, dword [esp + 0x20]
add ecx, 0x20
lea ebx, [esp + 0x24]
call fcn.10037500
test eax, eax
je 0x10031235
mov edi, dword [esp + 0x20]
mov ebx, 8
cmp dword [edi + 0x38], ebx
lea esi, [edi + 0x20]
jb 0x100312dd
mov eax, dword [esi + 4]
jmp 0x100312e0
test edi, edi
je 0x10031289
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x80], 0x10
jb 0x100312a0
mov eax, dword [esp + 0x6c]
push eax
call fcn.10047382
add esp, 4
cmp dword [esp + 0x9c], 8
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
jb 0x10030f11
mov ecx, dword [esp + 0x88]
push ecx
call fcn.10047382
add esp, 4
xor al, al
jmp 0x100316d9
lea eax, [esi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10031389
cmp dword [esi + 0x18], ebx
jb 0x100312f9
mov eax, dword [esi + 4]
jmp 0x100312fc
lea eax, [esi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x10031375
cmp dword [esi + 0x18], ebx
jb 0x10031311
mov eax, dword [esi + 4]
jmp 0x10031314
lea eax, [esi + 4]
xor edx, edx
mov ecx, eax
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], dx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x10031330
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x2c]
call fcn.10002d50
mov edi, esi
mov byte [esp + 0xc8], 6
call fcn.100372b0
mov byte [esp + 0xc8], 5
cmp dword [esp + 0x40], ebx
jb 0x10031389
mov eax, dword [esp + 0x2c]
push eax
call fcn.10047382
add esp, 4
jmp 0x10031389
cmp dword [esi + 0x18], ebx
jb 0x1003137f
mov eax, dword [esi + 4]
jmp 0x10031382
lea eax, [esi + 4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x18]
mov edx, dword [eax]
mov edi, dword [ecx]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
lea esp, [esp]
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x18]
mov eax, dword [eax]
test edi, edi
je 0x100313b1
cmp edi, eax
je 0x100313b6
call fcn.10048865
mov ebx, dword [esp + 0x1c]
cmp ebx, esi
je 0x1003167f
test edi, edi
jne 0x100314cd
call fcn.10048865
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x100313db
call fcn.10048865
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x40]
mov edi, dword [ebx + 0x28]
mov ebp, dword [eax]
mov dword [esp + 0x44], edi
jmp 0x100313f0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x100314d4
call fcn.10048865
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x1003140d
call fcn.10048865
mov esi, dword [ebx + 0x40]
mov eax, dword [ebx + 0x28]
test edi, edi
je 0x1003141b
cmp edi, eax
je 0x10031420
call fcn.10048865
cmp ebp, esi
je 0x10031611
test edi, edi
jne 0x100314db
call fcn.10048865
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x10031441
call fcn.10048865
lea eax, [esp + 0xa0]
lea esi, [ebp + 0xc]
lea ecx, [esi + 0x1c]
push eax
call fcn.10036ea0
add esp, 4
mov ebx, eax
mov byte [esp + 0xc8], 7
test edi, edi
jne 0x100314e2
call fcn.10048865
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x10031476
call fcn.10048865
lea ecx, [esp + 0x4c]
push ecx
mov ecx, esi
call fcn.10036ea0
add esp, 4
mov edi, eax
cmp dword [esp + 0x18], 0
mov byte [esp + 0xc8], 8
jne 0x100314e6
call fcn.10048865
xor eax, eax
mov esi, dword [esp + 0x1c]
cmp esi, dword [eax + 0x18]
jne 0x100314ab
call fcn.10048865
lea eax, [esp + 0x28]
push eax
lea ecx, [esi + 0xc]
call fcn.10036ea0
mov esi, dword [esp + 0x24]
add esi, 0x20
add esp, 4
cmp dword [esi + 0x18], 8
jb 0x100314ee
mov esi, dword [esi + 4]
jmp 0x100314f1
mov eax, dword [edi]
jmp 0x100313d1
mov eax, dword [eax]
jmp 0x10031403
mov eax, dword [edi]
jmp 0x10031437
mov eax, dword [edi]
jmp 0x1003146c
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
jmp 0x1003149d
add esi, 4
mov ecx, 8
cmp dword [ebx + 0x18], ecx
jb 0x10031500
mov edx, dword [ebx + 4]
jmp 0x10031503
lea edx, [ebx + 4]
cmp dword [edi + 0x18], ecx
jb 0x1003150d
mov ecx, dword [edi + 4]
jmp 0x10031510
lea ecx, [edi + 4]
mov edi, 8
cmp dword [eax + 0x18], edi
jb 0x1003151f
mov eax, dword [eax + 4]
jmp 0x10031522
add eax, 4
push esi
push edx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp dword [esp + 0x40], edi
jb 0x1003153f
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.10047382
add esp, 4
xor esi, esi
xor edx, edx
mov ebx, 7
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], esi
mov word [esp + 0x2c], dx
cmp dword [esp + 0x64], edi
jb 0x10031568
mov eax, dword [esp + 0x50]
push eax
call fcn.10047382
add esp, 4
xor ecx, ecx
mov byte [esp + 0xc8], 5
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], esi
mov word [esp + 0x50], cx
cmp dword [esp + 0xb8], edi
jb 0x10031598
mov edx, dword [esp + 0xa4]
push edx
call fcn.10047382
add esp, 4
cmp dword [esp + 0x44], esi
jne 0x100315a3
call fcn.10048865
cmp byte [ebp + 0x45], 0
je 0x100315bb
call fcn.10048865
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x1c]
jmp 0x100313f0
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x45], 0
jne 0x100315e9
mov eax, dword [ecx]
cmp byte [eax + 0x45], 0
jne 0x100315da
lea esp, [esp]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x45], 0
je 0x100315d0
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x1c]
mov ebp, ecx
jmp 0x100313f0
mov eax, dword [ebp + 4]
cmp byte [eax + 0x45], 0
jne 0x10031602
cmp ebp, dword [eax + 8]
jne 0x10031602
mov ebp, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x45], 0
je 0x100315f2
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x1c]
mov ebp, eax
jmp 0x100313f0
cmp dword [esp + 0x18], 0
jne 0x1003161d
call fcn.10048865
cmp byte [ebx + 0x49], 0
je 0x10031631
call fcn.10048865
mov edi, dword [esp + 0x18]
jmp 0x100313a0
mov ecx, dword [ebx + 8]
cmp byte [ecx + 0x49], 0
jne 0x10031659
mov eax, dword [ecx]
cmp byte [eax + 0x49], 0
jne 0x1003164c
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x49], 0
je 0x10031642
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
jmp 0x100313a0
mov eax, dword [ebx + 4]
cmp byte [eax + 0x49], 0
jne 0x10031672
cmp ebx, dword [eax + 8]
jne 0x10031672
mov ebx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x49], 0
je 0x10031662
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x100313a0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1003168e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x80], 0x10
jb 0x100316a5
mov eax, dword [esp + 0x6c]
push eax
call fcn.10047382
add esp, 4
cmp dword [esp + 0x9c], 8
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
jb 0x100316d7
mov ecx, dword [esp + 0x88]
push ecx
call fcn.10047382
add esp, 4
mov al, 1
mov ecx, dword [esp + 0xc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.1004738d
add esp, 0xb8
ret