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

Disassembly:
sub esp, 0x124
mov al, byte [0x4812ac]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x20], ecx
test al, 0x10
mov ebp, 0x481858
mov edi, 0x481408
je 0x41aa7b
test al, 0x20
je 0x41aa7b
push 0x4c
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41aa7b
push 0x4c
mov ecx, edi
call fcn.0041f167
push eax
push 0x48
mov ecx, edi
call fcn.0041f167
push eax
mov ecx, ebp
call fcn.0041f593
mov esi, 0x4816c4
push eax
mov ecx, esi
call fcn.0041f32f
test eax, eax
jge 0x41aa50
push 0xfffffffffffffff6
jmp 0x41b627
mov ecx, esi
call fcn.0041eb4a
test al, al
jne 0x41aa7b
push 0
mov ecx, 0x481d24
call fcn.0041f593
push eax
push 0
mov ecx, 0x4810c0
call fcn.0041da57
push 0xfffffffffffffff5
jmp 0x41b627
cmp byte [0x4823f4], 0
jne 0x41ae7b
push 0x10
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41ac08
push 0x14
mov ecx, edi
call fcn.0041f167
push 0x10
mov ecx, edi
mov esi, eax
call fcn.0041f167
test eax, eax
jle 0x41ac08
mov dword [esp + 0x10], eax
push 0x18
call fcn.00427db9
mov ebx, eax
pop ecx
test ebx, ebx
je 0x41aad0
mov ecx, ebx
call fcn.0041e62f
jmp 0x41aad2
xor ebx, ebx
test ebx, ebx
jne 0x41aae7
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
and byte [ebx + 0x11], 0
lea ecx, [esp + 0x14]
call fcn.0041e62f
push 4
push esi
mov ecx, ebp
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
call fcn.0041f167
push eax
lea eax, [esi + 4]
push eax
mov ecx, ebp
call fcn.0041f593
push eax
mov ecx, ebx
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
call fcn.0041f167
lea esi, [esi + eax + 4]
push 4
push esi
mov ecx, ebp
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
call fcn.0041f167
add esi, 4
push 4
push esi
mov ecx, ebp
mov dword [ebx + 0xc], eax
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
call fcn.0041f167
test eax, eax
setne al
add esi, 4
push 4
push esi
mov ecx, ebp
mov byte [ebx + 0x10], al
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
call fcn.0041f167
add esi, 4
push eax
push esi
mov ecx, ebp
mov dword [esp + 0x2c], eax
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
add esi, dword [esp + 0x24]
and dword [esp + 0x28], 0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x14]
push eax
call fcn.0041f593
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [ebx + 0x14]
push eax
mov ecx, dword [esp + 0x30]
call fcn.00418b65
push 0xffffffffffffffff
push ebx
mov ecx, 0x481654
call fcn.004216a5
lea ecx, [esp + 0x14]
call fcn.0041e765
dec dword [esp + 0x10]
jne 0x41aab9
cmp byte [0x4823f4], 0
jne 0x41ae7b
push 0x18
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41aca7
push 0x1c
mov ecx, edi
call fcn.0041f167
push 0x18
mov ecx, edi
mov esi, eax
call fcn.0041f167
test eax, eax
jle 0x41aca7
mov ebx, eax
lea ecx, [esp + 0x14]
call fcn.0041e62f
push 4
push esi
mov ecx, ebp
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
add esi, 4
call fcn.0041f167
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, 0x48167c
call fcn.004216a5
lea ecx, [esp + 0x14]
call fcn.0041e765
dec ebx
jne 0x41ac40
cmp byte [0x4823f4], 0
jne 0x41ae7b
push 0x20
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41ae41
push 0x24
mov ecx, edi
call fcn.0041f167
push 0x20
mov ecx, edi
mov esi, eax
call fcn.0041f167
and dword [esp + 0x10], 0
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x41ae41
push 0x10
call fcn.00427db9
mov ebx, eax
pop ecx
test ebx, ebx
je 0x41ad06
lea ecx, [ebx + 4]
call fcn.0041e62f
mov dword [esp + 0x24], ebx
jmp 0x41ad0b
and dword [esp + 0x24], 0
lea ecx, [esp + 0x14]
call fcn.0041e62f
push 4
mov ecx, ebp
pop ebx
push ebx
push esi
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
add esi, ebx
call fcn.0041f167
mov ecx, dword [esp + 0x24]
push ebx
push esi
mov dword [ecx], eax
mov ecx, ebp
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0x104
add esi, ebx
call fcn.00427db9
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x41ad74
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push str..bmp
push ebx
call fcn.00420582
mov eax, dword [esp + 0x2c]
pop ecx
pop ecx
lea ecx, [eax + 4]
push ebx
call fcn.0041e77c
push ebx
call fcn.00427dae
pop ecx
push 0
lea ecx, [esp + 0x18]
call fcn.0041f167
push 1
mov ebx, eax
pop eax
mov dword [esp + 0x28], ebx
mov dword [0x482394], eax
mov dword [0x4813a8], eax
mov eax, dword [0x482408]
test eax, eax
je 0x41adc3
push eax
call fcn.00427dae
pop ecx
push 4
call fcn.00427db9
test eax, eax
pop ecx
mov dword [0x482408], eax
jne 0x41adea
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
mov eax, dword [0x482408]
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.0041f593
push eax
mov ecx, ebp
call fcn.0041f593
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
jne 0x41ae6b
push 0xffffffffffffffff
mov ecx, 0x481668
push dword [esp + 0x28]
mov esi, ebx
call fcn.004216a5
lea ecx, [esp + 0x14]
call fcn.0041e765
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jl 0x41acea
cmp byte [0x4823f4], 0
jne 0x41ae7b
push 0x28
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41ae7b
mov ecx, dword [esp + 0x20]
call fcn.0041c1ec
test al, al
jne 0x41ae7b
push 0xffffffffffffffd3
jmp 0x41b627
lea ecx, [esp + 0x14]
call fcn.0041e765
push 0xffffffffffffffd6
jmp 0x41b627
push 0x5c
mov ecx, edi
call fcn.0041f167
test eax, eax
mov ebx, 0x481a08
je 0x41aeea
push 0x104
call fcn.00427db9
mov esi, eax
pop ecx
test esi, esi
jne 0x41aeaf
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push 0x60
push esi
mov ecx, ebx
call fcn.004137b7
test al, al
jne 0x41aec5
or edi, 0xffffffff
jmp 0x41af48
push esi
mov ecx, 0x48108c
call fcn.0041e77c
push esi
mov ecx, 0x481878
call fcn.004214d4
test al, al
jne 0x41aee3
push 0xfffffffffffffffe
jmp 0x41af47
push esi
call fcn.00427dae
pop ecx
push 0x50
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41af5d
push 0x104
call fcn.00427db9
mov esi, eax
pop ecx
test esi, esi
jne 0x41af19
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push 0x54
push esi
mov ecx, ebx
call fcn.004137b7
test al, al
jne 0x41af2b
push 0xfffffffffffffffd
jmp 0x41af47
push esi
mov ecx, 0x481080
call fcn.0041e77c
push esi
mov ecx, 0x4813e8
call fcn.0041e5bf
test al, al
jne 0x41af56
push 0xfffffffffffffffc
pop edi
push esi
call fcn.00427dae
pop ecx
mov eax, edi
jmp 0x41b628
push esi
call fcn.00427dae
pop ecx
cmp byte [0x4823f4], 0
jne 0x41b1b1
push 0x80
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41b11c
mov esi, 0x88
mov ecx, edi
push esi
call fcn.0041f167
push eax
mov ecx, 0x482380
call fcn.00411431
cmp eax, 2
jne 0x41b05f
push 0x104
call fcn.00427db9
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x41afc1
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push str..jpg
push ebx
call fcn.00420582
pop ecx
pop ecx
push 0
push 0x8c
mov ecx, edi
call fcn.0041f167
push eax
push esi
mov ecx, edi
call fcn.0041f167
push eax
push ebx
mov ecx, 0x481a08
call fcn.00411fc4
test al, al
jne 0x41b003
push ebx
call fcn.00427dae
pop ecx
push 0xfffffffffffffffb
jmp 0x41b627
push 0x104
call fcn.00427db9
mov esi, eax
pop ecx
test esi, esi
jne 0x41b025
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push str..bmp
push esi
call fcn.00420582
pop ecx
pop ecx
push esi
push ebx
call dword [0x4813f0]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
mov ecx, 0x4810a4
call fcn.0041e77c
push ebx
call fcn.00427dae
push esi
call fcn.00427dae
pop ecx
pop ecx
jmp 0x41b117
push 0x84
mov ecx, edi
call fcn.0041f167
cmp eax, 1
jne 0x41b11c
lea eax, [esp + 0x30]
push str..bmp
push eax
call fcn.00420582
pop ecx
pop ecx
push esi
mov ecx, edi
call fcn.0041f167
push 0x8c
mov ecx, edi
mov esi, eax
call fcn.0041f167
push 1
mov ebx, eax
pop eax
mov dword [0x482394], eax
mov dword [0x4813a8], eax
mov eax, dword [0x482408]
test eax, eax
je 0x41b0ba
push eax
call fcn.00427dae
pop ecx
push 4
call fcn.00427db9
test eax, eax
pop ecx
mov dword [0x482408], eax
jne 0x41b0e1
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
mov eax, dword [0x482408]
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.0041f593
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
je 0x41b108
push 0xffffffffffffffd1
jmp 0x41b627
lea eax, [esp + 0x30]
mov ecx, 0x4810a4
push eax
call fcn.0041e77c
mov ebx, 0x481a08
cmp byte [0x4823f4], 0
jne 0x41b1b1
push 0x74
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41b1b1
push 0x104
call fcn.00427db9
mov esi, eax
pop ecx
test esi, esi
jne 0x41b158
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push str..mp3
push esi
call fcn.00420582
pop ecx
pop ecx
push 0
push 0x7c
mov ecx, edi
call fcn.0041f167
push eax
push 0x78
mov ecx, edi
call fcn.0041f167
push eax
push esi
mov ecx, ebx
call fcn.00411fc4
test al, al
push esi
jne 0x41b195
call fcn.00427dae
pop ecx
push 0xfffffffffffffffa
jmp 0x41b627
mov ecx, 0x4818c0
call fcn.0041e77c
push esi
mov ecx, 0x4810b0
call fcn.0041e77c
push esi
call fcn.00427dae
pop ecx
push 0x68
mov ecx, edi
call fcn.0041f167
test eax, eax
je 0x41b39a
push 0x104
call fcn.00427db9
mov esi, eax
pop ecx
test esi, esi
jne 0x41b1e4
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push 0x6c
push esi
mov ecx, ebx
call fcn.004137b7
test al, al
push esi
jne 0x41b200
call fcn.00427dae
pop ecx
push 0xfffffffffffffff9
jmp 0x41b627
mov ecx, 0x481098
call fcn.0041e77c
push esi
mov ecx, 0x4823e8
call fcn.0041e77c
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
mov dword [0x4823e4], eax
call fcn.00427dae
mov eax, dword [0x4823e4]
pop ecx
test eax, eax
jne 0x41b238
push 0xfffffffffffffff8
jmp 0x41b627
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.AdvancedEntry
push eax
call esi
push str.EntryPoint0
mov dword [0x482398], eax
push dword [0x4823e4]
call esi
push str.EntryPoint1
mov dword [0x48239c], eax
push dword [0x4823e4]
call esi
push str.EntryPoint1_5
mov dword [0x4823a4], eax
push dword [0x4823e4]
call esi
push str.EntryPoint2
mov dword [0x4823a0], eax
push dword [0x4823e4]
call esi
push str.EntryPoint3
mov dword [0x4823a8], eax
push dword [0x4823e4]
call esi
push str.EntryPoint4
mov dword [0x4823ac], eax
push dword [0x4823e4]
call esi
push str.EntryPoint5
mov dword [0x4823b0], eax
push dword [0x4823e4]
call esi
push str.EntryPoint6
mov dword [0x4823b4], eax
push dword [0x4823e4]
call esi
push str.EntryPoint7
mov dword [0x4823b8], eax
push dword [0x4823e4]
call esi
push str.EntryPoint8
mov dword [0x4823bc], eax
push dword [0x4823e4]
call esi
push str.EntryPoint9
mov dword [0x4823c0], eax
push dword [0x4823e4]
call esi
push str.EntryPoint10
mov dword [0x4823c4], eax
push dword [0x4823e4]
call esi
push str.EntryPoint11
mov dword [0x4823c8], eax
push dword [0x4823e4]
call esi
push str.EntryPoint12
mov dword [0x4823cc], eax
push dword [0x4823e4]
call esi
push str.EntryPoint13
mov dword [0x4823d0], eax
push dword [0x4823e4]
call esi
push str.EntryPointCustom
mov dword [0x4823d4], eax
push dword [0x4823e4]
call esi
push str.SystemInformation
mov dword [0x4823d8], eax
push dword [0x4823e4]
call esi
push str.OnMessage
mov dword [0x4823dc], eax
push dword [0x4823e4]
call esi
test eax, eax
mov dword [0x4823e0], eax
je 0x41b39a
or byte [0x4812a7], 0x80
push 0x90
mov ecx, edi
call fcn.0041f167
cmp byte [0x4823f4], 0
mov esi, eax
jne 0x41b51c
test esi, esi
jle 0x41b4af
lea eax, [esi + esi*2]
lea eax, [eax*4 + 4]
push eax
call fcn.00427db9
test eax, eax
pop ecx
je 0x41b3fd
mov dword [eax], esi
lea ebx, [eax + 4]
lea eax, [esi - 1]
mov dword [esp + 0x10], ebx
test eax, eax
jl 0x41b3ff
inc eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
call fcn.0041e62f
add dword [esp + 0x10], 0xc
dec dword [esp + 0x20]
jne 0x41b3e7
jmp 0x41b3ff
xor ebx, ebx
test ebx, ebx
mov dword [0x4818e8], ebx
jne 0x41b41a
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push 0x94
mov ecx, edi
mov dword [0x4818ec], esi
call fcn.0041f167
test esi, esi
mov ebx, eax
jle 0x41b4a6
and dword [esp + 0x10], 0
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x14]
call fcn.0041e62f
push 4
push ebx
mov ecx, ebp
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
push 0
lea ecx, [esp + 0x18]
call fcn.0041f167
mov esi, eax
add ebx, 4
push esi
push ebx
mov ecx, ebp
call fcn.0041f593
push eax
lea ecx, [esp + 0x20]
call fcn.0041f32f
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x4818e8]
add ecx, eax
add ebx, esi
call fcn.0041e7ea
lea ecx, [esp + 0x14]
call fcn.0041e765
add dword [esp + 0x10], 0xc
dec dword [esp + 0x20]
jne 0x41b43b
cmp byte [0x4823f4], 0
jne 0x41b51c
push 0xa0
mov ecx, edi
call fcn.0041f167
push eax
mov ecx, 0x4810c0
mov dword [0x481758], eax
call fcn.004176a9
test al, al
jne 0x41b4d6
push 0xfffffffffffffff0
jmp 0x41b627
mov esi, 0x481868
push 0x4311c8
mov ecx, esi
call fcn.0041e77c
test byte [0x4812a4], 0x40
mov ecx, 0x481474
je 0x41b502
call fcn.0041f593
push eax
mov ecx, 0x481a84
jmp 0x41b50d
call fcn.0041f593
push eax
mov ecx, 0x481a78
call fcn.0041f593
push eax
push esi
call fcn.0041ecd1
add esp, 0xc
mov ebx, 0xa8
mov ecx, edi
push ebx
call fcn.0041f167
test eax, eax
je 0x41b625
test byte [0x4812aa], 2
jne 0x41b625
push 0x104
call fcn.00427db9
mov esi, eax
pop ecx
test esi, esi
jne 0x41b560
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push str..EXE
push esi
call fcn.00420582
pop ecx
pop ecx
push esi
mov ecx, 0x481910
call fcn.0041e77c
push 1
pop eax
mov dword [0x482394], eax
mov dword [0x4813a8], eax
mov eax, dword [0x482408]
test eax, eax
je 0x41b595
push eax
call fcn.00427dae
pop ecx
push 4
call fcn.00427db9
test eax, eax
pop ecx
mov dword [0x482408], eax
jne 0x41b5b7
mov ecx, 0x481a9c
call fcn.0041f593
push eax
call fcn.0042024b
pop ecx
push 0xac
mov ecx, edi
call fcn.0041f167
mov edx, eax
push ebx
mov ecx, edi
mov dword [esp + 0x30], edx
call fcn.0041f167
mov ecx, dword [esp + 0x2c]
push 0xa8
add ecx, eax
mov eax, dword [0x482408]
mov dword [eax], ecx
mov ecx, edi
call fcn.0041f167
push eax
push 0xac
mov ecx, edi
call fcn.0041f167
push eax
push esi
mov ecx, ebp
call fcn.0041f593
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
push esi
je 0x41b61f
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call fcn.00427dae
pop ecx
push 0xfffffffffffffff1
jmp 0x41b627
call fcn.00427dae
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret