Function at 0x4886d8
Capabilities:
Write file on windows

Disassembly:
mov word [esp], 0x626a
call fcn.004892ca
mov edi, dword [ebp - 0xa28]
mov byte [ebp - 0xa21], 0
mov eax, dword [edi]
push eax
mov dword [ebp - 0xa38], eax
call fcn.00498090
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x488897
mov eax, dword [ebp - 0xa34]
add eax, 0xfffffffc
push eax
lea eax, [edi + 4]
push eax
lea eax, [ebp - 0xa38]
push eax
push ebx
call fcn.00477e70
add esp, 0x10
test eax, eax
jne 0x488897
push dword [ebp - 0xa3c]
lea eax, [ebp - 0xa20]
push eax
lea eax, [ebp - 0x818]
push str._s_s
push eax
call fcn.0048d150
push 0x208
push 0
push 0x50ad28
call fcn.0049a8c0
add esp, 0x1c
lea eax, [ebp - 0x818]
push eax
push 0x104
push 0x50ad28
call fcn.004a0824
mov ecx, 0x50ad28
add esp, 0xc
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x488710
sub ecx, edx
sar ecx, 1
add ecx, 0xffffffff
je 0x488760
nop dword [eax]
nop dword [eax + eax]
movzx eax, word [ecx*2 + 0x50ad28]
cmp eax, 0x5c
je 0x488749
cmp eax, 0x2f
je 0x488749
sub ecx, 1
jne 0x488730
jmp 0x488760
add ecx, ecx
cmp ecx, 0x208
jae 0x4889b8
xor eax, eax
mov word [ecx + 0x50ad28], ax
mov esi, dword [0x4c02d4]
push 0x50ad28
call esi
cmp eax, 0xffffffff
je 0x48877a
test al, 0x10
jne 0x488827
push 0x50ad28
call esi
cmp eax, 0xffffffff
je 0x48878e
test al, 0x10
jne 0x488827
mov ecx, 0x50ad28
xor esi, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4887a0
sub ecx, edx
sar ecx, 1
je 0x48881a
movzx eax, word [esi*2 + 0x50ad28]
cmp eax, 0x5c
je 0x4887c3
cmp eax, 0x2f
jne 0x4887f8
mov edi, eax
xor eax, eax
push 0x50ad28
mov word [esi*2 + 0x50ad28], ax
call dword [0x4c02d4]
cmp eax, 0xffffffff
je 0x4887e3
test al, 0x10
jne 0x4887f0
push 0
push 0x50ad28
call dword [0x4c02bc]
mov word [esi*2 + 0x50ad28], di
mov ecx, 0x50ad28
inc esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x488801
sub ecx, edx
sar ecx, 1
cmp esi, ecx
jb 0x4887b1
mov edi, dword [ebp - 0xa28]
push 0
push 0x50ad28
call dword [0x4c02bc]
mov esi, dword [ebp - 0xa38]
lea eax, [ebp - 0x818]
push 0x4f96e8
push eax
lea eax, [ebp - 0xa2c]
push eax
call fcn.004a1754
add esp, 0xc
test eax, eax
jne 0x488897
push dword [ebp - 0xa2c]
push esi
push 1
push ebx
call fcn.004a19cb
push dword [ebp - 0xa2c]
call fcn.004a1d07
add esp, 0x14
push dword [ebp - 0xa2c]
call fcn.004a1dd5
mov ecx, dword [ebp - 0xa3c]
add esp, 4
push str.._update.local
lea eax, [ecx + 0x208]
push eax
push 0x4f97b8
push ecx
call dword [0x4c0264]
jmp 0x48889e
mov byte [ebp - 0xa21], 1
push edi
call fcn.00498099
add esp, 4
test ebx, ebx
je 0x4888b4
push ebx
call fcn.00498099
add esp, 4
cmp byte [ebp - 0xa21], 0
jne 0x4889a5
mov edi, dword [ebp - 0xa40]
mov eax, 0x7e07e07f
mov esi, dword [ebp - 0xa30]
mov ecx, dword [edi + 0xfec]
sub ecx, dword [edi + 0xfe8]
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
lea eax, [ebp - 0x210]
push 0x4f97f8
push eax
call fcn.0048d150
mov ecx, dword [edi + 0x508]
add esp, 0x10
push esi
call fcn.0044f129
mov ecx, dword [edi + 0x508]
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov ecx, dword [edi + 0xfec]
inc esi
mov ebx, dword [ebp - 0xa44]
mov eax, 0x7e07e07f
mov dword [ebp - 0xa30], esi
add ebx, 0x410
mov esi, dword [edi + 0xfe8]
sub ecx, esi
imul ecx
mov eax, dword [ebp - 0xa30]
sar edx, 9
dec eax
mov ecx, edx
mov dword [ebp - 0xa44], ebx
shr ecx, 0x1f
add ecx, edx
cmp eax, ecx
jb 0x488533
call fcn.0049847c
int3