Function at 0x418e66
Capabilities:
Delete file
Link many functions at runtime

Disassembly:
sub esp, 0x124
mov al, byte [0x47f204]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x20], ecx
test al, 0x10
mov ebp, 0x47f738
mov edi, 0x47f360
je 0x418ef6
test al, 0x20
je 0x418ef6
push 0x4c
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x418ef6
push 0x4c
mov ecx, edi
call fcn.0041d2e3
push eax
push 0x48
mov ecx, edi
call fcn.0041d2e3
push eax
mov ecx, ebp
call fcn.0041d704
mov esi, 0x47f5ec
push eax
mov ecx, esi
call fcn.0041d4ab
test eax, eax
jge 0x418ecb
push 0xfffffffffffffff6
jmp 0x419aa2
mov ecx, esi
call fcn.0041ccc6
test al, al
jne 0x418ef6
push 0
mov ecx, 0x47fc1c
call fcn.0041d704
push eax
push 0
mov ecx, 0x47f028
call fcn.0041bc87
push 0xfffffffffffffff5
jmp 0x419aa2
cmp byte [0x4802ec], 0
jne 0x4192f6
push 0x10
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x419083
push 0x14
mov ecx, edi
call fcn.0041d2e3
push 0x10
mov ecx, edi
mov esi, eax
call fcn.0041d2e3
test eax, eax
jle 0x419083
mov dword [esp + 0x10], eax
push 0x18
call fcn.004258e9
mov ebx, eax
pop ecx
test ebx, ebx
je 0x418f4b
mov ecx, ebx
call fcn.0041c7ab
jmp 0x418f4d
xor ebx, ebx
test ebx, ebx
jne 0x418f62
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
and byte [ebx + 0x11], 0
lea ecx, [esp + 0x14]
call fcn.0041c7ab
push 4
push esi
mov ecx, ebp
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
call fcn.0041d2e3
push eax
lea eax, [esi + 4]
push eax
mov ecx, ebp
call fcn.0041d704
push eax
mov ecx, ebx
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
call fcn.0041d2e3
lea esi, [esi + eax + 4]
push 4
push esi
mov ecx, ebp
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
call fcn.0041d2e3
add esi, 4
push 4
push esi
mov ecx, ebp
mov dword [ebx + 0xc], eax
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
call fcn.0041d2e3
test eax, eax
setne al
add esi, 4
push 4
push esi
mov ecx, ebp
mov byte [ebx + 0x10], al
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
call fcn.0041d2e3
add esi, 4
push eax
push esi
mov ecx, ebp
mov dword [esp + 0x2c], eax
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
add esi, dword [esp + 0x24]
and dword [esp + 0x28], 0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x14]
push eax
call fcn.0041d704
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [ebx + 0x14]
push eax
mov ecx, dword [esp + 0x30]
call fcn.0041718b
push 0xffffffffffffffff
push ebx
mov ecx, 0x47f57c
call fcn.0041f303
lea ecx, [esp + 0x14]
call fcn.0041c8e1
dec dword [esp + 0x10]
jne 0x418f34
cmp byte [0x4802ec], 0
jne 0x4192f6
push 0x18
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x419122
push 0x1c
mov ecx, edi
call fcn.0041d2e3
push 0x18
mov ecx, edi
mov esi, eax
call fcn.0041d2e3
test eax, eax
jle 0x419122
mov ebx, eax
lea ecx, [esp + 0x14]
call fcn.0041c7ab
push 4
push esi
mov ecx, ebp
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
add esi, 4
call fcn.0041d2e3
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
push 0xffffffffffffffff
shr edx, 0x10
or ecx, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
push ecx
mov ecx, 0x47f5a4
call fcn.0041f303
lea ecx, [esp + 0x14]
call fcn.0041c8e1
dec ebx
jne 0x4190bb
cmp byte [0x4802ec], 0
jne 0x4192f6
push 0x20
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x4192bc
push 0x24
mov ecx, edi
call fcn.0041d2e3
push 0x20
mov ecx, edi
mov esi, eax
call fcn.0041d2e3
and dword [esp + 0x10], 0
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x4192bc
push 0x10
call fcn.004258e9
mov ebx, eax
pop ecx
test ebx, ebx
je 0x419181
lea ecx, [ebx + 4]
call fcn.0041c7ab
mov dword [esp + 0x24], ebx
jmp 0x419186
and dword [esp + 0x24], 0
lea ecx, [esp + 0x14]
call fcn.0041c7ab
push 4
mov ecx, ebp
pop ebx
push ebx
push esi
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
add esi, ebx
call fcn.0041d2e3
mov ecx, dword [esp + 0x24]
push ebx
push esi
mov dword [ecx], eax
mov ecx, ebp
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0x104
add esi, ebx
call fcn.004258e9
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x4191ef
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push str..bmp
push ebx
call fcn.0041e688
mov eax, dword [esp + 0x2c]
pop ecx
pop ecx
lea ecx, [eax + 4]
push ebx
call fcn.0041c8f8
push ebx
call fcn.004258de
pop ecx
push 0
lea ecx, [esp + 0x18]
call fcn.0041d2e3
push 1
mov ebx, eax
pop eax
mov dword [esp + 0x28], ebx
mov dword [0x48028c], eax
mov dword [0x47f300], eax
mov eax, dword [0x4802fc]
test eax, eax
je 0x41923e
push eax
call fcn.004258de
pop ecx
push 4
call fcn.004258e9
test eax, eax
pop ecx
mov dword [0x4802fc], eax
jne 0x419265
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
mov eax, dword [0x4802fc]
pop ecx
push dword [esp + 0x28]
add ebx, esi
mov dword [eax], ebx
mov eax, dword [esp + 0x28]
push esi
lea ecx, [eax + 4]
call fcn.0041d704
push eax
mov ecx, ebp
call fcn.0041d704
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
jne 0x4192e6
push 0xffffffffffffffff
mov ecx, 0x47f590
push dword [esp + 0x28]
mov esi, ebx
call fcn.0041f303
lea ecx, [esp + 0x14]
call fcn.0041c8e1
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jl 0x419165
cmp byte [0x4802ec], 0
jne 0x4192f6
push 0x28
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x4192f6
mov ecx, dword [esp + 0x20]
call fcn.0041a5a5
test al, al
jne 0x4192f6
push 0xffffffffffffffd3
jmp 0x419aa2
lea ecx, [esp + 0x14]
call fcn.0041c8e1
push 0xffffffffffffffd6
jmp 0x419aa2
push 0x5c
mov ecx, edi
call fcn.0041d2e3
test eax, eax
mov ebx, 0x47f8f0
je 0x419365
push 0x104
call fcn.004258e9
mov esi, eax
pop ecx
test esi, esi
jne 0x41932a
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push 0x60
push esi
mov ecx, ebx
call fcn.004125ba
test al, al
jne 0x419340
or edi, 0xffffffff
jmp 0x4193c3
push esi
mov ecx, 0x47eff4
call fcn.0041c8f8
push esi
mov ecx, 0x47f780
call fcn.0041f132
test al, al
jne 0x41935e
push 0xfffffffffffffffe
jmp 0x4193c2
push esi
call fcn.004258de
pop ecx
push 0x50
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x4193d8
push 0x104
call fcn.004258e9
mov esi, eax
pop ecx
test esi, esi
jne 0x419394
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push 0x54
push esi
mov ecx, ebx
call fcn.004125ba
test al, al
jne 0x4193a6
push 0xfffffffffffffffd
jmp 0x4193c2
push esi
mov ecx, 0x47efe8
call fcn.0041c8f8
push esi
mov ecx, 0x47f340
call fcn.0041c73b
test al, al
jne 0x4193d1
push 0xfffffffffffffffc
pop edi
push esi
call fcn.004258de
pop ecx
mov eax, edi
jmp 0x419aa3
push esi
call fcn.004258de
pop ecx
cmp byte [0x4802ec], 0
jne 0x41962c
push 0x80
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x419597
mov esi, 0x88
mov ecx, edi
push esi
call fcn.0041d2e3
push eax
mov ecx, 0x480278
call fcn.0041054b
cmp eax, 2
jne 0x4194da
push 0x104
call fcn.004258e9
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x41943c
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push str..jpg
push ebx
call fcn.0041e688
pop ecx
pop ecx
push 0
push 0x8c
mov ecx, edi
call fcn.0041d2e3
push eax
push esi
mov ecx, edi
call fcn.0041d2e3
push eax
push ebx
mov ecx, 0x47f8f0
call fcn.00411000
test al, al
jne 0x41947e
push ebx
call fcn.004258de
pop ecx
push 0xfffffffffffffffb
jmp 0x419aa2
push 0x104
call fcn.004258e9
mov esi, eax
pop ecx
test esi, esi
jne 0x4194a0
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push str..bmp
push esi
call fcn.0041e688
pop ecx
pop ecx
push esi
push ebx
call dword [0x47f348]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
mov ecx, 0x47f00c
call fcn.0041c8f8
push ebx
call fcn.004258de
push esi
call fcn.004258de
pop ecx
pop ecx
jmp 0x419592
push 0x84
mov ecx, edi
call fcn.0041d2e3
cmp eax, 1
jne 0x419597
lea eax, [esp + 0x30]
push str..bmp
push eax
call fcn.0041e688
pop ecx
pop ecx
push esi
mov ecx, edi
call fcn.0041d2e3
push 0x8c
mov ecx, edi
mov esi, eax
call fcn.0041d2e3
push 1
mov ebx, eax
pop eax
mov dword [0x48028c], eax
mov dword [0x47f300], eax
mov eax, dword [0x4802fc]
test eax, eax
je 0x419535
push eax
call fcn.004258de
pop ecx
push 4
call fcn.004258e9
test eax, eax
pop ecx
mov dword [0x4802fc], eax
jne 0x41955c
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
mov eax, dword [0x4802fc]
pop ecx
lea ecx, [ebx + esi]
push ebx
mov dword [eax], ecx
lea eax, [esp + 0x34]
push esi
push eax
mov ecx, ebp
call fcn.0041d704
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
je 0x419583
push 0xffffffffffffffd1
jmp 0x419aa2
lea eax, [esp + 0x30]
mov ecx, 0x47f00c
push eax
call fcn.0041c8f8
mov ebx, 0x47f8f0
cmp byte [0x4802ec], 0
jne 0x41962c
push 0x74
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x41962c
push 0x104
call fcn.004258e9
mov esi, eax
pop ecx
test esi, esi
jne 0x4195d3
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push str..mp3
push esi
call fcn.0041e688
pop ecx
pop ecx
push 0
push 0x7c
mov ecx, edi
call fcn.0041d2e3
push eax
push 0x78
mov ecx, edi
call fcn.0041d2e3
push eax
push esi
mov ecx, ebx
call fcn.00411000
test al, al
push esi
jne 0x419610
call fcn.004258de
pop ecx
push 0xfffffffffffffffa
jmp 0x419aa2
mov ecx, 0x47f7c8
call fcn.0041c8f8
push esi
mov ecx, 0x47f018
call fcn.0041c8f8
push esi
call fcn.004258de
pop ecx
push 0x68
mov ecx, edi
call fcn.0041d2e3
test eax, eax
je 0x419815
push 0x104
call fcn.004258e9
mov esi, eax
pop ecx
test esi, esi
jne 0x41965f
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push 0x6c
push esi
mov ecx, ebx
call fcn.004125ba
test al, al
push esi
jne 0x41967b
call fcn.004258de
pop ecx
push 0xfffffffffffffff9
jmp 0x419aa2
mov ecx, 0x47f000
call fcn.0041c8f8
push esi
mov ecx, 0x4802e0
call fcn.0041c8f8
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
mov dword [0x4802dc], eax
call fcn.004258de
mov eax, dword [0x4802dc]
pop ecx
test eax, eax
jne 0x4196b3
push 0xfffffffffffffff8
jmp 0x419aa2
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.AdvancedEntry
push eax
call esi
push str.EntryPoint0
mov dword [0x480290], eax
push dword [0x4802dc]
call esi
push str.EntryPoint1
mov dword [0x480294], eax
push dword [0x4802dc]
call esi
push str.EntryPoint1_5
mov dword [0x48029c], eax
push dword [0x4802dc]
call esi
push str.EntryPoint2
mov dword [0x480298], eax
push dword [0x4802dc]
call esi
push str.EntryPoint3
mov dword [0x4802a0], eax
push dword [0x4802dc]
call esi
push str.EntryPoint4
mov dword [0x4802a4], eax
push dword [0x4802dc]
call esi
push str.EntryPoint5
mov dword [0x4802a8], eax
push dword [0x4802dc]
call esi
push str.EntryPoint6
mov dword [0x4802ac], eax
push dword [0x4802dc]
call esi
push str.EntryPoint7
mov dword [0x4802b0], eax
push dword [0x4802dc]
call esi
push str.EntryPoint8
mov dword [0x4802b4], eax
push dword [0x4802dc]
call esi
push str.EntryPoint9
mov dword [0x4802b8], eax
push dword [0x4802dc]
call esi
push str.EntryPoint10
mov dword [0x4802bc], eax
push dword [0x4802dc]
call esi
push str.EntryPoint11
mov dword [0x4802c0], eax
push dword [0x4802dc]
call esi
push str.EntryPoint12
mov dword [0x4802c4], eax
push dword [0x4802dc]
call esi
push str.EntryPoint13
mov dword [0x4802c8], eax
push dword [0x4802dc]
call esi
push str.EntryPointCustom
mov dword [0x4802cc], eax
push dword [0x4802dc]
call esi
push str.SystemInformation
mov dword [0x4802d0], eax
push dword [0x4802dc]
call esi
push str.OnMessage
mov dword [0x4802d4], eax
push dword [0x4802dc]
call esi
test eax, eax
mov dword [0x4802d8], eax
je 0x419815
or byte [0x47f1ff], 0x80
push 0x90
mov ecx, edi
call fcn.0041d2e3
cmp byte [0x4802ec], 0
mov esi, eax
jne 0x419997
test esi, esi
jle 0x41992a
lea eax, [esi + esi*2]
lea eax, [eax*4 + 4]
push eax
call fcn.004258e9
test eax, eax
pop ecx
je 0x419878
mov dword [eax], esi
lea ebx, [eax + 4]
lea eax, [esi - 1]
mov dword [esp + 0x10], ebx
test eax, eax
jl 0x41987a
inc eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
call fcn.0041c7ab
add dword [esp + 0x10], 0xc
dec dword [esp + 0x20]
jne 0x419862
jmp 0x41987a
xor ebx, ebx
test ebx, ebx
mov dword [0x47f7f0], ebx
jne 0x419895
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push 0x94
mov ecx, edi
mov dword [0x47f7f4], esi
call fcn.0041d2e3
test esi, esi
mov ebx, eax
jle 0x419921
and dword [esp + 0x10], 0
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x14]
call fcn.0041c7ab
push 4
push ebx
mov ecx, ebp
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
push 0
lea ecx, [esp + 0x18]
call fcn.0041d2e3
mov esi, eax
add ebx, 4
push esi
push ebx
mov ecx, ebp
call fcn.0041d704
push eax
lea ecx, [esp + 0x20]
call fcn.0041d4ab
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x47f7f0]
add ecx, eax
add ebx, esi
call fcn.0041c966
lea ecx, [esp + 0x14]
call fcn.0041c8e1
add dword [esp + 0x10], 0xc
dec dword [esp + 0x20]
jne 0x4198b6
cmp byte [0x4802ec], 0
jne 0x419997
push 0xa0
mov ecx, edi
call fcn.0041d2e3
push eax
mov ecx, 0x47f028
mov dword [0x47f67c], eax
call fcn.00415e35
test al, al
jne 0x419951
push 0xfffffffffffffff0
jmp 0x419aa2
mov esi, 0x47f770
push 0x42f138
mov ecx, esi
call fcn.0041c8f8
test byte [0x47f1fc], 0x40
mov ecx, 0x47f3c0
je 0x41997d
call fcn.0041d704
push eax
mov ecx, 0x47f97c
jmp 0x419988
call fcn.0041d704
push eax
mov ecx, 0x47f970
call fcn.0041d704
push eax
push esi
call fcn.0041ce4d
add esp, 0xc
mov ebx, 0xa8
mov ecx, edi
push ebx
call fcn.0041d2e3
test eax, eax
je 0x419aa0
test byte [0x47f202], 2
jne 0x419aa0
push 0x104
call fcn.004258e9
mov esi, eax
pop ecx
test esi, esi
jne 0x4199db
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push str..EXE
push esi
call fcn.0041e688
pop ecx
pop ecx
push esi
mov ecx, 0x47f7f8
call fcn.0041c8f8
push 1
pop eax
mov dword [0x48028c], eax
mov dword [0x47f300], eax
mov eax, dword [0x4802fc]
test eax, eax
je 0x419a10
push eax
call fcn.004258de
pop ecx
push 4
call fcn.004258e9
test eax, eax
pop ecx
mov dword [0x4802fc], eax
jne 0x419a32
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
pop ecx
push 0xac
mov ecx, edi
call fcn.0041d2e3
mov edx, eax
push ebx
mov ecx, edi
mov dword [esp + 0x30], edx
call fcn.0041d2e3
mov ecx, dword [esp + 0x2c]
push 0xa8
add ecx, eax
mov eax, dword [0x4802fc]
mov dword [eax], ecx
mov ecx, edi
call fcn.0041d2e3
push eax
push 0xac
mov ecx, edi
call fcn.0041d2e3
push eax
push esi
mov ecx, ebp
call fcn.0041d704
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
push esi
je 0x419a9a
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call fcn.004258de
pop ecx
push 0xfffffffffffffff1
jmp 0x419aa2
call fcn.004258de
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret