Function at 0x1008fb0b
Capabilities:
Check if file exists
Delete file
Read file on windows
Write file on windows

Disassembly:
push 0x230
mov eax, 0x10117c58
call fcn.1006051e
mov esi, ecx
mov dword [ebp - 0x22c], esi
push 0x1019253c
lea ecx, [ebp - 0x23c]
call fcn.10002155
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [esi + 8]
sub eax, dword [esi + 4]
sar eax, 2
test eax, eax
je 0x1008ff26
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x224], ebx
push ebx
push eax
call fcn.1003e610
pop ecx
pop ecx
lea eax, [esi + 0x20]
mov edx, 0x104
push eax
push ecx
lea ecx, [ebp - 0x218]
call fcn.10060ad8
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea eax, [ebp - 0x218]
je 0x1008ff41
push 0x1013c6b0
push eax
call fcn.1004e73e
mov dword [ebp - 0x21c], eax
pop ecx
pop ecx
test eax, eax
je 0x1008ff26
mov ecx, ebx
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], esi
push ebx
push ebx
push eax
mov byte [ebp - 4], 1
call fcn.1004f945
push dword [ebp - 0x21c]
lea eax, [ebp - 0x224]
push 4
push 1
push eax
call fcn.100500d3
add esp, 0x1c
cmp eax, 4
jne 0x1008fd4d
mov eax, dword [ebp - 0x224]
cmp eax, 1
je 0x1008fc17
cmp eax, 2
je 0x1008fc17
cmp eax, 3
je 0x1008fc17
cmp eax, 4
jne 0x1008fd4d
push 0x10190228
push 0x2b4
call fcn.10038d70
mov dword [ebp - 0x228], eax
pop ecx
pop ecx
test eax, eax
je 0x1008fc3d
mov ecx, eax
call fcn.100113ae
mov edi, eax
jmp 0x1008fc3f
mov edi, ebx
mov dword [ebp - 0x228], edi
test edi, edi
je 0x1008fd45
push 0x2b4
push ebx
push edi
call fcn.1003e610
add esp, 0xc
xor eax, eax
inc eax
push dword [ebp - 0x21c]
cmp dword [ebp - 0x224], eax
jne 0x1008fc83
push 0x24c
push eax
push edi
call fcn.100500d3
add esp, 0x10
cmp eax, 0x24c
jmp 0x1008fcd5
cmp dword [ebp - 0x224], 2
jne 0x1008fca2
push 0x290
push eax
push edi
call fcn.100500d3
add esp, 0x10
cmp eax, 0x290
jmp 0x1008fcd5
cmp dword [ebp - 0x224], 3
jne 0x1008fcc1
push 0x2a0
push eax
push edi
call fcn.100500d3
add esp, 0x10
cmp eax, 0x2a0
jmp 0x1008fcd5
push 0x2b4
push eax
push edi
call fcn.100500d3
add esp, 0x10
cmp eax, 0x2b4
jne 0x1008fd38
xor eax, eax
mov word [edi + 0x246], ax
mov word [edi + 0x206], ax
mov word [edi + 0x28e], ax
mov eax, dword [ebp - 0x220]
cmp esi, eax
je 0x1008fd0e
mov dword [eax], edi
add eax, 4
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x234], eax
jmp 0x1008fc17
lea ecx, [ebp - 0x228]
push ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.100060f6
mov eax, dword [ebp - 0x234]
mov esi, dword [ebp - 0x230]
mov dword [ebp - 0x220], eax
jmp 0x1008fc17
push 0x2b4
push edi
call fcn.10038d2d
pop ecx
pop ecx
mov edi, dword [ebp - 0x238]
jmp 0x1008fd6c
push dword [ebp - 0x21c]
call fcn.1004eaa2
pop ecx
lea eax, [ebp - 0x218]
mov dword [ebp - 0x21c], ebx
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x1008fd7d
push eax
call fcn.1004eaa2
pop ecx
mov eax, dword [ebp - 0x22c]
mov edx, 0x3e8
push 0x1013be64
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 4]
mov eax, edx
sar ecx, 2
sub eax, ecx
cmp edx, ecx
mov edx, dword [ebp - 0x220]
sbb ecx, ecx
sub edx, edi
not ecx
sar edx, 2
and ecx, eax
mov dword [ebp - 0x220], edx
mov eax, edx
sub eax, ecx
cmp ecx, edx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x218]
push eax
mov dword [ebp - 0x21c], ecx
call fcn.1004e73e
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x228], ecx
test ecx, ecx
jne 0x1008fdf8
test edi, edi
je 0x1008ff26
sub esi, edi
mov ecx, edi
and esi, 0xfffffffc
mov edx, esi
call fcn.10008917
jmp 0x1008ff26
push 4
pop eax
push ecx
push eax
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x224]
push 1
push eax
call fcn.1004e9d4
mov eax, dword [ebp - 0x220]
add esp, 0x10
mov ecx, dword [ebp - 0x21c]
cmp ecx, eax
jae 0x1008fe5b
mov ebx, dword [ebp - 0x228]
mov edx, dword [edi + ecx*4]
test edx, edx
je 0x1008fe4e
push ebx
push 0x2b4
push 1
push edx
call fcn.1004e9d4
mov eax, dword [ebp - 0x220]
add esp, 0x10
mov ecx, dword [ebp - 0x21c]
inc ecx
mov dword [ebp - 0x21c], ecx
cmp ecx, eax
jb 0x1008fe2a
xor ebx, ebx
mov edx, dword [ebp - 0x22c]
mov ecx, dword [edx + 8]
sub ecx, dword [edx + 4]
mov edx, 0x3e8
sar ecx, 2
cmp edx, ecx
sbb edx, edx
lea eax, [ecx - 0x3e8]
and edx, eax
mov dword [ebp - 0x21c], edx
cmp edx, ecx
mov edx, dword [ebp - 0x22c]
jae 0x1008fed1
mov ebx, dword [ebp - 0x21c]
mov ecx, dword [edx + 4]
mov edi, dword [ebp - 0x228]
cmp dword [ecx + ebx*4], 0
je 0x1008feb9
push edi
push 0x2b4
push 1
push dword [ecx + ebx*4]
call fcn.1004e9d4
mov edx, dword [ebp - 0x22c]
add esp, 0x10
mov eax, dword [edx + 8]
inc ebx
mov ecx, dword [edx + 4]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x1008fe9a
mov edi, dword [ebp - 0x238]
xor ebx, ebx
push dword [ebp - 0x228]
call fcn.1004eaa2
mov eax, dword [ebp - 0x220]
pop ecx
test eax, eax
je 0x1008ff07
cmp dword [edi + ebx*4], 0
je 0x1008ff02
push 0x2b4
push dword [edi + ebx*4]
call fcn.10038d2d
mov eax, dword [ebp - 0x220]
pop ecx
pop ecx
inc ebx
cmp ebx, eax
jb 0x1008fee7
test edi, edi
je 0x1008ff19
sub esi, edi
mov ecx, edi
and esi, 0xfffffffc
mov edx, esi
call fcn.10008917
mov esi, dword [ebp - 0x22c]
mov ecx, esi
call fcn.10090044
cmp dword [ebp - 0x23c], 0
je 0x1008ff3b
push dword [ebp - 0x23c]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.100604c8
ret
push 4
pop ebx
push 0x1013be64
push eax
mov dword [ebp - 0x224], ebx
call fcn.1004e73e
mov dword [ebp - 0x228], eax
pop ecx
pop ecx
test eax, eax
je 0x1008ff26
push eax
push ebx
lea eax, [ebp - 0x224]
push 1
push eax
call fcn.1004e9d4
mov ecx, dword [esi + 8]
mov edi, 0x3e8
mov edx, dword [esi + 4]
add esp, 0x10
mov ebx, dword [ebp - 0x228]
sub ecx, edx
sar ecx, 2
cmp edi, ecx
sbb edi, edi
lea eax, [ecx - 0x3e8]
and edi, eax
cmp edi, ecx
jae 0x1008ffc3
cmp dword [edx + edi*4], 0
je 0x1008ffb3
push ebx
push 0x2b4
push 1
push dword [edx + edi*4]
call fcn.1004e9d4
add esp, 0x10
mov eax, dword [esi + 8]
inc edi
mov edx, dword [esi + 4]
sub eax, edx
sar eax, 2
cmp edi, eax
jb 0x1008ff9a
push ebx
call fcn.1004eaa2
pop ecx
jmp 0x1008ff1f