Function at 0x102dc58
Capabilities:
Delete file
Write file on windows

Disassembly:
mov eax, 0x107fdc8
call fcn.01068a88
sub esp, 0x40
push ebx
push esi
xor ebx, ebx
push ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x2c]
push eax
call fcn.01045e5f
mov ecx, eax
call fcn.010466f8
push dword [0x1096f9c]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 1
call fcn.0101f92e
add esp, 0xc
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.01012fdc
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.0101292a
push 1
lea ecx, [ebp - 0x3c]
call fcn.0101260e
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0101260e
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jne 0x102dce4
mov eax, 0x1001d48
push ebx
push 0x80
push 2
push ebx
push 2
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x102dd2c
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x102dd17
call esi
mov esi, eax
jmp 0x102de9e
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
jmp 0x102de9e
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, eax
cmp ecx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x102dd40
mov ecx, 0x1001d48
push ebx
lea edx, [ebp - 0x1c]
push edx
push eax
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x102dd83
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x102dd6e
call esi
mov esi, eax
jmp 0x102de8b
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
jmp 0x102de8b
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x1005018
call fcn.01027309
mov edi, eax
cmp edi, ebx
je 0x102de68
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1005008
push edi
call esi
push 0x1004ff8
push edi
mov dword [ebp - 0x14], eax
call esi
push 0x1004fdc
push edi
mov dword [ebp - 0x18], eax
call esi
mov edi, eax
cmp edi, ebx
je 0x102de68
cmp dword [ebp - 0x18], ebx
je 0x102de68
cmp dword [ebp - 0x14], ebx
je 0x102de68
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jne 0x102ddeb
mov eax, 0x1001d48
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call dword [ebp - 0x14]
mov ecx, eax
push ecx
call fcn.0102674a
cmp ecx, ebx
mov esi, eax
jne 0x102de8a
cmp dword [ebp - 0x10], ebx
je 0x102de8a
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x10]
mov dword [ebp - 0x14], ebx
call edi
mov edi, eax
cmp edi, ebx
jne 0x102de4a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x3c]
call fcn.01012a13
mov ecx, dword [ebp + 0x18]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 4
call fcn.0101292a
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.0101260e
cmp edi, 2
jne 0x102de51
xor esi, esi
lea eax, [ebp - 0x10]
push eax
call dword [ebp - 0x18]
cmp dword [ebp - 0x14], ebx
je 0x102de8a
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x102de8a
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x102de7a
call esi
mov esi, eax
jmp 0x102de8a
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
pop edi
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jne 0x102de97
mov eax, 0x1001d48
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 1
lea ecx, [ebp - 0x2c]
call fcn.0101260e
push 1
lea ecx, [ebp + 8]
call fcn.0101260e
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x14