Function at 0x4173a9
Capabilities:
Delete file
Link many functions at runtime
Read file on windows

Disassembly:
sub esp, 0x24
mov al, byte [0x47a0c0]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], ecx
test al, 0x10
mov ebx, 0x47a560
mov edi, 0x47a1f8
je 0x417433
test al, 0x20
je 0x417433
push 0x4c
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x417433
push 0x4c
mov ecx, edi
call fcn.0041a7a5
push eax
push 0x48
mov ecx, edi
call fcn.0041a7a5
push eax
mov ecx, ebx
call fcn.0041ab9e
mov esi, 0x47a450
push eax
mov ecx, esi
call fcn.0041a96d
test eax, eax
jl 0x417e3e
mov ecx, esi
call fcn.0041a17f
test al, al
jne 0x417433
push 0
mov ecx, 0x47aa84
call fcn.0041ab9e
push eax
push 0
mov ecx, 0x479ee8
call fcn.0041916b
push 0xfffffffffffffff5
jmp 0x417fa3
cmp byte [0x47b0a0], 0
jne 0x417772
push 0x10
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x41750a
push 0x14
mov ecx, edi
call fcn.0041a7a5
push 0x10
mov ecx, edi
mov esi, eax
call fcn.0041a7a5
test eax, eax
jle 0x41750a
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x28]
call fcn.00419c64
push 4
push esi
mov ecx, ebx
call fcn.0041ab9e
push eax
lea ecx, [esp + 0x34]
call fcn.0041a96d
push 0xc
call fcn.0042200e
test eax, eax
pop ecx
je 0x4174a5
mov ecx, eax
call fcn.00419c64
mov ebp, eax
jmp 0x4174a7
xor ebp, ebp
test ebp, ebp
jne 0x4174bc
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push 0
lea ecx, [esp + 0x2c]
call fcn.0041a7a5
push eax
lea eax, [esi + 4]
push eax
mov ecx, ebx
call fcn.0041ab9e
push eax
mov ecx, ebp
call fcn.0041a96d
push 0
lea ecx, [esp + 0x2c]
call fcn.0041a7a5
push 0xffffffffffffffff
push ebp
mov ecx, 0x47a3f4
lea esi, [esi + eax + 4]
call fcn.0041c478
lea ecx, [esp + 0x28]
call fcn.00419d9a
dec dword [esp + 0x20]
jne 0x417471
cmp byte [0x47b0a0], 0
jne 0x417772
push 0x18
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x4175aa
push 0x1c
mov ecx, edi
call fcn.0041a7a5
push 0x18
mov ecx, edi
mov esi, eax
call fcn.0041a7a5
test eax, eax
jle 0x4175aa
mov ebp, eax
lea ecx, [esp + 0x28]
call fcn.00419c64
push 4
push esi
mov ecx, ebx
call fcn.0041ab9e
push eax
lea ecx, [esp + 0x34]
call fcn.0041a96d
push 0
lea ecx, [esp + 0x2c]
add esi, 4
call fcn.0041a7a5
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
push 0xffffffffffffffff
shr edx, 0x10
or ecx, edx
mov edx, eax
and edx, 0xff00
shl eax, 0x10
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
push ecx
mov ecx, 0x47a41c
call fcn.0041c478
lea ecx, [esp + 0x28]
call fcn.00419d9a
dec ebp
jne 0x417542
cmp byte [0x47b0a0], 0
jne 0x417772
push 0x20
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x417738
push 0x24
mov ecx, edi
call fcn.0041a7a5
push 0x20
mov ecx, edi
mov esi, eax
call fcn.0041a7a5
and dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
test eax, eax
jle 0x417738
push 0x10
call fcn.0042200e
mov ebp, eax
pop ecx
test ebp, ebp
je 0x417605
lea ecx, [ebp + 4]
call fcn.00419c64
jmp 0x417607
xor ebp, ebp
lea ecx, [esp + 0x28]
call fcn.00419c64
mov ebx, 0x47a560
push 4
push esi
mov ecx, ebx
call fcn.0041ab9e
push eax
lea ecx, [esp + 0x34]
call fcn.0041a96d
push 0
lea ecx, [esp + 0x2c]
add esi, 4
call fcn.0041a7a5
push 4
push esi
mov ecx, ebx
mov dword [ebp], eax
call fcn.0041ab9e
push eax
lea ecx, [esp + 0x34]
call fcn.0041a96d
push 0x104
add esi, 4
call fcn.0042200e
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x417673
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push str..bmp
push ebx
call fcn.0041ba38
pop ecx
pop ecx
lea ecx, [ebp + 4]
push ebx
call fcn.00419db1
push ebx
call fcn.0042201c
pop ecx
push 0
lea ecx, [esp + 0x2c]
call fcn.0041a7a5
push 1
mov ebx, eax
pop eax
mov dword [esp + 0x20], ebx
mov dword [0x47b044], eax
mov dword [0x47a19c], eax
mov eax, dword [0x47b0b0]
test eax, eax
je 0x4176be
push eax
call fcn.0042201c
pop ecx
push 4
call fcn.0042200e
test eax, eax
pop ecx
mov dword [0x47b0b0], eax
jne 0x4176e5
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
mov eax, dword [0x47b0b0]
pop ecx
push dword [esp + 0x20]
add ebx, esi
lea ecx, [ebp + 4]
mov dword [eax], ebx
push esi
call fcn.0041ab9e
push eax
mov ecx, 0x47a560
call fcn.0041ab9e
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
jne 0x417762
push 0xffffffffffffffff
push ebp
mov ecx, 0x47a408
mov esi, ebx
call fcn.0041c478
lea ecx, [esp + 0x28]
call fcn.00419d9a
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x18]
jl 0x4175ed
cmp byte [0x47b0a0], 0
jne 0x417772
push 0x28
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x417772
mov ecx, dword [esp + 0x14]
call fcn.0041822f
test al, al
jne 0x417772
push 0xffffffffffffffd3
jmp 0x417fa3
lea ecx, [esp + 0x28]
call fcn.00419d9a
push 0xffffffffffffffd6
jmp 0x417fa3
push 0x5c
mov ecx, edi
call fcn.0041a7a5
test eax, eax
mov ebx, 0x47a758
mov ebp, 0x104
je 0x4177df
push ebp
call fcn.0042200e
mov esi, eax
pop ecx
test esi, esi
jne 0x4177a7
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push 0x60
push esi
mov ecx, ebx
call fcn.00411361
test al, al
jne 0x4177ba
or edi, 0xffffffff
jmp 0x417839
push esi
mov ecx, 0x479eb4
call fcn.00419db1
push esi
mov ecx, 0x47a5a8
call fcn.0041c2a7
test al, al
jne 0x4177d8
push 0xfffffffffffffffe
jmp 0x417838
push esi
call fcn.0042201c
pop ecx
push 0x50
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x41784e
push ebp
call fcn.0042200e
mov esi, eax
pop ecx
test esi, esi
jne 0x41780a
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push 0x54
push esi
mov ecx, ebx
call fcn.00411361
test al, al
jne 0x41781c
push 0xfffffffffffffffd
jmp 0x417838
push esi
mov ecx, 0x479ea8
call fcn.00419db1
push esi
mov ecx, 0x47a1d8
call fcn.00419bf4
test al, al
jne 0x417847
push 0xfffffffffffffffc
pop edi
push esi
call fcn.0042201c
pop ecx
mov eax, edi
jmp 0x417fa4
push esi
call fcn.0042201c
pop ecx
cmp byte [0x47b0a0], 0
jne 0x4179d7
push 0x80
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x417943
mov ebx, 0x84
mov ecx, edi
push ebx
call fcn.0041a7a5
push eax
mov ecx, 0x47b030
call fcn.0040f526
cmp eax, 2
jne 0x417943
push ebp
call fcn.0042200e
mov esi, eax
pop ecx
test esi, esi
jne 0x4178ae
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push str..jpg
push esi
call fcn.0041ba38
pop ecx
pop ecx
push 0
push 0x88
mov ecx, edi
call fcn.0041a7a5
push eax
push ebx
mov ecx, edi
call fcn.0041a7a5
push eax
push esi
mov ecx, 0x47a758
call fcn.0040ff0e
test al, al
jne 0x4178f0
push esi
call fcn.0042201c
pop ecx
push 0xfffffffffffffffb
jmp 0x417fa3
push ebp
call fcn.0042200e
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x41790e
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push str..bmp
push ebx
call fcn.0041ba38
pop ecx
pop ecx
push ebx
push esi
call dword [0x47a1e0]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
mov ecx, 0x479ecc
call fcn.00419db1
push esi
call fcn.0042201c
push ebx
call fcn.0042201c
pop ecx
pop ecx
cmp byte [0x47b0a0], 0
jne 0x4179d7
push 0x74
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x4179d7
push ebp
call fcn.0042200e
mov esi, eax
pop ecx
test esi, esi
jne 0x41797b
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push str..mp3
push esi
call fcn.0041ba38
pop ecx
pop ecx
push 0
push 0x7c
mov ecx, edi
call fcn.0041a7a5
push eax
push 0x78
mov ecx, edi
call fcn.0041a7a5
push eax
push esi
mov ecx, 0x47a758
call fcn.0040ff0e
test al, al
push esi
jne 0x4179bb
call fcn.0042201c
pop ecx
push 0xfffffffffffffffa
jmp 0x417fa3
mov ecx, 0x47a5f0
call fcn.00419db1
push esi
mov ecx, 0x479ed8
call fcn.00419db1
push esi
call fcn.0042201c
pop ecx
push 0x68
mov ecx, edi
call fcn.0041a7a5
test eax, eax
je 0x417bad
push ebp
call fcn.0042200e
mov esi, eax
pop ecx
test esi, esi
jne 0x417a06
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push 0x6c
push esi
mov ecx, 0x47a758
call fcn.00411361
test al, al
push esi
jne 0x417a25
call fcn.0042201c
pop ecx
push 0xfffffffffffffff9
jmp 0x417fa3
mov ecx, 0x479ec0
call fcn.00419db1
push esi
mov ecx, 0x47b094
call fcn.00419db1
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
mov dword [0x47b090], eax
call fcn.0042201c
mov eax, dword [0x47b090]
pop ecx
test eax, eax
jne 0x417a5d
push 0xfffffffffffffff8
jmp 0x417fa3
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.AdvancedEntry
push eax
call esi
push str.EntryPoint0
mov dword [0x47b048], eax
push dword [0x47b090]
call esi
push str.EntryPoint1
mov dword [0x47b04c], eax
push dword [0x47b090]
call esi
push str.EntryPoint1_5
mov dword [0x47b054], eax
push dword [0x47b090]
call esi
push str.EntryPoint2
mov dword [0x47b050], eax
push dword [0x47b090]
call esi
push str.EntryPoint3
mov dword [0x47b058], eax
push dword [0x47b090]
call esi
push str.EntryPoint4
mov dword [0x47b05c], eax
push dword [0x47b090]
call esi
push str.EntryPoint5
mov dword [0x47b060], eax
push dword [0x47b090]
call esi
push str.EntryPoint6
mov dword [0x47b064], eax
push dword [0x47b090]
call esi
push str.EntryPoint7
mov dword [0x47b068], eax
push dword [0x47b090]
call esi
push str.EntryPoint8
mov dword [0x47b06c], eax
push dword [0x47b090]
call esi
push str.EntryPoint9
mov dword [0x47b070], eax
push dword [0x47b090]
call esi
push str.EntryPoint10
mov dword [0x47b074], eax
push dword [0x47b090]
call esi
push str.EntryPoint11
mov dword [0x47b078], eax
push dword [0x47b090]
call esi
push str.EntryPoint12
mov dword [0x47b07c], eax
push dword [0x47b090]
call esi
push str.EntryPoint13
mov dword [0x47b080], eax
push dword [0x47b090]
call esi
push str.SystemInformation
mov dword [0x47b084], eax
push dword [0x47b090]
call esi
push str.OnMessage
mov dword [0x47b088], eax
push dword [0x47b090]
call esi
test eax, eax
mov dword [0x47b08c], eax
je 0x417bad
or byte [0x47a0b7], 0x80
push 0x8c
mov ecx, edi
call fcn.0041a7a5
cmp byte [0x47b0a0], 0
mov ebx, eax
jne 0x417e8b
test ebx, ebx
jle 0x417dfc
lea eax, [ebx + ebx*2]
lea eax, [eax*4 + 4]
push eax
call fcn.0042200e
test eax, eax
pop ecx
je 0x417c0a
mov dword [eax], ebx
lea esi, [eax + 4]
lea eax, [ebx - 1]
mov ebp, esi
test eax, eax
jl 0x417c0c
inc eax
mov dword [esp + 0x20], eax
mov ecx, ebp
call fcn.00419c64
add ebp, 0xc
dec dword [esp + 0x20]
jne 0x417bf8
jmp 0x417c0c
xor esi, esi
test esi, esi
mov dword [0x47a618], esi
jne 0x417c27
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
mov eax, ebx
shl eax, 2
push eax
call fcn.0042200e
test eax, eax
pop ecx
mov dword [0x47a61c], eax
jne 0x417c4d
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push 0x90
mov ecx, edi
mov dword [0x47a620], ebx
call fcn.0041a7a5
and dword [esp + 0x20], 0
mov esi, eax
test ebx, ebx
jle 0x417def
and dword [esp + 0x1c], 0
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov ecx, 0x47a560
call fcn.0041ab9e
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
cmp ebp, 0xffffffff
je 0x417e30
push 0
push 0
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [esp + 0x24]
push 0
push eax
lea eax, [esp + 0x20]
push 4
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x18]
push ebp
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
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
mov dword [esp + 0x1c], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esi, 4
mov ecx, 0x47b030
push esi
call fcn.0040f526
cmp eax, 2
push 0x104
sete byte [esp + 0x17]
call fcn.0042200e
mov ebp, eax
pop ecx
test ebp, ebp
jne 0x417d2c
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push str..tmp
push ebp
call fcn.0041ba38
pop ecx
pop ecx
push 0
mov ecx, 0x47a758
push dword [esp + 0x1c]
push esi
push ebp
call fcn.0040ff0e
test al, al
je 0x417e37
cmp byte [esp + 0x13], 0
je 0x417dc0
push 0x104
call fcn.0042200e
test eax, eax
pop ecx
mov dword [esp + 0x14], eax
jne 0x417d7e
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push str..bmp
push dword [esp + 0x18]
call fcn.0041ba38
pop ecx
pop ecx
push dword [esp + 0x14]
push ebp
call dword [0x47a1e0]
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0x47a618]
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x14]
add ecx, eax
call fcn.00419db1
push dword [esp + 0x14]
call fcn.0042201c
pop ecx
jmp 0x417dd1
mov eax, dword [0x47a618]
mov ecx, dword [esp + 0x1c]
push ebp
add ecx, eax
call fcn.00419db1
push ebp
call fcn.0042201c
add esi, dword [esp + 0x1c]
inc dword [esp + 0x24]
add dword [esp + 0x20], 0xc
cmp dword [esp + 0x24], ebx
pop ecx
jl 0x417c73
cmp byte [0x47b0a0], 0
jne 0x417e8b
test byte [0x47a0bc], 1
jne 0x417e8b
push 0x9c
mov ecx, edi
call fcn.0041a7a5
push eax
mov ecx, 0x479ee8
mov dword [0x47a4e0], eax
call fcn.004147bd
test al, al
jne 0x417e45
push 0xfffffffffffffff0
jmp 0x417fa3
push 0xfffffffffffffff7
jmp 0x417fa3
push ebp
call fcn.0042201c
pop ecx
push 0xfffffffffffffff6
jmp 0x417fa3
mov esi, 0x47a598
push 0x429ff8
mov ecx, esi
call fcn.00419db1
test byte [0x47a0b4], 0x40
mov ecx, 0x47a258
je 0x417e71
call fcn.0041ab9e
push eax
mov ecx, 0x47a7e4
jmp 0x417e7c
call fcn.0041ab9e
push eax
mov ecx, 0x47a7d8
call fcn.0041ab9e
push eax
push esi
call fcn.0041a30f
add esp, 0xc
mov ebp, 0xa4
mov ecx, edi
push ebp
call fcn.0041a7a5
test eax, eax
je 0x417fa1
test byte [0x47a0b4], 0x40
jne 0x417fa1
test byte [0x47a0ba], 2
jne 0x417fa1
push 0x104
call fcn.0042200e
mov esi, eax
pop ecx
test esi, esi
jne 0x417edc
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
push str..EXE
push esi
call fcn.0041ba38
pop ecx
pop ecx
push esi
mov ecx, 0x47a660
call fcn.00419db1
push 1
pop eax
mov dword [0x47b044], eax
mov dword [0x47a19c], eax
mov eax, dword [0x47b0b0]
test eax, eax
je 0x417f11
push eax
call fcn.0042201c
pop ecx
push 4
call fcn.0042200e
test eax, eax
pop ecx
mov dword [0x47b0b0], eax
jne 0x417f33
mov ecx, 0x47a7fc
call fcn.0041ab9e
push eax
call fcn.0041b6d2
pop ecx
mov ebx, 0xa8
mov ecx, edi
push ebx
call fcn.0041a7a5
mov edx, eax
push ebp
mov ecx, edi
mov dword [esp + 0x24], edx
call fcn.0041a7a5
mov ecx, dword [esp + 0x20]
push 0xa4
add ecx, eax
mov eax, dword [0x47b0b0]
mov dword [eax], ecx
mov ecx, edi
call fcn.0041a7a5
push eax
push ebx
mov ecx, edi
call fcn.0041a7a5
push eax
push esi
mov ecx, 0x47a560
call fcn.0041ab9e
push eax
call fcn.00401ac0
add esp, 0x10
test eax, eax
push esi
je 0x417f9b
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call fcn.0042201c
pop ecx
push 0xfffffffffffffff1
jmp 0x417fa3
call fcn.0042201c
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret