Function at 0x100cd25
Capabilities:
Write file on windows

Disassembly:
push 0x90c
mov eax, 0x10397f1
call fcn.01037352
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor ebx, ebx
push 0x30
mov dword [ebp - 0x868], eax
lea eax, [ebp - 0x8f0]
push ebx
push eax
mov dword [ebp - 0x860], ecx
mov dword [ebp - 0x858], edi
mov dword [ebp - 0x878], esi
mov dword [ebp - 0x8f4], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
push fcn.01014822
push fcn.01014810
push 2
push 0xc
lea eax, [ebp - 0x8c0]
push eax
mov dword [ebp - 0x8a8], 0x10026c0
mov dword [ebp - 0x8a4], 0x10026a8
call fcn.0103754c
push esi
mov dword [ebp - 4], ebx
call fcn.010162c4
mov dword [ebp - 0x864], eax
cmp eax, ebx
jne 0x100cddf
mov eax, dword [section..data]
cmp eax, section..data
je 0x100cdd5
test byte [eax + 0x1c], 1
je 0x100cdd5
push esi
push 0x1001e78
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01008bcd
mov ebx, 0x80070057
jmp 0x100d239
lea eax, [ebp - 0x918]
push eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x100ce2a
mov eax, dword [section..data]
cmp eax, section..data
je 0x100ce17
test byte [eax + 0x1c], 1
je 0x100ce17
push esi
push 0x1001e78
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01008bcd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0100968c
mov ebx, eax
jmp 0x100d239
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
lea eax, [ebp - 0x85c]
push eax
push 0x2e
push 0x10022a8
push edi
call esi
mov ecx, dword [ebp - 0x860]
xor eax, eax
mov word [ebp - 0x854], ax
mov edi, 0x402
push edi
lea eax, [ebp - 0x854]
push eax
push dword [ebp - 0x864]
call fcn.0100cc12
push ebx
lea ecx, [ebp - 0x85c]
push ecx
add eax, eax
push eax
lea eax, [ebp - 0x854]
push eax
push dword [ebp - 0x858]
call esi
lea eax, [ebp - 0x888]
push eax
lea eax, [ebp - 0x914]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [ebp - 0x87c]
push eax
movzx eax, word [ebp - 0x87e]
push eax
movzx eax, word [ebp - 0x880]
push eax
movzx eax, word [ebp - 0x888]
push eax
movzx eax, word [ebp - 0x882]
push eax
movzx eax, word [ebp - 0x886]
push eax
push dword [ebp - 0x8f8]
lea eax, [ebp - 0x854]
push 0x10022d8
push edi
push eax
call fcn.0100878d
add esp, 0x28
test eax, eax
jl 0x100cf17
lea eax, [ebp - 0x854]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x100ceef
sub eax, edx
push ebx
sar eax, 1
lea ecx, [ebp - 0x85c]
push ecx
add eax, eax
push eax
lea eax, [ebp - 0x854]
push eax
push dword [ebp - 0x858]
call esi
push 2
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8a8]
push eax
lea eax, [ebp - 0x8f4]
push eax
push dword [ebp - 0x878]
call fcn.01013f38
cmp eax, ebx
jge 0x100cf61
mov eax, dword [section..data]
cmp eax, section..data
je 0x100cf61
test byte [eax + 0x1c], 1
je 0x100cf61
push 0x1001e78
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010078b5
xor eax, eax
mov word [ebp - 0x50], ax
mov eax, dword [ebp - 0x8e8]
movzx ecx, ax
push ecx
shr eax, 0x10
push eax
mov eax, dword [ebp - 0x8ec]
movzx ecx, ax
push ecx
shr eax, 0x10
push eax
push 0x1002690
lea eax, [ebp - 0x50]
push 0x20
push eax
call fcn.0100878d
add esp, 0x1c
test eax, eax
jge 0x100cfbe
mov eax, dword [section..data]
cmp eax, section..data
je 0x100cfbe
test byte [eax + 0x1c], 1
je 0x100cfbe
push 0x1001e78
push 0x23
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010078b5
mov ecx, dword [ebp - 0x860]
xor eax, eax
mov word [ebp - 0x854], ax
push edi
lea eax, [ebp - 0x854]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0100cc12
push ebx
lea ecx, [ebp - 0x85c]
push ecx
add eax, eax
push eax
lea eax, [ebp - 0x854]
push eax
push dword [ebp - 0x858]
call esi
push ebx
lea eax, [ebp - 0x85c]
push eax
push 0x38
push 0x10023bc
push dword [ebp - 0x858]
call esi
xor eax, eax
mov word [ebp - 0x854], ax
push edi
lea eax, [ebp - 0x854]
push eax
lea ecx, [ebp - 0x8b4]
call fcn.01015d45
mov ecx, dword [ebp - 0x860]
push eax
call fcn.0100cc12
push ebx
lea ecx, [ebp - 0x85c]
push ecx
add eax, eax
push eax
lea eax, [ebp - 0x854]
push eax
push dword [ebp - 0x858]
call esi
push ebx
lea eax, [ebp - 0x85c]
push eax
push 0x40
push 0x10023f8
push dword [ebp - 0x858]
call esi
xor eax, eax
mov word [ebp - 0x854], ax
push edi
lea eax, [ebp - 0x854]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.01015d45
mov ecx, dword [ebp - 0x860]
push eax
call fcn.0100cc12
push ebx
lea ecx, [ebp - 0x85c]
push ecx
add eax, eax
push eax
lea eax, [ebp - 0x854]
push eax
push dword [ebp - 0x858]
call esi
push ebx
lea eax, [ebp - 0x85c]
push eax
push 0x1c
push 0x100243c
push dword [ebp - 0x858]
call esi
mov edi, dword [ebp - 0x868]
cmp edi, ebx
je 0x100d222
mov dword [ebp - 0x860], ebx
cmp dword [edi + 8], ebx
jbe 0x100d222
lea ecx, [ebp - 0x8a0]
mov dword [ebp - 0x864], ebx
call fcn.01014810
lea ecx, [ebp - 0x874]
mov byte [ebp - 4], 1
call fcn.01014810
lea ecx, [ebp - 0x894]
mov byte [ebp - 4], 2
call fcn.01014810
lea eax, [ebp - 0x864]
push eax
push dword [ebp - 0x860]
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.0100cb4b
test eax, eax
jl 0x100d1db
mov edi, dword [ebp - 0x864]
cmp dword [edi], ebx
je 0x100d1db
cmp dword [edi + 4], ebx
je 0x100d1db
push dword [edi]
lea ecx, [ebp - 0x874]
call fcn.01014c4a
lea ecx, [ebp - 0x874]
call fcn.01015981
push dword [edi + 4]
lea ecx, [ebp - 0x894]
call fcn.01014c4a
lea ecx, [ebp - 0x894]
call fcn.01015981
lea ecx, [ebp - 0x874]
call fcn.01015d45
push eax
lea ecx, [ebp - 0x894]
call fcn.01015d45
push eax
lea ecx, [ebp - 0x874]
call fcn.01015d45
push eax
lea eax, [ebp - 0x8a0]
push 0x1002670
push eax
call fcn.010157db
add esp, 0x14
cmp eax, ebx
jl 0x100d1db
push ebx
lea eax, [ebp - 0x85c]
push eax
lea ecx, [ebp - 0x8a0]
call fcn.0101482f
add eax, eax
push eax
lea ecx, [ebp - 0x8a0]
call fcn.01015d45
push eax
push dword [ebp - 0x858]
call esi
lea ecx, [ebp - 0x894]
mov byte [ebp - 4], 2
call fcn.01014822
lea ecx, [ebp - 0x874]
mov byte [ebp - 4], 1
call fcn.01014822
lea ecx, [ebp - 0x8a0]
mov byte [ebp - 4], bl
call fcn.01014822
inc dword [ebp - 0x860]
mov edi, dword [ebp - 0x868]
mov eax, dword [ebp - 0x860]
cmp eax, dword [edi + 8]
jb 0x100d0de
push ebx
lea eax, [ebp - 0x85c]
push eax
push 0x1c
push 0x100245c
push dword [ebp - 0x858]
call esi
or dword [ebp - 4], 0xffffffff
push fcn.01014822
push 2
push 0xc
lea eax, [ebp - 0x8c0]
push eax
call fcn.010374e4
mov eax, ebx
call fcn.010373e4
ret 0xc