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

Disassembly:
sub esp, 0x124
mov al, byte [0x47e194]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x20], ecx
test al, 0x10
mov ebp, 0x47e6c8
mov edi, 0x47e2f0
je 0x418534
test al, 0x20
je 0x418534
push 0x4c
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x418534
push 0x4c
mov ecx, edi
call fcn.0041c8fd
push eax
push 0x48
mov ecx, edi
call fcn.0041c8fd
push eax
mov ecx, ebp
call fcn.0041cd1e
mov esi, 0x47e57c
push eax
mov ecx, esi
call fcn.0041cac5
test eax, eax
jge 0x418509
push 0xfffffffffffffff6
jmp 0x4190e0
mov ecx, esi
call fcn.0041c2e0
test al, al
jne 0x418534
push 0
mov ecx, 0x47ebac
call fcn.0041cd1e
push eax
push 0
mov ecx, 0x47dfb8
call fcn.0041b2a8
push 0xfffffffffffffff5
jmp 0x4190e0
cmp byte [0x47f27c], 0
jne 0x418934
push 0x10
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x4186c1
push 0x14
mov ecx, edi
call fcn.0041c8fd
push 0x10
mov ecx, edi
mov esi, eax
call fcn.0041c8fd
test eax, eax
jle 0x4186c1
mov dword [esp + 0x10], eax
push 0x18
call fcn.00424dd9
mov ebx, eax
pop ecx
test ebx, ebx
je 0x418589
mov ecx, ebx
call fcn.0041bdc5
jmp 0x41858b
xor ebx, ebx
test ebx, ebx
jne 0x4185a0
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
and byte [ebx + 0x11], 0
lea ecx, [esp + 0x14]
call fcn.0041bdc5
push 4
push esi
mov ecx, ebp
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
call fcn.0041c8fd
push eax
lea eax, [esi + 4]
push eax
mov ecx, ebp
call fcn.0041cd1e
push eax
mov ecx, ebx
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
call fcn.0041c8fd
lea esi, [esi + eax + 4]
push 4
push esi
mov ecx, ebp
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
call fcn.0041c8fd
add esi, 4
push 4
push esi
mov ecx, ebp
mov dword [ebx + 0xc], eax
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
call fcn.0041c8fd
test eax, eax
setne al
add esi, 4
push 4
push esi
mov ecx, ebp
mov byte [ebx + 0x10], al
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
call fcn.0041c8fd
add esi, 4
push eax
push esi
mov ecx, ebp
mov dword [esp + 0x2c], eax
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
add esi, dword [esp + 0x24]
and dword [esp + 0x28], 0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x14]
push eax
call fcn.0041cd1e
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [ebx + 0x14]
push eax
mov ecx, dword [esp + 0x30]
call fcn.004167aa
push 0xffffffffffffffff
push ebx
mov ecx, 0x47e50c
call fcn.0041e87a
lea ecx, [esp + 0x14]
call fcn.0041befb
dec dword [esp + 0x10]
jne 0x418572
cmp byte [0x47f27c], 0
jne 0x418934
push 0x18
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x418760
push 0x1c
mov ecx, edi
call fcn.0041c8fd
push 0x18
mov ecx, edi
mov esi, eax
call fcn.0041c8fd
test eax, eax
jle 0x418760
mov ebx, eax
lea ecx, [esp + 0x14]
call fcn.0041bdc5
push 4
push esi
mov ecx, ebp
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
add esi, 4
call fcn.0041c8fd
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, 0x47e534
call fcn.0041e87a
lea ecx, [esp + 0x14]
call fcn.0041befb
dec ebx
jne 0x4186f9
cmp byte [0x47f27c], 0
jne 0x418934
push 0x20
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x4188fa
push 0x24
mov ecx, edi
call fcn.0041c8fd
push 0x20
mov ecx, edi
mov esi, eax
call fcn.0041c8fd
and dword [esp + 0x10], 0
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x4188fa
push 0x10
call fcn.00424dd9
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4187bf
lea ecx, [ebx + 4]
call fcn.0041bdc5
mov dword [esp + 0x24], ebx
jmp 0x4187c4
and dword [esp + 0x24], 0
lea ecx, [esp + 0x14]
call fcn.0041bdc5
push 4
mov ecx, ebp
pop ebx
push ebx
push esi
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
add esi, ebx
call fcn.0041c8fd
mov ecx, dword [esp + 0x24]
push ebx
push esi
mov dword [ecx], eax
mov ecx, ebp
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0x104
add esi, ebx
call fcn.00424dd9
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x41882d
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push str..bmp
push ebx
call fcn.0041dbff
mov eax, dword [esp + 0x2c]
pop ecx
pop ecx
lea ecx, [eax + 4]
push ebx
call fcn.0041bf12
push ebx
call fcn.00424dce
pop ecx
push 0
lea ecx, [esp + 0x18]
call fcn.0041c8fd
push 1
mov ebx, eax
pop eax
mov dword [esp + 0x28], ebx
mov dword [0x47f21c], eax
mov dword [0x47e290], eax
mov eax, dword [0x47f28c]
test eax, eax
je 0x41887c
push eax
call fcn.00424dce
pop ecx
push 4
call fcn.00424dd9
test eax, eax
pop ecx
mov dword [0x47f28c], eax
jne 0x4188a3
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
mov eax, dword [0x47f28c]
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.0041cd1e
push eax
mov ecx, ebp
call fcn.0041cd1e
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
jne 0x418924
push 0xffffffffffffffff
mov ecx, 0x47e520
push dword [esp + 0x28]
mov esi, ebx
call fcn.0041e87a
lea ecx, [esp + 0x14]
call fcn.0041befb
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jl 0x4187a3
cmp byte [0x47f27c], 0
jne 0x418934
push 0x28
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x418934
mov ecx, dword [esp + 0x20]
call fcn.00419be3
test al, al
jne 0x418934
push 0xffffffffffffffd3
jmp 0x4190e0
lea ecx, [esp + 0x14]
call fcn.0041befb
push 0xffffffffffffffd6
jmp 0x4190e0
push 0x5c
mov ecx, edi
call fcn.0041c8fd
test eax, eax
mov ebx, 0x47e880
je 0x4189a3
push 0x104
call fcn.00424dd9
mov esi, eax
pop ecx
test esi, esi
jne 0x418968
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push 0x60
push esi
mov ecx, ebx
call fcn.00411ce5
test al, al
jne 0x41897e
or edi, 0xffffffff
jmp 0x418a01
push esi
mov ecx, 0x47df84
call fcn.0041bf12
push esi
mov ecx, 0x47e710
call fcn.0041e6a9
test al, al
jne 0x41899c
push 0xfffffffffffffffe
jmp 0x418a00
push esi
call fcn.00424dce
pop ecx
push 0x50
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x418a16
push 0x104
call fcn.00424dd9
mov esi, eax
pop ecx
test esi, esi
jne 0x4189d2
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push 0x54
push esi
mov ecx, ebx
call fcn.00411ce5
test al, al
jne 0x4189e4
push 0xfffffffffffffffd
jmp 0x418a00
push esi
mov ecx, 0x47df78
call fcn.0041bf12
push esi
mov ecx, 0x47e2d0
call fcn.0041bd55
test al, al
jne 0x418a0f
push 0xfffffffffffffffc
pop edi
push esi
call fcn.00424dce
pop ecx
mov eax, edi
jmp 0x4190e1
push esi
call fcn.00424dce
pop ecx
cmp byte [0x47f27c], 0
jne 0x418c6a
push 0x80
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x418bd5
mov esi, 0x88
mov ecx, edi
push esi
call fcn.0041c8fd
push eax
mov ecx, 0x47f208
call fcn.0040fca0
cmp eax, 2
jne 0x418b18
push 0x104
call fcn.00424dd9
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x418a7a
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push str..jpg
push ebx
call fcn.0041dbff
pop ecx
pop ecx
push 0
push 0x8c
mov ecx, edi
call fcn.0041c8fd
push eax
push esi
mov ecx, edi
call fcn.0041c8fd
push eax
push ebx
mov ecx, 0x47e880
call fcn.00410722
test al, al
jne 0x418abc
push ebx
call fcn.00424dce
pop ecx
push 0xfffffffffffffffb
jmp 0x4190e0
push 0x104
call fcn.00424dd9
mov esi, eax
pop ecx
test esi, esi
jne 0x418ade
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push str..bmp
push esi
call fcn.0041dbff
pop ecx
pop ecx
push esi
push ebx
call dword [0x47e2d8]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
mov ecx, 0x47df9c
call fcn.0041bf12
push ebx
call fcn.00424dce
push esi
call fcn.00424dce
pop ecx
pop ecx
jmp 0x418bd0
push 0x84
mov ecx, edi
call fcn.0041c8fd
cmp eax, 1
jne 0x418bd5
lea eax, [esp + 0x30]
push str..bmp
push eax
call fcn.0041dbff
pop ecx
pop ecx
push esi
mov ecx, edi
call fcn.0041c8fd
push 0x8c
mov ecx, edi
mov esi, eax
call fcn.0041c8fd
push 1
mov ebx, eax
pop eax
mov dword [0x47f21c], eax
mov dword [0x47e290], eax
mov eax, dword [0x47f28c]
test eax, eax
je 0x418b73
push eax
call fcn.00424dce
pop ecx
push 4
call fcn.00424dd9
test eax, eax
pop ecx
mov dword [0x47f28c], eax
jne 0x418b9a
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
mov eax, dword [0x47f28c]
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.0041cd1e
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
je 0x418bc1
push 0xffffffffffffffd1
jmp 0x4190e0
lea eax, [esp + 0x30]
mov ecx, 0x47df9c
push eax
call fcn.0041bf12
mov ebx, 0x47e880
cmp byte [0x47f27c], 0
jne 0x418c6a
push 0x74
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x418c6a
push 0x104
call fcn.00424dd9
mov esi, eax
pop ecx
test esi, esi
jne 0x418c11
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push str..mp3
push esi
call fcn.0041dbff
pop ecx
pop ecx
push 0
push 0x7c
mov ecx, edi
call fcn.0041c8fd
push eax
push 0x78
mov ecx, edi
call fcn.0041c8fd
push eax
push esi
mov ecx, ebx
call fcn.00410722
test al, al
push esi
jne 0x418c4e
call fcn.00424dce
pop ecx
push 0xfffffffffffffffa
jmp 0x4190e0
mov ecx, 0x47e758
call fcn.0041bf12
push esi
mov ecx, 0x47dfa8
call fcn.0041bf12
push esi
call fcn.00424dce
pop ecx
push 0x68
mov ecx, edi
call fcn.0041c8fd
test eax, eax
je 0x418e53
push 0x104
call fcn.00424dd9
mov esi, eax
pop ecx
test esi, esi
jne 0x418c9d
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push 0x6c
push esi
mov ecx, ebx
call fcn.00411ce5
test al, al
push esi
jne 0x418cb9
call fcn.00424dce
pop ecx
push 0xfffffffffffffff9
jmp 0x4190e0
mov ecx, 0x47df90
call fcn.0041bf12
push esi
mov ecx, 0x47f270
call fcn.0041bf12
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
mov dword [0x47f26c], eax
call fcn.00424dce
mov eax, dword [0x47f26c]
pop ecx
test eax, eax
jne 0x418cf1
push 0xfffffffffffffff8
jmp 0x4190e0
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.AdvancedEntry
push eax
call esi
push str.EntryPoint0
mov dword [0x47f220], eax
push dword [0x47f26c]
call esi
push str.EntryPoint1
mov dword [0x47f224], eax
push dword [0x47f26c]
call esi
push str.EntryPoint1_5
mov dword [0x47f22c], eax
push dword [0x47f26c]
call esi
push str.EntryPoint2
mov dword [0x47f228], eax
push dword [0x47f26c]
call esi
push str.EntryPoint3
mov dword [0x47f230], eax
push dword [0x47f26c]
call esi
push str.EntryPoint4
mov dword [0x47f234], eax
push dword [0x47f26c]
call esi
push str.EntryPoint5
mov dword [0x47f238], eax
push dword [0x47f26c]
call esi
push str.EntryPoint6
mov dword [0x47f23c], eax
push dword [0x47f26c]
call esi
push str.EntryPoint7
mov dword [0x47f240], eax
push dword [0x47f26c]
call esi
push str.EntryPoint8
mov dword [0x47f244], eax
push dword [0x47f26c]
call esi
push str.EntryPoint9
mov dword [0x47f248], eax
push dword [0x47f26c]
call esi
push str.EntryPoint10
mov dword [0x47f24c], eax
push dword [0x47f26c]
call esi
push str.EntryPoint11
mov dword [0x47f250], eax
push dword [0x47f26c]
call esi
push str.EntryPoint12
mov dword [0x47f254], eax
push dword [0x47f26c]
call esi
push str.EntryPoint13
mov dword [0x47f258], eax
push dword [0x47f26c]
call esi
push str.EntryPointCustom
mov dword [0x47f25c], eax
push dword [0x47f26c]
call esi
push str.SystemInformation
mov dword [0x47f260], eax
push dword [0x47f26c]
call esi
push str.OnMessage
mov dword [0x47f264], eax
push dword [0x47f26c]
call esi
test eax, eax
mov dword [0x47f268], eax
je 0x418e53
or byte [0x47e18f], 0x80
push 0x90
mov ecx, edi
call fcn.0041c8fd
cmp byte [0x47f27c], 0
mov esi, eax
jne 0x418fd5
test esi, esi
jle 0x418f68
lea eax, [esi + esi*2]
lea eax, [eax*4 + 4]
push eax
call fcn.00424dd9
test eax, eax
pop ecx
je 0x418eb6
mov dword [eax], esi
lea ebx, [eax + 4]
lea eax, [esi - 1]
mov dword [esp + 0x10], ebx
test eax, eax
jl 0x418eb8
inc eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
call fcn.0041bdc5
add dword [esp + 0x10], 0xc
dec dword [esp + 0x20]
jne 0x418ea0
jmp 0x418eb8
xor ebx, ebx
test ebx, ebx
mov dword [0x47e780], ebx
jne 0x418ed3
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push 0x94
mov ecx, edi
mov dword [0x47e784], esi
call fcn.0041c8fd
test esi, esi
mov ebx, eax
jle 0x418f5f
and dword [esp + 0x10], 0
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x14]
call fcn.0041bdc5
push 4
push ebx
mov ecx, ebp
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
push 0
lea ecx, [esp + 0x18]
call fcn.0041c8fd
mov esi, eax
add ebx, 4
push esi
push ebx
mov ecx, ebp
call fcn.0041cd1e
push eax
lea ecx, [esp + 0x20]
call fcn.0041cac5
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x47e780]
add ecx, eax
add ebx, esi
call fcn.0041bf80
lea ecx, [esp + 0x14]
call fcn.0041befb
add dword [esp + 0x10], 0xc
dec dword [esp + 0x20]
jne 0x418ef4
cmp byte [0x47f27c], 0
jne 0x418fd5
push 0xa0
mov ecx, edi
call fcn.0041c8fd
push eax
mov ecx, 0x47dfb8
mov dword [0x47e60c], eax
call fcn.004153f8
test al, al
jne 0x418f8f
push 0xfffffffffffffff0
jmp 0x4190e0
mov esi, 0x47e700
push 0x42e0c8
mov ecx, esi
call fcn.0041bf12
test byte [0x47e18c], 0x40
mov ecx, 0x47e350
je 0x418fbb
call fcn.0041cd1e
push eax
mov ecx, 0x47e90c
jmp 0x418fc6
call fcn.0041cd1e
push eax
mov ecx, 0x47e900
call fcn.0041cd1e
push eax
push esi
call fcn.0041c467
add esp, 0xc
mov ebx, 0xa8
mov ecx, edi
push ebx
call fcn.0041c8fd
test eax, eax
je 0x4190de
test byte [0x47e192], 2
jne 0x4190de
push 0x104
call fcn.00424dd9
mov esi, eax
pop ecx
test esi, esi
jne 0x419019
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push str..EXE
push esi
call fcn.0041dbff
pop ecx
pop ecx
push esi
mov ecx, 0x47e788
call fcn.0041bf12
push 1
pop eax
mov dword [0x47f21c], eax
mov dword [0x47e290], eax
mov eax, dword [0x47f28c]
test eax, eax
je 0x41904e
push eax
call fcn.00424dce
pop ecx
push 4
call fcn.00424dd9
test eax, eax
pop ecx
mov dword [0x47f28c], eax
jne 0x419070
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
push 0xac
mov ecx, edi
call fcn.0041c8fd
mov edx, eax
push ebx
mov ecx, edi
mov dword [esp + 0x30], edx
call fcn.0041c8fd
mov ecx, dword [esp + 0x2c]
push 0xa8
add ecx, eax
mov eax, dword [0x47f28c]
mov dword [eax], ecx
mov ecx, edi
call fcn.0041c8fd
push eax
push 0xac
mov ecx, edi
call fcn.0041c8fd
push eax
push esi
mov ecx, ebp
call fcn.0041cd1e
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
push esi
je 0x4190d8
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call fcn.00424dce
pop ecx
push 0xfffffffffffffff1
jmp 0x4190e0
call fcn.00424dce
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret