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

Disassembly:
push 0x74
mov eax, 0x1016a27f
call fcn.101673d5
mov ebx, ecx
lea ecx, [ebp - 0x6c]
call fcn.10149ac2
and dword [ebp - 4], 0
mov eax, dword [0x101973c0]
mov esi, 0x101973c0
mov edi, 0x1001b298
cmp eax, esi
je 0x100620f6
test byte [eax + 0x44], 4
je 0x100620f6
push dword [ebx + 8]
mov edx, edi
push dword [eax + 0x3c]
push dword [eax + 0x38]
push 0x3e
pop ecx
call fcn.10149ac2
push 0x1001b62c
push dword [ebx + 0x30]
call dword [sym.imp.WINSPOOL.DRV_DeletePrinterDataW]
push 0x1001b650
push dword [ebx + 0x30]
call dword [sym.imp.WINSPOOL.DRV_DeletePrinterDataW]
cmp byte [ebx + 0x12], 0
jne 0x10062140
mov eax, dword [0x101973c0]
cmp eax, esi
je 0x10062137
test byte [eax + 0x44], 4
je 0x10062137
push dword [eax + 0x3c]
mov edx, edi
push dword [eax + 0x38]
push 0x3f
pop ecx
call fcn.10149ac2
cmp dword [ebp - 0x6c], 0
jmp 0x1006248f
xor edi, edi
mov dword [ebp - 0x7c], 0x10001550
mov dword [ebp - 0x78], edi
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x78]
mov ecx, ebx
push eax
push 6
push edi
push 0x1001b680
call fcn.100642d1
cmp dword [ebp - 0x78], edi
jne 0x10062198
mov eax, dword [0x101973c0]
cmp eax, esi
je 0x1006218e
test byte [eax + 0x44], 4
je 0x1006218e
push dword [eax + 0x3c]
mov edx, 0x1001b298
push dword [eax + 0x38]
push 0x40
pop ecx
call fcn.10149ac2
lea ecx, [ebp - 0x7c]
call fcn.100649ba
jmp 0x10062137
push dword [ebp - 0x78]
xor eax, eax
mov dword [ebp - 0x1c], 7
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], ax
call fcn.10149ac2
and dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
push 0x1001b6cc
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.10149ac2
test eax, eax
jne 0x100621e3
mov eax, 0x100183f8
mov ecx, 0x17f
jmp 0x10062202
push 0x1001b6ec
lea ecx, [ebp - 0x30]
call fcn.10149ac2
test eax, eax
jne 0x1006243d
mov eax, 0x10018578
mov ecx, 0x184
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.10149ac2
push 0x1001b710
lea edx, [ebx + 0x14]
lea ecx, [ebp - 0x4c]
call fcn.10060566
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x10062231
lea eax, [ebp - 0x4c]
push ecx
push 0x8100080
push 2
push ecx
push ecx
push 0x40000000
push eax
call dword [sym.imp.kernel32.dll_CreateFileW]
push eax
lea ecx, [ebp - 0x70]
call fcn.10149ac2
mov esi, dword [ebp - 0x70]
cmp esi, 0xffffffff
jne 0x100622bc
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x10062289
test byte [eax + 0x44], 1
je 0x10062289
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
mov eax, dword [0x101973c0]
mov edx, 0x1001b298
push dword [eax + 0x3c]
push dword [eax + 0x38]
push 0x42
pop ecx
call fcn.10149ac2
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
push 1
call fcn.10149ac2
push ebx
push 1
lea ecx, [ebp - 0x68]
call fcn.10149ac2
push ebx
push 1
lea ecx, [ebp - 0x30]
call fcn.10149ac2
lea ecx, [ebp - 0x7c]
call fcn.100649ba
cmp dword [ebp - 0x6c], ebx
jmp 0x1006248f
mov eax, dword [ebp - 0x68]
xor edi, edi
cmp dword [ebp - 0x54], 0x10
mov dword [ebp - 0x80], edi
jae 0x100622cd
lea eax, [ebp - 0x68]
push edi
lea ecx, [ebp - 0x80]
push ecx
push dword [ebp - 0x58]
push eax
push esi
call dword [sym.imp.kernel32.dll_WriteFile]
test eax, eax
je 0x100623b3
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x58]
jne 0x100623b3
cmp dword [ebp - 0x1c], 8
mov ecx, dword [ebp - 0x30]
jae 0x100622fd
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
lea eax, [eax*2 + 2]
push eax
push ecx
push 1
push 0x1001b62c
push dword [ebx + 0x30]
call dword [sym.imp.WINSPOOL.DRV_SetPrinterDataW]
mov edi, eax
test edi, edi
jle 0x1006232a
movzx edi, di
or edi, 0x80070000
test edi, edi
jns 0x1006234b
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x100624b1
test byte [eax + 0x44], 1
jne 0x1006249d
jmp 0x100624b1
cmp dword [ebp - 0x38], 8
mov ecx, dword [ebp - 0x4c]
jae 0x10062357
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
lea eax, [eax*2 + 2]
push eax
push ecx
push 1
push 0x1001b650
push dword [ebx + 0x30]
call dword [sym.imp.WINSPOOL.DRV_SetPrinterDataW]
mov edi, eax
test edi, edi
jle 0x10062384
movzx edi, di
or edi, 0x80070000
test edi, edi
jns 0x10062404
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x100624b1
test byte [eax + 0x44], 1
je 0x100624b1
push edi
push dword [eax + 0x3c]
mov edx, 0x1001b298
push dword [eax + 0x38]
push 0x45
jmp 0x100624ab
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x100623e4
test byte [eax + 0x44], 1
je 0x100623e4
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
mov eax, dword [0x101973c0]
mov edx, 0x1001b298
push dword [eax + 0x3c]
push dword [eax + 0x38]
push 0x43
pop ecx
call fcn.10149ac2
push 0
lea ecx, [ebp - 0x70]
call fcn.10149ac2
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x100623fa
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileW]
mov esi, dword [ebp - 0x70]
test esi, esi
je 0x10062414
cmp esi, 0xffffffff
je 0x10062414
push esi
call dword [sym.imp.kernel32.dll_CloseHandle]
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.10149ac2
push 0
push 1
lea ecx, [ebp - 0x68]
call fcn.10149ac2
push 0
push 1
lea ecx, [ebp - 0x30]
call fcn.10149ac2
jmp 0x1006218e
mov eax, dword [0x101973c0]
cmp eax, esi
je 0x1006246c
test byte [eax + 0x44], 4
je 0x1006246c
cmp dword [ebp - 0x1c], 8
mov ecx, dword [ebp - 0x30]
jae 0x10062458
lea ecx, [ebp - 0x30]
push ecx
push dword [eax + 0x3c]
mov edx, 0x1001b298
push dword [eax + 0x38]
push 0x41
pop ecx
call fcn.10149ac2
xor edi, edi
lea ecx, [ebp - 0x68]
push edi
push 1
call fcn.10149ac2
push edi
push 1
lea ecx, [ebp - 0x30]
call fcn.10149ac2
lea ecx, [ebp - 0x7c]
call fcn.100649ba
cmp dword [ebp - 0x6c], edi
je 0x10062497
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.10167384
ret
push edi
push dword [eax + 0x3c]
mov edx, 0x1001b298
push dword [eax + 0x38]
push 0x44
pop ecx
call fcn.10149ac2
push edi
lea ecx, [ebp - 0x74]
call fcn.10149ac2
push 0x10196090
mov eax, ecx
push eax
call sub.msvcrt.dll__CxxThrowException
int3