Function at 0x100090a0
Capabilities:
Delete file
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x424
cmp byte [0x1008dfd0], 0
push ebx
push esi
push edi
je 0x10009441
push 0x124
lea eax, [esp + 0x30c]
push 0
push eax
call fcn.10020640
add esp, 0xc
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1008dfd0]
lea ecx, [ecx + 1]
mov byte [esp + ecx + 0x307], al
test al, al
jne 0x100090e0
lea ecx, [esp + 0x308]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10009100
mov eax, dword [str.plugins.dat]
push 0
push 0x80
mov dword [ecx], eax
mov eax, dword [0x10086c48]
push 4
push 0
mov dword [ecx + 4], eax
mov eax, dword [0x10086c4c]
push 0
mov dword [ecx + 8], eax
lea eax, [esp + 0x31c]
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov dword [esp + 0x34], edi
cmp edi, 0xffffffff
je 0x10009441
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [esp + 0x14]
push 0
push eax
push 4
lea eax, [esp + 0x38]
mov byte [esp + 0x33], 0
push eax
push edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
call ebx
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x3c]
push eax
push edi
call ebx
push 0x1000
call fcn.10045341
mov esi, eax
add esp, 4
mov ebx, 8
test esi, esi
je 0x100091c2
mov eax, dword [esp + 0x2c]
or ecx, 0xffffffff
mov dword [esi], eax
test esi, esi
mov eax, 4
cmovne ecx, eax
jmp 0x100091e0
push 0x1000
call fcn.10045341
mov esi, eax
or ecx, 0xffffffff
add esp, 4
mov eax, 4
test esi, esi
cmovne ecx, eax
je 0x100091e7
mov eax, dword [esp + 0x30]
mov dword [esi + ecx], eax
cmp dword [esp + 0x2c], 0x50565354
jne 0x1000942d
cmp dword [esp + 0x30], 0x5208
jl 0x1000942d
push 0
lea eax, [esp + 0x18]
mov dword [esp + 0x14], 0
push eax
push 2
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [esp + 0x14], 2
jne 0x100093ca
nop dword [eax + eax]
mov eax, dword [esp + 0x10]
test ax, ax
jle 0x100093d1
xor eax, eax
mov dword [esp + 0x240], 0
push 0x208
push eax
mov word [esp + 0x24c], ax
lea eax, [esp + 0x40]
push eax
call fcn.10020640
add esp, 0xc
lea eax, [esp + 0x14]
push 0
push eax
mov eax, dword [esp + 0x18]
cwde
push eax
lea eax, [esp + 0x44]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x24c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x250]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x244]
and eax, 0x1fff
cmp eax, 0x80
ja 0x10009448
je 0x100092e2
cmp eax, 4
je 0x1000961f
cmp eax, 8
je 0x1000961f
cmp eax, 0x40
jne 0x1000945e
push 0x60
lea eax, [esp + 0x2ac]
mov dword [esp + 0x20], 0
push 0
push eax
call fcn.10020640
add esp, 0xc
lea eax, [esp + 0x14]
push 0
push eax
push 2
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x18]
push eax
lea eax, [esp + 0x2b4]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x28]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub dword [esp + 0x1c], 1
js 0x1000939d
nop dword [eax + eax]
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x18]
push eax
lea eax, [esp + 0x44]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x24c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub dword [esp + 0x1c], 1
jns 0x10009350
mov byte [esp + 0x27], 1
push 0
lea eax, [esp + 0x18]
mov dword [esp + 0x14], 0
push eax
push 2
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [esp + 0x14], 2
je 0x10009230
mov eax, dword [esp + 0x10]
test ax, ax
jne 0x100093da
cmp byte [esp + 0x27], 0
je 0x1000942d
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x308]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea eax, [esp + 0x320]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x1000942d
push 0
lea eax, [esp + 0x18]
push eax
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x10009441
push esi
call fcn.1004531b
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x100
je 0x100092e2
cmp eax, 0x400
je 0x1000961f
lea eax, [ebx + 2]
mov dword [esp + 0x1c], eax
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, ebx
lea edx, [ebx + 2]
sar ecx, 0xc
mov dword [esp + 0x18], edx
inc ecx
cdq
and edx, 0xfff
shl ecx, 0xc
add eax, edx
mov dword [esp + 0x20], ecx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp ecx, eax
jg 0x100095ca
test esi, esi
jne 0x100094ae
push ecx
call fcn.10045341
add esp, 4
mov ecx, dword [esp + 0x20]
mov esi, eax
or edx, 0xffffffff
test esi, esi
cmovne edx, ebx
test edx, edx
js 0x100094c3
mov ax, word [esp + 0x10]
mov word [edx + esi], ax
movsx ebx, word [esp + 0x10]
test ebx, ebx
jle 0x1000951c
mov eax, dword [esp + 0x1c]
add eax, ebx
mov dword [esp + 0x18], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, ecx
jg 0x100095e1
test esi, esi
jne 0x100094fd
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x1c]
test eax, eax
js 0x1000951c
push ebx
lea ecx, [esp + 0x3c]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov ebx, dword [esp + 0x18]
lea eax, [ebx + 4]
mov dword [esp + 0x20], eax
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, ebx
cdq
and edx, 0xfff
sar ecx, 0xc
add eax, edx
inc ecx
sar eax, 0xc
inc eax
shl ecx, 0xc
shl eax, 0xc
mov dword [esp + 0x18], ecx
cmp ecx, eax
jg 0x100095f8
test esi, esi
jne 0x10009569
push ecx
call fcn.10045341
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, eax
or edx, 0xffffffff
test esi, esi
cmovne edx, ebx
test edx, edx
js 0x1000957f
mov eax, dword [esp + 0x240]
mov dword [edx + esi], eax
add ebx, 6
mov eax, ebx
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, ecx
jg 0x1000960f
test esi, esi
jne 0x100095a7
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x20]
test ecx, ecx
js 0x100093a2
mov ax, word [esp + 0x244]
mov word [ecx + esi], ax
jmp 0x100093a2
test esi, esi
je 0x1000949f
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x100094a8
test esi, esi
je 0x100094f2
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x100094fb
test esi, esi
je 0x1000955a
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x10009563
test esi, esi
je 0x1000959c
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x100095a5
lea eax, [ebx + 2]
mov dword [esp + 0x1c], eax
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, ebx
lea edx, [ebx + 2]
sar ecx, 0xc
mov dword [esp + 0x20], edx
inc ecx
cdq
and edx, 0xfff
shl ecx, 0xc
add eax, edx
mov dword [esp + 0x18], ecx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp ecx, eax
jg 0x10009a6a
test esi, esi
jne 0x1000966f
push ecx
call fcn.10045341
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, eax
or edx, 0xffffffff
test esi, esi
cmovne edx, ebx
test edx, edx
js 0x10009684
mov ax, word [esp + 0x10]
mov word [esi + edx], ax
movsx ebx, word [esp + 0x10]
test ebx, ebx
jle 0x100096dd
mov eax, dword [esp + 0x1c]
add eax, ebx
mov dword [esp + 0x20], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, ecx
jg 0x10009a81
test esi, esi
jne 0x100096be
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x1c]
test eax, eax
js 0x100096dd
push ebx
lea ecx, [esp + 0x3c]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 4]
mov dword [esp + 0x1c], eax
cdq
and edx, 0xfff
lea ebx, [edx + eax]
mov eax, ecx
cdq
and edx, 0xfff
sar ebx, 0xc
add eax, edx
inc ebx
sar eax, 0xc
inc eax
shl ebx, 0xc
shl eax, 0xc
cmp ebx, eax
jg 0x10009a98
test esi, esi
jne 0x10009722
push ebx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x20]
test ecx, ecx
js 0x1000973a
mov eax, dword [esp + 0x240]
mov dword [esi + ecx], eax
mov eax, dword [esp + 0x1c]
add eax, 2
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
mov dword [esp + 0x18], eax
cmp eax, ebx
jg 0x10009aaf
test esi, esi
jne 0x1000976c
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x1c]
test ecx, ecx
js 0x10009786
mov ax, word [esp + 0x244]
mov word [esi + ecx], ax
push 0x60
lea eax, [esp + 0x24c]
mov dword [esp + 0x2c], 0
push 0
push eax
call fcn.10020640
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [esp + 0x20]
add esp, 0xc
push 0
push eax
push 2
lea eax, [esp + 0x1c]
push eax
push edi
call ebx
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x18]
push eax
lea eax, [esp + 0x254]
push eax
push edi
call ebx
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x34]
push eax
push edi
call ebx
mov ecx, dword [esp + 0x1c]
add ecx, 4
mov eax, ecx
mov dword [esp + 0x20], ecx
cdq
and edx, 0xfff
lea ebx, [edx + eax]
sar ebx, 0xc
inc ebx
shl ebx, 0xc
cmp ebx, dword [esp + 0x18]
jg 0x10009ac6
test esi, esi
jne 0x10009819
push ebx
call fcn.10045341
add esp, 4
mov esi, eax
mov edx, dword [esp + 0x1c]
or ecx, 0xffffffff
test esi, esi
lea eax, [edx + 2]
cmovne ecx, eax
test ecx, ecx
js 0x10009835
mov ax, word [esp + 0x10]
mov word [esi + ecx], ax
movsx ecx, word [esp + 0x10]
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x1000989d
lea eax, [edx + 4]
add eax, ecx
mov dword [esp + 0x20], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, ebx
jg 0x10009add
test esi, esi
jne 0x10009876
push eax
call fcn.10045341
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, eax
mov edx, dword [esp + 0x1c]
or eax, 0xffffffff
test esi, esi
lea edx, [edx + 4]
cmovne eax, edx
test eax, eax
js 0x1000989d
push ecx
lea ecx, [esp + 0x24c]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov ebx, dword [esp + 0x20]
add ebx, 4
mov eax, ebx
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, dword [esp + 0x20]
cdq
and edx, 0xfff
sar ecx, 0xc
add eax, edx
inc ecx
sar eax, 0xc
inc eax
shl ecx, 0xc
shl eax, 0xc
cmp ecx, eax
jg 0x10009af4
test esi, esi
jne 0x100098e2
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x20]
test ecx, ecx
js 0x100098f7
mov eax, dword [esp + 0x28]
mov dword [ecx + esi], eax
sub dword [esp + 0x28], 1
js 0x100093a2
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x18]
push eax
lea eax, [esp + 0x44]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x24c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea ecx, [ebx + 2]
mov eax, ecx
mov dword [esp + 0x18], ecx
cdq
and edx, 0xfff
mov dword [esp + 0x20], ecx
lea edi, [edx + eax]
mov eax, ebx
cdq
and edx, 0xfff
sar edi, 0xc
add eax, edx
inc edi
sar eax, 0xc
inc eax
shl edi, 0xc
shl eax, 0xc
cmp edi, eax
jg 0x10009b0b
test esi, esi
jne 0x1000998f
push edi
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, ebx
test ecx, ecx
js 0x100099a4
mov ax, word [esp + 0x10]
mov word [esi + ecx], ax
movsx ebx, word [esp + 0x10]
test ebx, ebx
jle 0x100099fd
mov eax, dword [esp + 0x18]
add eax, ebx
mov dword [esp + 0x20], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, edi
jg 0x10009b22
test esi, esi
jne 0x100099de
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x18]
test eax, eax
js 0x100099fd
push ebx
lea ecx, [esp + 0x3c]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov edi, dword [esp + 0x20]
lea ebx, [edi + 4]
mov eax, ebx
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, edi
cdq
and edx, 0xfff
sar ecx, 0xc
add eax, edx
inc ecx
sar eax, 0xc
inc eax
shl ecx, 0xc
shl eax, 0xc
cmp ecx, eax
jg 0x10009b39
test esi, esi
jne 0x10009a40
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, edi
test ecx, ecx
js 0x10009a56
mov eax, dword [esp + 0x240]
mov dword [esi + ecx], eax
sub dword [esp + 0x28], 1
mov edi, dword [esp + 0x34]
jns 0x10009902
jmp 0x100093a2
test esi, esi
je 0x10009660
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x10009669
test esi, esi
je 0x100096b3
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x100096bc
test esi, esi
je 0x10009717
push ebx
push esi
call fcn.10045336
add esp, 8
jmp 0x10009720
test esi, esi
je 0x10009761
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000976a
test esi, esi
je 0x1000980e
push ebx
push esi
call fcn.10045336
add esp, 8
jmp 0x10009817
test esi, esi
je 0x10009867
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x10009870
test esi, esi
je 0x100098d7
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x100098e0
test esi, esi
je 0x10009984
push edi
push esi
call fcn.10045336
add esp, 8
jmp 0x1000998d
test esi, esi
je 0x100099d3
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x100099dc
test esi, esi
je 0x10009a35
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x10009a3e