Function at 0x407c95
Capabilities:
Write file on windows

Disassembly:
push ebp
sub esp, 0x98c
lea ebp, [esp - 4]
mov eax, dword [0x44e620]
xor eax, ebp
mov dword [ebp + 0x98c], eax
push 4
mov eax, 0x4377af
call fcn.0041f559
xor edi, edi
cmp byte [0x44da2f], 0
mov ebx, 0x44fa20
je 0x407dd1
push edi
lea ecx, [ebp + 0x1c]
mov byte [0x44da2f], 0
mov dword [ebp + 0x34], 7
call fcn.00407290
lea eax, [ebp + 0x1c]
push eax
mov dword [ebp - 4], edi
call fcn.00407b13
test eax, eax
pop ecx
jne 0x407d05
push edi
push 1
lea ecx, [ebp + 0x1c]
call fcn.0040735a
jmp 0x407f2d
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x407d11
lea eax, [ebp + 0x20]
mov esi, 0x103
push esi
push eax
push 0x104
push ebx
call fcn.00420549
add esp, 0x10
push str.install.log
lea ecx, [ebp]
call fcn.004079e2
cmp dword [ebp + 0x14], esi
jae 0x407d3b
mov esi, dword [ebp + 0x14]
cmp dword [ebp + 0x18], 8
mov eax, dword [ebp + 4]
jae 0x407d47
lea eax, [ebp + 4]
push esi
push eax
push ebx
call fcn.00407085
push ebx
call fcn.00406dd2
add esp, 0x10
test eax, eax
je 0x407dbb
push str.a_ccsUNICODE
lea eax, [ebp - 0x10]
push ebx
push eax
mov byte [0x44fa1c], 1
mov dword [ebp - 0x10], edi
call fcn.0042044d
add esp, 0xc
cmp dword [ebp - 0x10], edi
je 0x407dbb
push 0x13
pop ecx
push dword [ebp - 0x10]
mov esi, str._r_r_r_r_r
lea edi, [ebp + 0x93c]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x93c]
push eax
movsw word es:[edi], word [esi]
call fcn.0041ed7c
pop ecx
push eax
lea eax, [ebp + 0x93c]
push 2
push eax
call fcn.004202f2
push dword [ebp - 0x10]
call fcn.00420117
add esp, 0x14
xor edi, edi
push edi
push 1
lea ecx, [ebp]
call fcn.0040735a
push edi
push 1
lea ecx, [ebp + 0x1c]
call fcn.0040735a
cmp byte [0x44fa1c], 0
je 0x407f2d
push 0x44fc28
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x802
lea eax, [ebp + 0x3a]
push edi
push eax
mov word [ebp + 0x38], di
call fcn.0041f640
lea eax, [ebp + 0x99c]
push eax
push dword [ebp + 0x998]
lea eax, [ebp + 0x38]
push 0xffffffffffffffff
push 0x400
push eax
call fcn.0041ed5e
mov esi, eax
add esp, 0x20
cmp esi, edi
jle 0x407f22
xor edx, edx
test esi, esi
push 0xd
pop edi
jle 0x407e41
lea eax, [ebp + edx*2 + 0x38]
cmp word [eax], 0xa
jne 0x407e3c
mov word [eax], di
inc edx
cmp edx, esi
jl 0x407e2f
lea ecx, [edx + edx]
lea eax, [ebp + ecx + 0x38]
cmp word [eax - 2], di
je 0x407e5a
and word [ebp + ecx + 0x3a], 0
mov word [eax], di
inc esi
jmp 0x407e67
cmp word [ebp + edx*2 + 0x34], di
jne 0x407e67
and word [eax - 2], 0
dec esi
xor edi, edi
cmp esi, edi
jle 0x407f22
push str.a_ccsUNICODE
lea eax, [ebp - 0x10]
push ebx
push eax
mov dword [ebp - 0x10], edi
call fcn.0042044d
add esp, 0xc
cmp dword [ebp - 0x10], edi
je 0x407f22
lea eax, [ebp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0xfe
lea eax, [ebp + 0x83e]
push edi
push eax
mov word [ebp + 0x83c], di
call fcn.0041f640
movzx eax, word [ebp + 0x36]
push eax
movzx eax, word [ebp + 0x34]
push eax
movzx eax, word [ebp + 0x32]
push eax
movzx eax, word [ebp + 0x30]
push eax
movzx eax, word [ebp + 0x2e]
push eax
movzx eax, word [ebp + 0x2a]
push eax
movzx eax, word [ebp + 0x28]
push eax
push str._04d__02d__02d__02d:_02d:_02d__03d
push 0xffffffffffffffff
lea eax, [ebp + 0x83c]
push 0x80
push eax
call fcn.0041fd17
add esp, 0x38
cmp eax, edi
jge 0x407ef6
xor eax, eax
push dword [ebp - 0x10]
push eax
lea eax, [ebp + 0x83c]
push 2
push eax
call fcn.004202f2
push dword [ebp - 0x10]
lea eax, [ebp + 0x38]
push esi
push 2
push eax
call fcn.004202f2
push dword [ebp - 0x10]
call fcn.00420117
add esp, 0x24
push 0x44fc28
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x98c]
xor ecx, ebp
call fcn.0041f54a
add ebp, 0x990
leave
ret