Function at 0x10002ba0
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10068bbe
mov eax, dword fs:[0]
push eax
sub esp, 0x3d4
mov eax, dword [0x10089430]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov dword [ebp - 0x3c8], ebx
cmp dword [ecx + 0x14], 0x10
mov eax, dword [ebp + 8]
mov dword [ebp - 0x390], eax
jb 0x10002be7
mov ecx, dword [ecx]
sub esp, 8
call fcn.10007d00
mov esi, eax
add esp, 8
test esi, esi
jne 0x10002bff
xor al, al
jmp 0x1000333b
mov dword [ebp - 0x22c], 0xf
mov dword [ebp - 0x230], 0
mov byte [ebp - 0x240], 0
lea eax, [ebp - 0x210]
mov dword [ebp - 4], 0
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x10002d00
lea ecx, [ebp - 0x210]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002c44
sub ecx, edx
cmp byte [ebp + ecx - 0x211], 0x5c
jne 0x10002c67
dec ecx
cmp ecx, 0x200
jae 0x10002c74
mov byte [ebp + ecx - 0x210], al
cmp byte [ebp - 0x210], 0
jne 0x10002c79
xor ecx, ecx
jmp 0x10002c8b
call fcn.1004a250
lea ecx, [ebp - 0x210]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002c82
sub ecx, edx
push ecx
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x240]
call fcn.100027a0
lea ecx, [ebp - 0x240]
call fcn.1000bae0
test eax, eax
jne 0x10002dbb
lea ecx, [ebp - 0x3c0]
call fcn.1000a9a0
push str.tempUnCompress
push eax
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 1
push eax
call fcn.100033e0
add esp, 0xc
lea ecx, [ebp - 0x240]
push eax
call fcn.10001500
lea ecx, [ebp - 0x3e0]
call fcn.10002910
lea ecx, [ebp - 0x3c0]
mov byte [ebp - 4], 0
call fcn.10002910
jmp 0x10002dbb
lea ecx, [ebp - 0x3c0]
call fcn.1000a9a0
push str.tempUnCompress
push eax
lea eax, [ebp - 0x3a8]
mov byte [ebp - 4], 2
push eax
call fcn.100033e0
mov edi, eax
add esp, 0xc
lea eax, [ebp - 0x240]
cmp eax, edi
je 0x10002d6e
cmp dword [ebp - 0x22c], 0x10
jb 0x10002d47
push dword [ebp - 0x240]
call fcn.100498af
add esp, 4
push edi
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x22c], 0xf
mov dword [ebp - 0x230], 0
mov byte [ebp - 0x240], 0
call fcn.100022b0
cmp dword [ebp - 0x394], 0x10
jb 0x10002d85
push dword [ebp - 0x3a8]
call fcn.100498af
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x3ac], 0x10
mov dword [ebp - 0x394], 0xf
mov dword [ebp - 0x398], 0
mov byte [ebp - 0x3a8], 0
jb 0x10002dbb
push dword [ebp - 0x3c0]
call fcn.100498af
add esp, 4
mov dword [ebp - 0x388], 0
mov byte [ebp - 0x384], 0
mov dword [ebp - 0x260], 0
cmp dword [esi], 1
mov byte [ebp - 0x389], 1
je 0x10002e1a
mov dword [0x1008d930], 0x80000
mov bl, byte [ebp - 0x389]
mov ecx, dword [esi]
cmp ecx, 1
sete al
test al, al
je 0x100030f7
cmp ecx, 1
je 0x100030da
mov dword [0x1008d930], 0x80000
jmp 0x1000312c
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x388]
push eax
push 0xffffffffffffffff
call fcn.10007120
mov dword [0x1008d930], eax
xor edi, edi
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x3c4], eax
test eax, eax
jle 0x10002dec
mov dword [ebp - 0x388], 0
mov byte [ebp - 0x384], 0
mov dword [ebp - 0x260], 0
cmp dword [esi], 1
je 0x10002e6e
mov dword [0x1008d930], 0x80000
jmp 0x10002e83
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x388]
push eax
push edi
call fcn.10007120
mov dword [0x1008d930], eax
push 0x1007ab08
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x3c0]
call fcn.10003480
add esp, 4
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 3
push ecx
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.100033e0
add esp, 0xc
mov byte [ebp - 4], 5
cmp dword [ebp - 0x3ac], 0x10
jb 0x10002ed2
push dword [ebp - 0x3c0]
call fcn.100498af
add esp, 4
mov ecx, dword [ebp - 0x244]
lea eax, [ebp - 0x258]
mov edx, dword [ebp - 0x258]
cmp ecx, 0x10
mov dword [ebp - 0x3ac], 0xf
cmovae eax, edx
mov dword [ebp - 0x3b0], 0
cmp dword [esi], 1
mov byte [ebp - 0x3c0], 0
jne 0x10003092
mov ecx, dword [esi + 4]
sub esp, 8
push eax
push edi
call fcn.10007960
mov dword [0x1008d930], eax
test eax, eax
jne 0x10003084
push 0x1007ab08
mov edx, ebx
lea ecx, [ebp - 0x3e0]
call fcn.10003480
add esp, 4
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 6
push ecx
push eax
lea eax, [ebp - 0x3a8]
push eax
call fcn.100033e0
add esp, 0xc
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0x10
jb 0x10002f64
mov eax, dword [eax]
cmp dword [ebp - 0x244], 0x10
lea ecx, [ebp - 0x258]
mov edx, eax
cmovae ecx, dword [ebp - 0x258]
call fcn.10002ae0
test eax, eax
sete bl
cmp dword [ebp - 0x394], 0x10
jb 0x10002f9b
push dword [ebp - 0x3a8]
call fcn.100498af
add esp, 4
mov byte [ebp - 4], 5
cmp dword [ebp - 0x3cc], 0x10
mov dword [ebp - 0x394], 0xf
mov dword [ebp - 0x398], 0
mov byte [ebp - 0x3a8], 0
jb 0x10002fd1
push dword [ebp - 0x3e0]
call fcn.100498af
add esp, 4
test bl, bl
jne 0x100030af
mov dword [ebp - 0x394], 0xf
mov dword [ebp - 0x398], 0
mov byte [ebp - 0x3a8], bl
cmp byte [ebp - 0x384], bl
jne 0x10002fff
xor ecx, ecx
jmp 0x10003011
lea ecx, [ebp - 0x384]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003008
sub ecx, edx
push ecx
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0x3a8]
call fcn.100027a0
mov ecx, dword [ebp - 0x390]
lea eax, [ebp - 0x3a8]
push eax
mov byte [ebp - 4], 8
call fcn.10003360
cmp dword [ebp - 0x394], 0x10
jb 0x10003051
push dword [ebp - 0x3a8]
call fcn.100498af
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x244], 0x10
jb 0x1000306c
push dword [ebp - 0x258]
call fcn.100498af
add esp, 4
inc edi
cmp edi, dword [ebp - 0x3c4]
jge 0x10002dec
mov ebx, dword [ebp - 0x3c8]
jmp 0x10002e42
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x258]
jmp 0x1000309c
mov dword [0x1008d930], 0x80000
cmp ecx, 0x10
lea eax, [ebp - 0x258]
cmovae eax, edx
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor bl, bl
mov byte [ebp - 4], bl
cmp dword [ebp - 0x244], 0x10
mov byte [ebp - 0x389], bl
jb 0x10002df2
push dword [ebp - 0x258]
call fcn.100498af
add esp, 4
jmp 0x10002df2
mov edi, dword [esi + 4]
mov ecx, edi
call fcn.10007ca0
mov dword [0x1008d930], eax
test edi, edi
je 0x10003123
push ecx
mov ecx, edi
call fcn.10007de0
jmp 0x10003123
cmp ecx, 2
je 0x10003108
mov dword [0x1008d934], 0x80000
jmp 0x1000312c
mov edi, dword [esi + 4]
mov ecx, edi
call fcn.100085a0
mov dword [0x1008d934], eax
test edi, edi
je 0x10003123
push ecx
mov ecx, edi
call fcn.100086e0
push esi
call fcn.100498af
add esp, 4
test bl, bl
je 0x10003322
mov dword [ebp - 0x214], 0xf
mov dword [ebp - 0x218], 0
mov byte [ebp - 0x228], 0
mov esi, dword [ebp - 0x390]
mov eax, 0x2aaaaaab
mov byte [ebp - 4], 9
xor ebx, ebx
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1000331c
xor edi, edi
lea esp, [esp]
push 0x1007ab08
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x3e0]
call fcn.10003480
add esp, 4
mov byte [ebp - 4], 0xa
mov ecx, dword [esi]
add ecx, edi
push ecx
push eax
lea eax, [ebp - 0x3c0]
push eax
call fcn.10003570
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x228]
cmp eax, esi
je 0x10003244
cmp dword [ebp - 0x214], 0x10
jb 0x100031d9
push dword [ebp - 0x228]
call fcn.100498af
add esp, 4
mov dword [ebp - 0x214], 0xf
mov dword [ebp - 0x218], 0
mov byte [ebp - 0x228], 0
cmp dword [esi + 0x14], 0x10
jae 0x10003213
mov eax, dword [esi + 0x10]
inc eax
je 0x10003221
push eax
lea eax, [ebp - 0x228]
push esi
push eax
call fcn.10049920
add esp, 0xc
jmp 0x10003221
mov eax, dword [esi]
mov dword [ebp - 0x228], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x218], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x214], eax
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
cmp dword [ebp - 0x3ac], 0x10
jb 0x1000325b
push dword [ebp - 0x3c0]
call fcn.100498af
add esp, 4
mov byte [ebp - 4], 9
cmp dword [ebp - 0x3cc], 0x10
mov dword [ebp - 0x3ac], 0xf
mov dword [ebp - 0x3b0], 0
mov byte [ebp - 0x3c0], 0
jb 0x10003291
push dword [ebp - 0x3e0]
call fcn.100498af
add esp, 4
cmp dword [ebp - 0x214], 0x10
lea eax, [ebp - 0x228]
cmovae eax, dword [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x100032dd
test al, 0x10
je 0x100032c2
lea ecx, [ebp - 0x228]
call fcn.1000bf20
jmp 0x100032dd
cmp dword [ebp - 0x214], 0x10
lea eax, [ebp - 0x228]
cmovae eax, dword [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [ebp - 0x390]
mov eax, 0x2aaaaaab
inc ebx
add edi, 0x18
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10003180
cmp dword [ebp - 0x214], 0x10
jb 0x1000331c
push dword [ebp - 0x228]
call fcn.100498af
add esp, 4
mov bl, byte [ebp - 0x389]
cmp dword [ebp - 0x22c], 0x10
jb 0x10003339
push dword [ebp - 0x240]
call fcn.100498af
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100498b4
mov esp, ebp
pop ebp
ret