Function at 0x10049935
Capabilities:
Check if file exists
Delete file
Read .ini file

Disassembly:
push ebp
sub esp, 0x348
lea ebp, [esp - 4]
mov eax, dword [0x10139d20]
xor eax, ebp
mov dword [ebp + 0x348], eax
push 0x84
mov eax, 0x100ec451
call fcn.100773f7
mov esi, dword [ebp + 0x354]
mov dword [ebp - 0x24], ecx
push 0x100fa298
lea ecx, [ebp - 0x48]
call fcn.10001df0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x2c]
xor ebx, ebx
push eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.10007e3e
push ebx
or edi, 0xffffffff
push 1
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], edi
call fcn.10001fc0
push str.url2
lea ecx, [ebp - 0x48]
call fcn.10001df0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.10007e3e
push ebx
push 1
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], edi
call fcn.10001fc0
mov eax, dword [esi + 4]
push esi
push eax
lea ecx, [ebp - 0x18]
call fcn.10051728
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1003f8a6
test al, al
je 0x10049a15
mov eax, dword [esi + 4]
push esi
push eax
lea ecx, [ebp - 0x18]
call fcn.10051728
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x20]
call fcn.1003f8a6
test al, al
je 0x10049a15
mov ecx, esi
call fcn.10007989
push esi
call fcn.10054d78
pop ecx
jmp 0x10049e91
push ebx
lea ecx, [ebp + 0x310]
mov dword [ebp + 0x328], 7
call fcn.10002340
mov dword [ebp - 4], 2
call fcn.1001097e
mov ecx, eax
call fcn.1004a468
test eax, eax
mov eax, dword [esi + 4]
push esi
lea ecx, [ebp - 0x18]
push eax
je 0x10049a64
call fcn.10051728
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1003f8a6
test al, al
je 0x10049a7c
lea ecx, [ebp - 0x20]
jmp 0x10049a7f
call fcn.10051728
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x20]
call fcn.1003f8a6
test al, al
lea ecx, [ebp - 0x20]
je 0x10049a7f
lea ecx, [ebp - 0x2c]
call fcn.1003f8cd
push edi
push ebx
add eax, 0x1c
push eax
lea ecx, [ebp + 0x310]
call fcn.10002540
push 1
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp + 0x310]
mov dword [ebp - 0x28], 0x2f
call fcn.10003fd0
push edi
inc eax
push eax
lea eax, [ebp + 0x2d8]
push eax
lea ecx, [ebp + 0x310]
call fcn.10003dc0
mov byte [ebp - 4], 3
call fcn.100058ef
mov ecx, eax
call fcn.10017c05
push eax
lea ecx, [ebp + 0x32c]
call fcn.10001df0
push str.Apply_
lea ecx, [ebp + 0x32c]
mov byte [ebp - 4], 4
call fcn.10003cf0
cmp dword [ebp + 0x344], 8
mov eax, dword [ebp + 0x330]
jae 0x10049b08
lea eax, [ebp + 0x330]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10049b2f
cmp dword [ebp + 0x344], 8
mov eax, dword [ebp + 0x330]
jae 0x10049b28
lea eax, [ebp + 0x330]
push eax
call fcn.10019493
pop ecx
push edi
push ebx
lea eax, [ebp + 0x2d8]
push eax
lea ecx, [ebp + 0x32c]
call fcn.10004260
lea ecx, [ebp - 0x74]
call fcn.10029ae9
cmp dword [ebp + 0x344], 8
mov eax, dword [ebp + 0x330]
mov byte [ebp - 4], 5
jae 0x10049b64
lea eax, [ebp + 0x330]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10049b8b
cmp dword [ebp + 0x344], 8
mov eax, dword [ebp + 0x330]
jae 0x10049b84
lea eax, [ebp + 0x330]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp + 0x32c]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.1001b179
mov edi, eax
lea eax, [ebp + 0x310]
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 6
call fcn.1001b179
add esp, 0x10
cmp dword [edi + 0x18], 0x10
mov byte [ebp - 4], 7
jb 0x10049bc6
mov ecx, dword [edi + 4]
jmp 0x10049bc9
lea ecx, [edi + 4]
cmp dword [eax + 0x18], 0x10
jb 0x10049bd4
mov eax, dword [eax + 4]
jmp 0x10049bd7
add eax, 4
xor edi, edi
inc edi
push edi
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.10029825
push ebx
test eax, eax
push edi
lea ecx, [ebp - 0x48]
setne byte [ebp - 0xd]
call fcn.10001f70
push ebx
push edi
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 5
call fcn.10001f70
cmp byte [ebp - 0xd], bl
je 0x10049c46
mov ecx, esi
call fcn.10007989
push esi
call fcn.10054d78
pop ecx
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.1002971f
push ebx
push edi
lea ecx, [ebp + 0x32c]
call fcn.10001fc0
push ebx
push edi
lea ecx, [ebp + 0x2d8]
call fcn.10001fc0
push ebx
push edi
jmp 0x10049e86
mov eax, dword [ebp - 0x24]
add eax, 0x314
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x100fd9f8
lea ecx, [ebp - 0x48]
call fcn.10001df0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.10007e3e
push ebx
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10001fc0
mov eax, dword [esi + 4]
push esi
push eax
lea ecx, [ebp - 0x20]
call fcn.10051728
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x18]
call fcn.1003f8a6
test al, al
jne 0x10049c0b
lea ecx, [ebp - 0x18]
call fcn.1003f8cd
add eax, 0x1c
push eax
lea ecx, [ebp + 0x2f4]
call fcn.10003c90
cmp dword [ebp + 0x30c], 8
mov eax, dword [ebp + 0x2f8]
mov byte [ebp - 4], 9
jae 0x10049cd4
lea eax, [ebp + 0x2f8]
push eax
call fcn.10077d2c
pop ecx
push eax
lea eax, [ebp + 0x32c]
push eax
call fcn.1001097e
mov ecx, eax
call fcn.1004b70f
test eax, eax
mov edi, dword [ebp - 0x24]
je 0x10049d34
mov ecx, edi
call dword [sym.imp.DuiLib32.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x10049d34
cmp dword [ebp + 0x30c], 8
mov eax, dword [ebp + 0x2f8]
jae 0x10049d1e
lea eax, [ebp + 0x2f8]
push ebx
push eax
call fcn.10077d2c
pop ecx
push eax
push 0x8001
mov ecx, edi
call dword [sym.imp.DuiLib32.dll_public:_long_int___thiscall_DuiLib::CWindowWnd::PostMessageW_unsigned_int__unsigned_int__long_int_]
lea eax, [edi + 0x314]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [edi + 0x308]
add edi, 0x304
push edi
push eax
lea ecx, [ebp - 0x20]
call fcn.1004a4ca
jmp 0x10049d72
lea ecx, [ebp - 0x20]
call fcn.1000c5bc
mov ecx, dword [eax]
cmp ecx, esi
mov dword [ebp - 0x28], ecx
je 0x10049d91
lea ecx, [ebp - 0x20]
call fcn.1002a950
mov eax, dword [edi + 8]
push edi
push eax
lea ecx, [ebp - 0x18]
call fcn.1004a4ca
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x20]
call fcn.1003f8a6
test al, al
je 0x10049d59
jmp 0x10049db4
cmp ecx, ebx
je 0x10049da3
call fcn.10007989
push dword [ebp - 0x28]
call fcn.10054d78
pop ecx
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push dword [ebp - 0x20]
mov ecx, edi
push eax
call fcn.1002a733
mov ecx, edi
call fcn.1000586d
test eax, eax
jne 0x10049e4e
mov esi, dword [ebp - 0x24]
mov dword [esi + 0x300], ebx
call fcn.100058ef
mov ecx, eax
call fcn.10017c43
push eax
push ebx
push str.NoPopAgain
push str.IosEngine
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, ebx
je 0x10049df7
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x10049e4e
mov ecx, esi
call dword [sym.imp.DuiLib32.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x10049e4e
lea ecx, [ebp]
call fcn.1004c54e
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x96c80000
push 0x1011e03c
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0xa
call dword [sym.imp.DuiLib32.dll_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const]
push eax
lea ecx, [ebp]
call dword [sym.imp.DuiLib32.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
lea ecx, [ebp]
call dword [sym.imp.DuiLib32.dll_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_]
lea ecx, [ebp]
mov byte [ebp - 4], 9
call fcn.1004c57d
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x2f4]
call fcn.10001fc0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.1002971f
push ebx
push esi
lea ecx, [ebp + 0x32c]
call fcn.10001fc0
push ebx
push esi
lea ecx, [ebp + 0x2d8]
call fcn.10001fc0
push ebx
push esi
lea ecx, [ebp + 0x310]
call fcn.10001fc0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x348]
xor ecx, ebp
call fcn.100773e8
add ebp, 0x34c
leave
ret 4