Function at 0x4e1780
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
mov eax, dword [0x5be9a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x30c], ecx
mov ecx, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x318], edx
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x314], ecx
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp + 0x14]
push ecx
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x320], eax
mov eax, dword [ebp + 0x2c]
lea edx, [ebp - 0x104]
push str._s.chk0
push edx
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x31c], eax
call fcn.004b70c5
mov eax, dword [esi + 0x14]
push eax
lea ecx, [ebp - 0x204]
push 0x5c0d0c
push ecx
call fcn.004b70c5
lea edx, [ebp - 0x104]
push 0x5c0d14
push edx
call fcn.004b80e6
mov edi, eax
add esp, 0x20
test edi, edi
jne 0x4e1833
push 0x5c0d18
call fcn.004b7f6d
add esp, 4
push 0xffffffffffffffff
call fcn.004b856d
push edi
push 1
lea eax, [ebp + 0x20]
push 4
push eax
call fcn.004b9a51
lea esi, [eax - 1]
push edi
neg esi
sbb esi, esi
push 1
lea ecx, [ebp + 0x24]
push 4
inc esi
push ecx
and esi, 1
call fcn.004b9a51
dec eax
push edi
neg eax
sbb eax, eax
push 1
lea edx, [ebp + 0x28]
inc eax
push 4
push edx
and esi, eax
call fcn.004b9a51
dec eax
neg eax
sbb eax, eax
inc eax
push edi
and esi, eax
mov eax, dword [ebp - 0x320]
mov ecx, dword [eax + 4]
push 0x40
push 8
push ecx
call fcn.004b9a51
add esp, 0x40
xor edx, edx
cmp eax, 0x40
mov eax, dword [ebp - 0x314]
mov ecx, dword [eax + 4]
sete dl
push edi
push 0x40
push 8
push ecx
and esi, edx
call fcn.004b9a51
xor edx, edx
cmp eax, 0x40
mov eax, dword [ebp - 0x308]
mov ecx, dword [eax + 4]
sete dl
push edi
push 0x40
push 8
push ecx
and esi, edx
call fcn.004b9a51
xor edx, edx
cmp eax, 0x40
mov eax, dword [ebp - 0x308]
mov ecx, dword [eax + 8]
sete dl
push edi
push 0x40
push 8
push ecx
and esi, edx
call fcn.004b9a51
xor edx, edx
cmp eax, 0x40
sete dl
push edi
push 0x40
push 8
and esi, edx
mov eax, dword [ebx]
push eax
call fcn.004b9a51
mov edx, dword [ebx + 4]
add esp, 0x40
xor ecx, ecx
cmp eax, 0x40
sete cl
push edi
push 0x40
push 8
push edx
and esi, ecx
call fcn.004b9a51
mov edx, dword [ebx + 8]
xor ecx, ecx
cmp eax, 0x40
sete cl
push edi
push 0x40
push 8
push edx
and esi, ecx
call fcn.004b9a51
mov edx, dword [ebp - 0x31c]
xor ecx, ecx
cmp eax, 0x40
sete cl
push edi
push 0x40
add edx, 0x100
push 4
push edx
and esi, ecx
call fcn.004b9a51
xor ecx, ecx
cmp eax, 0x40
sete cl
push edi
push 1
lea edx, [ebp + 0x30]
push 4
push edx
and esi, ecx
call fcn.004b9a51
mov ecx, dword [ebp - 0x324]
add esp, 0x40
dec eax
neg eax
sbb eax, eax
inc eax
and esi, eax
mov eax, dword [ebp + 0x20]
push edi
push eax
push 8
push ecx
call fcn.004b9a51
mov ecx, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x30c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebx]
sete dl
push edi
push ecx
push 8
push eax
and esi, edx
call fcn.004b9a51
mov ecx, dword [ebp + 0x20]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebx + 4]
sete dl
push edi
push ecx
push 8
push eax
and esi, edx
call fcn.004b9a51
mov ecx, dword [ebp + 0x20]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebx + 8]
sete dl
push edi
push ecx
push 8
push eax
and esi, edx
call fcn.004b9a51
mov ecx, dword [ebp + 0x20]
add esp, 0x40
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x318]
sete dl
push edi
push ecx
push 8
push eax
and esi, edx
call fcn.004b9a51
xor ecx, ecx
cmp eax, dword [ebp + 0x20]
push edi
sete cl
and esi, ecx
call fcn.004b8276
add esp, 0x14
pop edi
test esi, esi
pop esi
pop ebx
jne 0x4e1a31
push str.error:_cannot_write_new_checkpoint_file_n
call fcn.004b7f6d
push str.error:_previous_checkpoint_file_not_overwritten_n
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 0x14]
push eax
lea ecx, [ebp - 0x304]
push str._s.bak.chk
push ecx
call fcn.004b70c5
lea edx, [ebp - 0x304]
push edx
call fcn.004b7dfa
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.004ba13b
lea edx, [ebp - 0x204]
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.004ba13b
add esp, 0x20
test eax, eax
je 0x4e1a99
push str.error:_cannot_update_checkpoint_file_n
call fcn.004b7f6d
add esp, 4
push 0xffffffffffffffff
call fcn.004b856d
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bc40c
mov esp, ebp
pop ebp
ret