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

Disassembly:
push 0x1e0
mov eax, 0x5c63b0
call fcn.00506dfb
mov edi, ecx
mov dword [ebp - 0x17c], edi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x158], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebp - 0x1bc]
call fcn.00438a3a
xor ebx, ebx
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 4], ebx
call fcn.0042ca82
push 0x70
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 1
push ebx
push eax
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
call fcn.0056b050
movaps xmm0, xmmword [0x5fafa0]
add esp, 0xc
movups xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x28], ebx
movaps xmm0, xmmword [0x5fafc0]
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x24], ebx
movaps xmm0, xmmword [0x5faf70]
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x20], ebx
movaps xmm0, xmmword [0x5faf90]
movups xmmword [ebp - 0x108], xmm0
movaps xmm0, xmmword [0x5faf40]
movups xmmword [ebp - 0xf8], xmm0
movaps xmm0, xmmword [0x5faf60]
movups xmmword [ebp - 0xe8], xmm0
movaps xmm0, xmmword [0x5fafb0]
movups xmmword [ebp - 0x58], xmm0
movaps xmm0, xmmword [0x5faf80]
movups xmmword [ebp - 0x48], xmm0
movaps xmm0, xmmword [0x5faf50]
movups xmmword [ebp - 0x38], xmm0
call fcn.0041279d
push eax
lea ecx, [ebp - 0x168]
call fcn.00411d94
mov byte [ebp - 4], 2
call fcn.0041279d
push eax
lea ecx, [ebp - 0x178]
call fcn.00411d94
mov byte [ebp - 4], 3
call fcn.0041279d
push eax
lea ecx, [ebp - 0x164]
call fcn.00411d94
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0043944c
push dword [eax]
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 5
push str._sconfig_softmaster_shortcuticon_
push eax
call fcn.00412690
mov ecx, dword [ebp - 0x14c]
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ecx - 0x10]
call fcn.00412ac4
push esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebp - 0x178]
push eax
push ebx
lea eax, [ebp - 0x168]
push str._s_lu_d.ico
push eax
call fcn.00412690
add esp, 0x10
mov ecx, esp
mov dword [ebp - 0x150], esp
push 0x5facd4
call fcn.00413f09
push ecx
push esp
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 6
call fcn.00439eba
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00434114
push dword [eax]
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 7
call fcn.0043aaf6
mov ecx, dword [ebp - 0x14c]
mov esi, eax
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.00412ac4
push ecx
mov ecx, esp
mov dword [ebp - 0x150], esp
push 0x5facd4
call fcn.00413f09
test esi, esi
je 0x43f2e1
push ecx
push esp
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 8
call fcn.00439eba
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00434114
mov byte [ebp - 4], 9
jmp 0x43f375
push 0xa
pop ecx
push ecx
mov byte [ebp - 4], cl
lea ecx, [ebp - 0x1a4]
push esp
call fcn.004393d5
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00434114
push dword [eax]
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xb
call fcn.0043aaf6
mov ecx, dword [ebp - 0x14c]
mov esi, eax
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.00412ac4
test esi, esi
je 0x43fa29
push ecx
mov ecx, esp
mov dword [ebp - 0x150], esp
push 0x5facd4
call fcn.00413f09
push ecx
push esp
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 0xc
call fcn.004393d5
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00434114
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x164]
call fcn.00411f3a
mov ecx, dword [ebp - 0x14c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.00412ac4
mov esi, dword [ebp - 0x158]
test esi, esi
jne 0x43f427
lea ecx, [ebp - 0x60]
call fcn.00438cb8
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x60]
call fcn.0043d8fc
test eax, eax
je 0x43f411
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0042e4c9
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xf
call fcn.00411f3a
mov ecx, dword [ebp - 0x14c]
mov byte [ebp - 4], 0xe
lea ecx, [ecx - 0x10]
call fcn.00412ac4
and dword [ebp - 0x44], esi
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x60]
call fcn.0043e77c
test eax, eax
je 0x43f411
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc esi
jmp 0x43f41a
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor esi, esi
lea ecx, [ebp - 0x60]
call fcn.00438f03
jmp 0x43fa32
lea eax, [ebp - 0x1c]
push eax
push 0x5fac6c
push str.IDB_PNG_ICON_BK256
call fcn.00439473
lea eax, [ebp - 0x18]
push eax
push 0x5fac6c
push 0x5fad14
call fcn.00439473
lea eax, [ebp - 0x14]
push eax
push 0x5fac6c
push 0x5fad38
call fcn.00439473
add esp, 0x24
lea eax, [ebp - 0xd8]
push eax
push 0xa
pop eax
push eax
push ecx
mov ecx, esp
push str.IDB_PNG_CUSTOM_ICON_NUMBER_256
call fcn.00413f09
mov ecx, edi
call fcn.0043da8e
lea eax, [ebp - 0xb0]
push eax
push 0xa
pop eax
push eax
push ecx
mov ecx, esp
push str.IDB_PNG_CUSTOM_ICON_NUMBER_48
call fcn.00413f09
mov ecx, edi
call fcn.0043da8e
lea eax, [ebp - 0x88]
push eax
push 0xa
pop eax
push eax
push ecx
mov ecx, esp
push str.IDB_PNG_CUSTOM_ICON_NUMBER_32
call fcn.00413f09
mov ecx, edi
call fcn.0043da8e
lea eax, [ebp - 0x58]
xor edi, edi
mov dword [ebp - 0x180], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x170], eax
xor eax, eax
mov dword [ebp - 0x174], edi
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + eax - 0x1c]
lea ecx, [ebp - 0x18c]
xorps xmm0, xmm0
mov dword [ebp - 0x14c], eax
push eax
movups xmmword [ebp - 0x1ec], xmm0
call fcn.00438d80
push 0x63
pop eax
cmp esi, eax
mov byte [ebp - 4], 0x10
cmovg esi, eax
mov dword [ebp - 0x158], esi
cmp esi, 9
jle 0x43f605
mov eax, esi
push 0xa
pop ecx
cdq
idiv ecx
mov ecx, edx
mov dword [ebp - 0x150], ecx
test ecx, ecx
js 0x43f605
and dword [ebp - 0x1cc], 0
add eax, edi
and dword [ebp - 0x1c8], 0
mov esi, dword [ebp + eax*4 - 0xd8]
mov ecx, esi
mov dword [ebp - 0x16c], esi
call fcn.0043d5b5
mov ecx, esi
mov dword [ebp - 0x1c4], eax
call fcn.0043c4af
sub esp, 0x14
mov ecx, dword [ebp - 0x17c]
mov edi, esp
mov dword [ebp - 0x1c0], eax
lea esi, [ebp - 0x1ec]
lea eax, [ebp - 0x18c]
mov dword [esp + 0x10], 0x3f800000
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x170]
mov edi, esp
sub esp, 0x10
lea esi, [esi - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x1cc]
push dword [ebp - 0x16c]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00439fc8
sub esp, 0x14
mov eax, dword [ebp - 0x174]
mov edi, esp
lea esi, [ebp - 0x1ec]
mov dword [esp + 0x10], 0x3f800000
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x170]
mov edi, esp
sub esp, 0x10
add eax, dword [ebp - 0x150]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x1cc]
push dword [ebp + eax*4 - 0xd8]
jmp 0x43f674
and dword [ebp - 0x1dc], 0
lea eax, [edi + esi]
mov esi, dword [ebp + eax*4 - 0xd8]
mov ecx, esi
and dword [ebp - 0x1d8], 0
mov dword [ebp - 0x150], esi
call fcn.0043d5b5
mov ecx, esi
mov dword [ebp - 0x1d4], eax
call fcn.0043c4af
sub esp, 0x14
mov dword [ebp - 0x1d0], eax
mov edi, esp
lea esi, [ebp - 0x1ec]
mov dword [esp + 0x10], 0x3f800000
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x180]
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x1dc]
push dword [ebp - 0x150]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x18c]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x17c]
mov ecx, edi
call fcn.00439fc8
and dword [ebp - 0x154], 0
lea eax, [ebp - 0x154]
push eax
xor esi, esi
inc esi
push esi
push 0
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
jne 0x43f71f
lea eax, [ebp - 0x148]
mov ecx, edi
push eax
push str.image_png
call fcn.0043b946
push 0
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x14c]
push dword [ebp - 0x154]
push dword [eax + 4]
call sub.gdiplus.dll_GdipSaveImageToStream
mov dword [ebp - 0x15c], eax
test eax, eax
je 0x43f6ef
mov ecx, dword [ebp - 0x14c]
mov dword [ecx + 8], eax
jmp 0x43f6f7
xor eax, eax
mov dword [ebp - 0x15c], eax
test eax, eax
jne 0x43f776
push eax
push dword [ebp - 0x154]
call fcn.0043ac55
pop ecx
pop ecx
test eax, eax
je 0x43f76e
push eax
mov ecx, edi
call fcn.0043becd
mov ecx, dword [ebp - 0x184]
mov dword [ebp + ecx - 0x28], eax
push dword [ebp - 0x18c]
mov byte [ebp - 4], 4
call sub.gdiplus.dll_GdipDeleteGraphics
mov ecx, dword [ebp - 0x174]
add dword [ebp - 0x170], 0x20
add dword [ebp - 0x180], 0x10
push 0xa
pop eax
add ecx, eax
mov eax, dword [ebp - 0x184]
add eax, 4
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x184], eax
cmp ecx, 0x1e
jge 0x43f79e
mov esi, dword [ebp - 0x158]
mov edi, ecx
jmp 0x43f4e5
mov dword [ebp - 0x15c], esi
jmp 0x43f782
mov eax, dword [ebp - 0x154]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push dword [ebp - 0x18c]
mov byte [ebp - 4], 4
call sub.gdiplus.dll_GdipDeleteGraphics
cmp dword [ebp - 0x15c], 0
jne 0x43f95f
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x43f7d4
push ecx
lea eax, [ebx - 0x10]
mov esi, esp
push eax
mov dword [ebp - 0x150], esi
call fcn.00412393
pop ecx
add eax, 0x10
lea ecx, [ebp - 0x1a4]
mov dword [esi], eax
call fcn.00439b38
xor esi, esi
inc esi
jmp 0x43f95f
mov eax, dword [ebp - 0x168]
cmp dword [eax - 4], esi
jle 0x43f7ed
push dword [eax - 0xc]
lea ecx, [ebp - 0x168]
call fcn.00412624
push dword [ebp - 0x168]
lea eax, [ebp - 0x28]
mov ecx, edi
push 3
push eax
call fcn.004398b6
test eax, eax
jne 0x43f80f
mov dword [ebp - 0x15c], esi
jmp 0x43f95f
lea ecx, [ebp - 0x60]
call fcn.00438cb8
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x60]
call fcn.0043d8fc
test eax, eax
je 0x43f951
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x48]
call fcn.00411f3a
and dword [ebp - 0x44], 0
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x60]
call fcn.0043e77c
test eax, eax
je 0x43f951
push 0x5fab98
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0042dfbd
add esp, 0xc
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0x12
call fcn.0043aaf6
test eax, eax
je 0x43f941
lea ecx, [ebp - 0x1bc]
call fcn.0043ac20
push 0x10
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x158], eax
call fcn.0043db06
test eax, eax
jne 0x43f934
lea ecx, [ebp - 0x1bc]
call fcn.0043d896
test eax, eax
jne 0x43f934
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0043baf8
push dword [eax]
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x13
call fcn.0042e677
mov ecx, dword [ebp - 0x150]
test eax, eax
mov byte [ebp - 4], 0x12
setne byte [ebp - 0x15d]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
cmp byte [ebp - 0x15d], 0
je 0x43f934
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0043baf8
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x16c]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
cmp dword [ebp - 0x158], 0
jne 0x43f894
mov ecx, dword [ebp - 0x14c]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
jmp 0x43f957
mov dword [ebp - 0x15c], esi
lea ecx, [ebp - 0x60]
call fcn.00438f03
xor edx, edx
lea ebx, [ebp - 0xd8]
and dword [ebp - 0x154], edx
mov dword [ebp - 0x158], edx
xor ecx, ecx
push 0xa
mov dword [ebp - 0x14c], ecx
pop eax
cmp dword [ebx], 0
je 0x43f9b1
lea eax, [edx + ecx]
mov eax, dword [ebp + eax*4 - 0xd8]
mov dword [ebp - 0x150], eax
test eax, eax
je 0x43f9ae
mov eax, dword [eax]
mov ecx, dword [ebp - 0x150]
push esi
call dword [eax]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x158]
push 0xa
pop eax
inc ecx
mov dword [ebp - 0x14c], ecx
cmp ecx, eax
jl 0x43f97e
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp + eax - 0x1c]
test ecx, ecx
je 0x43f9d5
mov eax, dword [ecx]
push esi
call dword [eax]
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp + eax - 0x28]
test ecx, ecx
je 0x43f9ea
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x154]
mov edx, dword [ebp - 0x158]
add eax, 4
push 0xa
pop ecx
add edx, ecx
mov dword [ebp - 0x154], eax
add ebx, 0x2c
mov dword [ebp - 0x158], edx
cmp edx, 0x1e
jl 0x43f973
mov eax, dword [ebp - 0x15c]
mov ebx, dword [ebp - 0x178]
push edi
test eax, eax
jne 0x43fa2a
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x43fa32
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor esi, esi
mov ecx, dword [ebp - 0x164]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x168]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x1a4]
call fcn.0042e60b
mov ecx, dword [ebp - 0x194]
add ecx, 0xfffffff0
call fcn.00412ac4
lea ecx, [ebp - 0x1bc]
call fcn.00439799
mov ecx, dword [ebp - 0x1ac]
add ecx, 0xfffffff0
call fcn.00412ac4
mov eax, esi
call fcn.00506da5
ret 4