Function at 0x4113d0
Capabilities:
Write file on windows

Disassembly:
cmp dword [0x4af47c], 0
je 0x4113f7
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x4113fc
mov ecx, 0x4af588
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411400
sub ecx, edx
mov edx, 0x4af160
push ebx
push esi
push edi
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x411414
sub edx, esi
lea eax, [ecx + 5]
add eax, edx
push eax
call fcn.0046b317
add esp, 4
mov ebx, eax
cmp dword [0x4af47c], 0
je 0x411454
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x411459
mov ecx, 0x4af588
mov edx, ebx
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x411460
mov edx, 0x4af160
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x411474
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411480
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebx - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4114a0
mov eax, dword [0x49d620]
mov dword [ecx], eax
mov al, byte [0x49d624]
push 0x49d628
push ebx
mov byte [ecx + 4], al
call fcn.0046b3d9
add esp, 8
test eax, eax
je 0x411511
push eax
call fcn.0046b467
push 0x49d62c
push ebx
call fcn.0046b3d9
mov esi, eax
add esp, 0xc
test esi, esi
je 0x411511
push 0x8000
push 0
push 0x4b1670
call fcn.004682f0
push esi
push 0x8000
push 1
push 0x4b1670
call fcn.00474e4d
push esi
call fcn.0046b467
add esp, 0x20
push ebx
call fcn.0046b2fc
add esp, 4
cmp dword [0x4af47c], 0
je 0x411541
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x411546
mov ecx, 0x4af588
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411550
sub ecx, edx
mov edx, 0x4af160
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x411561
sub edx, esi
lea eax, [edx + 5]
add eax, ecx
push eax
call fcn.0046b317
add esp, 4
mov ebx, eax
cmp dword [0x4af47c], 0
je 0x4115a1
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x4115a6
mov ecx, 0x4af588
mov edx, ebx
sub edx, ecx
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4115b0
mov edx, 0x4af160
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4115c4
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4115d0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebx - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4115f0
mov eax, dword [0x49d630]
mov dword [ecx], eax
mov al, byte [0x49d634]
push 0x49d638
push ebx
mov byte [ecx + 4], al
call fcn.0046b3d9
add esp, 8
test eax, eax
je 0x411661
push eax
call fcn.0046b467
push 0x49d63c
push ebx
call fcn.0046b3d9
mov esi, eax
add esp, 0xc
test esi, esi
je 0x411661
push 0x800
push 0
push 0xebb860
call fcn.004682f0
push esi
push 0x800
push 1
push 0xebb860
call fcn.00474e4d
push esi
call fcn.0046b467
add esp, 0x20
push ebx
call fcn.0046b2fc
add esp, 4
cmp dword [0x4af47c], 0
je 0x411691
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x411696
mov ecx, 0x4af588
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4116a0
sub ecx, edx
mov edx, 0x4af160
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4116b1
sub edx, esi
lea eax, [edx + 5]
add eax, ecx
push eax
call fcn.0046b317
add esp, 4
mov ebx, eax
cmp dword [0x4af47c], 0
je 0x4116f1
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x4116f6
mov ecx, 0x4af588
mov edx, ebx
sub edx, ecx
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x411700
mov edx, 0x4af160
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x411714
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411720
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebx - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x411740
mov eax, dword [0x49d640]
mov dword [ecx], eax
mov al, byte [0x49d644]
push 0x49d648
push ebx
mov byte [ecx + 4], al
call fcn.0046b3d9
add esp, 8
test eax, eax
je 0x4117c5
push eax
call fcn.0046b467
push 0x49d64c
push ebx
call fcn.0046b3d9
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4117c5
mov esi, 0xebc060
nop word [eax + eax]
push 0x800
push 0
push esi
call fcn.004682f0
push edi
push 0x800
push 1
push esi
call fcn.00474e4d
add esi, 0x8000
add esp, 0x1c
cmp esi, 0xedc060
jl 0x411790
push edi
call fcn.0046b467
add esp, 4
push ebx
call fcn.0046b2fc
add esp, 4
pop edi
pop esi
pop ebx
ret