Function at 0x4bfac0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x641a90]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0xb8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push eax
mov dword [ebp - 0xc0], ebx
call fcn.00458dd0
movzx edi, word [esi + 0x40]
add esp, 4
cmp word [esi + 0x24], 1
mov dword [ebp - 0x94], 0x445350
mov word [ebp - 0xac], di
jne 0x4bfb1f
mov eax, dword [esi + 0x2c]
add eax, 7
cdq
and edx, 7
lea ecx, [edx + eax]
sar ecx, 3
jmp 0x4bfb22
mov ecx, dword [esi + 0x2c]
cmp dword [ebp + 0x14], 0
mov ax, word [esi + 0x3e]
mov dword [ebp - 0xa0], ecx
mov word [ebp - 0xaa], ax
je 0x4bfb43
mov dword [ebp - 0x9c], 0x80110
cmp di, 1
jle 0x4bfb64
movsx eax, di
imul eax, dword [esi + 0x30]
imul eax, ecx
push eax
call fcn.00593e38
add esp, 4
mov dword [ebp - 0xd0], eax
jmp 0x4bfb6e
mov dword [ebp - 0xd0], 0
lea eax, [ebp - 0xb8]
push eax
push esi
call fcn.00457000
movzx edi, ax
add esp, 8
mov dword [ebp - 0xcc], edi
test di, di
jne 0x4c0034
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x4bfbf0
push dword [ebx]
call fcn.005960c7
push 0
push edi
push dword [ebx]
mov dword [ebp - 0xbc], eax
call fcn.00595cb4
push dword [ebx]
call fcn.005960c7
add esp, 0x14
xor edi, edi
lea ebx, [ebx]
mov eax, dword [ebp - 0x98]
push dword [ebx]
movzx eax, byte [eax + edi]
push eax
call fcn.005958b3
inc edi
add esp, 8
cmp edi, 0x300
jl 0x4bfbc0
push 0
push dword [ebp - 0xbc]
push dword [ebx]
call fcn.00595cb4
add esp, 0xc
cmp word [esi + 0x40], 1
jle 0x4bfdf0
cmp dword [esi + 0x30], 0
jle 0x4bfc62
xor ebx, ebx
push 1
push ebx
push esi
call fcn.00459620
xor eax, eax
add esp, 0xc
xor edi, edi
cmp ax, word [esi + 0x40]
jge 0x4bfc56
lea esp, [esp]
mov ecx, dword [ebp - 0xa0]
mov eax, edi
imul eax, ecx
push ecx
add eax, dword [ebp - 0xb0]
push eax
mov eax, dword [esi + 0x30]
imul eax, edi
add eax, ebx
imul eax, ecx
add eax, dword [ebp - 0xd0]
push eax
call fcn.00592150
movsx eax, word [esi + 0x40]
inc edi
add esp, 0xc
cmp edi, eax
jl 0x4bfc20
inc ebx
cmp ebx, dword [esi + 0x30]
jl 0x4bfc03
mov ebx, dword [ebp - 0xc0]
cmp dword [ebp + 0x10], 0
je 0x4bfe73
mov eax, dword [esi + 0x30]
shl eax, 2
push eax
call fcn.00593e38
xor ecx, ecx
mov dword [ebp - 0xc8], eax
add esp, 4
mov dword [ebp - 0xc0], 0
cmp cx, word [esi + 0x40]
jge 0x4bfde2
lea eax, [ebp - 0x14]
mov dword [ebp - 0xc4], eax
push ebx
push 1
call fcn.0045d590
push dword [ebx]
call fcn.005960c7
xor edi, edi
mov dword [ebp - 0xd4], eax
add esp, 0xc
cmp dword [esi + 0x30], edi
jle 0x4bfcd1
nop
push ebx
push 0
call fcn.0045d590
inc edi
add esp, 8
cmp edi, dword [esi + 0x30]
jl 0x4bfcc0
mov ecx, dword [esi + 0x30]
xor edi, edi
test ecx, ecx
jle 0x4bfd2b
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xbc], eax
jmp 0x4bfcf0
imul ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xa0]
push eax
add ecx, edi
imul ecx, eax
add ecx, dword [ebp - 0xd0]
push ecx
push ebx
call fcn.0051d8d0
mov eax, dword [ebp - 0xbc]
inc edi
mov ecx, dword [esi + 0x30]
add eax, 4
add esp, 0x10
mov dword [ebp - 0xbc], eax
cmp edi, ecx
jl 0x4bfcf0
mov ecx, dword [ebp - 0xc4]
xor eax, eax
mov edx, dword [esi + 0x30]
mov dword [ecx], 0
test edx, edx
jle 0x4bfd5a
mov edi, dword [ebp - 0xc8]
xor ecx, ecx
add ecx, dword [edi + eax*4]
inc eax
cmp eax, edx
jl 0x4bfd48
mov eax, dword [ebp - 0xc4]
mov dword [eax], ecx
mov ecx, eax
push dword [ebx]
lea eax, [edx*2 + 2]
add dword [ecx], eax
call fcn.005960c7
push 0
push dword [ebp - 0xd4]
mov dword [ebp - 0xbc], eax
push dword [ebx]
call fcn.00595cb4
xor edi, edi
add esp, 0x10
cmp dword [esi + 0x30], edi
jle 0x4bfdaa
lea esp, [esp]
mov eax, dword [ebp - 0xc8]
push ebx
movzx eax, word [eax + edi*4]
push eax
call fcn.0045d590
inc edi
add esp, 8
cmp edi, dword [esi + 0x30]
jl 0x4bfd90
push 0
push dword [ebp - 0xbc]
push dword [ebx]
call fcn.00595cb4
mov ecx, dword [ebp - 0xc0]
add esp, 0xc
movsx eax, word [esi + 0x40]
inc ecx
add dword [ebp - 0xc4], 4
mov dword [ebp - 0xc0], ecx
cmp ecx, eax
jl 0x4bfca0
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00592c4b
add esp, 4
jmp 0x4bfe73
push ebx
push 0
call fcn.0045d590
xor edi, edi
add esp, 8
cmp dword [esi + 0x30], edi
jle 0x4bfe73
mov ecx, dword [ebp - 0xcc]
test cx, cx
jne 0x4bfe73
push 1
push edi
push esi
call fcn.00459620
mov eax, dword [ebp - 0xa0]
add esp, 0xc
cmp word [ebp - 0xaa], 1
jne 0x4bfe44
xor edx, edx
test eax, eax
jle 0x4bfe44
nop
mov ecx, dword [ebp - 0xb0]
not byte [ecx + edx]
inc edx
mov eax, dword [ebp - 0xa0]
cmp edx, eax
jl 0x4bfe30
push dword [ebx]
push 1
push eax
push dword [ebp - 0xb0]
call fcn.0059628c
mov ecx, dword [ebp - 0xcc]
add esp, 0x10
test eax, eax
mov eax, 6
cmove ecx, eax
inc edi
mov dword [ebp - 0xcc], ecx
cmp edi, dword [esi + 0x30]
jl 0x4bfe08
push esi
call fcn.00454fa0
mov edi, dword [ebp - 0xcc]
add esp, 4
test di, di
jne 0x4c0034
cmp word [esi + 0x40], 1
jle 0x4c0034
cmp dword [ebp + 0x10], 0
je 0x4bfece
push dword [ebx]
call fcn.005960c7
push 0
push dword [ebp + 0x10]
mov edi, eax
push dword [ebx]
call fcn.00595cb4
lea eax, [ebp - 0x14]
push eax
push esi
push ebx
call fcn.004c0450
push 0
push edi
push dword [ebx]
call fcn.00595cb4
add esp, 0x28
jmp 0x4c002e
push ebx
push 1
call fcn.0045d590
movsx eax, word [esi + 0x40]
imul eax, dword [esi + 0x30]
shl eax, 2
push eax
call fcn.00593e38
push dword [ebx]
mov dword [ebp - 0xc8], eax
call fcn.005960c7
movsx ecx, word [esi + 0x40]
add esp, 0x10
imul ecx, dword [esi + 0x30]
xor edi, edi
mov dword [ebp - 0xd4], eax
test ecx, ecx
jle 0x4bff28
jmp 0x4bff10
push ebx
push 0
call fcn.0045d590
movsx eax, word [esi + 0x40]
inc edi
imul eax, dword [esi + 0x30]
add esp, 8
cmp edi, eax
jl 0x4bff10
xor edx, edx
xor eax, eax
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], edx
cmp ax, word [esi + 0x40]
jge 0x4bffbd
mov ecx, dword [esi + 0x30]
xor edi, edi
test ecx, ecx
jle 0x4bffa8
mov eax, dword [ebp - 0xc8]
lea eax, [eax + edx*4]
mov dword [ebp - 0xc4], eax
lea ebx, [ebx]
imul ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xa0]
push eax
add ecx, edi
imul ecx, eax
add ecx, dword [ebp - 0xd0]
push ecx
push ebx
call fcn.0051d8d0
mov edx, dword [ebp - 0xbc]
inc edi
mov eax, dword [ebp - 0xc4]
inc edx
mov ecx, dword [esi + 0x30]
add eax, 4
add esp, 0x10
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc4], eax
cmp edi, ecx
jl 0x4bff60
mov edi, dword [ebp - 0xc0]
movsx eax, word [esi + 0x40]
inc edi
mov dword [ebp - 0xc0], edi
cmp edi, eax
jl 0x4bff45
push dword [ebx]
call fcn.005960c7
push 0
push dword [ebp - 0xd4]
mov dword [ebp - 0xbc], eax
push dword [ebx]
call fcn.00595cb4
movsx ecx, word [esi + 0x40]
add esp, 0x10
imul ecx, dword [esi + 0x30]
xor edi, edi
test ecx, ecx
jle 0x4c0011
lea ebx, [ebx]
mov eax, dword [ebp - 0xc8]
push ebx
movzx eax, word [eax + edi*4]
push eax
call fcn.0045d590
movsx eax, word [esi + 0x40]
inc edi
imul eax, dword [esi + 0x30]
add esp, 8
cmp edi, eax
jl 0x4bfff0
push 0
push dword [ebp - 0xbc]
push dword [ebx]
call fcn.00595cb4
push dword [ebp - 0xc8]
call fcn.00592c4b
add esp, 0x10
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x4c0047
push eax
call fcn.00592c4b
add esp, 4
mov ecx, dword [ebp - 4]
mov ax, di
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005920c1
mov esp, ebp
pop ebp