Function at 0x444030
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x491ba3
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push esi
push edi
mov eax, dword [0x4bd910]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
cmp byte [ecx + 0x38], 0
je 0x444275
lea edi, [ecx + 4]
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov ecx, edi
mov dword [ebp - 0x14], ebx
xor esi, esi
call fcn.0046ce80
test eax, eax
jle 0x444275
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov ecx, edi
push ebx
call fcn.004687e0
test eax, eax
jle 0x4440d4
mov esi, dword [ebp - 0x14]
xor ebx, ebx
lea esp, [esp]
cmp ebx, 0x50
jge 0x4440ce
push esi
mov ecx, edi
call fcn.004687c0
mov ecx, dword [eax + 8]
lea ecx, [ebx + ecx]
call fcn.0046ce80
add dword [ebp - 0x10], eax
mov ecx, edi
inc dword [ebp - 0x18]
add ebx, 0x28
push esi
call fcn.004687e0
cmp dword [ebp - 0x18], eax
jl 0x4440a0
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
add esi, 3
inc ebx
mov ecx, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], ebx
call fcn.0046ce80
cmp ebx, eax
jl 0x444086
test esi, esi
mov esi, 0
jle 0x444275
mov eax, dword [ebp - 0x10]
push eax
call fcn.0044c160
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x444275
mov ecx, edi
mov dword [ebp - 0x10], esi
call fcn.0046ce80
mov ebx, 0x4983d3
test eax, eax
jle 0x4441d0
push dword [ebp - 0x10]
xor ebx, ebx
mov ecx, edi
mov dword [ebp - 0x18], ebx
call fcn.004687e0
test eax, eax
jle 0x4441b5
cmp ebx, 2
jge 0x4441b5
push dword [ebp - 0x10]
mov ecx, edi
call fcn.004687c0
mov edi, 0x4983d3
mov ecx, dword [eax + 8]
lea eax, [ebx + ebx*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebx + 8]
mov ecx, ebx
test eax, eax
cmovne edi, eax
call fcn.0046ce80
push eax
push edi
mov edi, dword [ebp - 0x14]
lea eax, [edi + esi]
push eax
call fcn.00473450
add esp, 0xc
mov ecx, ebx
call fcn.0046ce80
mov ebx, dword [ebp - 0x18]
add esi, eax
mov eax, ebx
sub eax, 0
je 0x444198
dec eax
jne 0x44419d
mov eax, 0xa0d
mov word [edi + esi], ax
add esi, 2
jmp 0x44419d
mov byte [edi + esi], 0x3d
inc esi
mov edi, dword [ebp - 0x1c]
inc ebx
push dword [ebp - 0x10]
add edi, 4
mov dword [ebp - 0x18], ebx
mov ecx, edi
call fcn.004687e0
cmp ebx, eax
jl 0x444137
mov ebx, dword [ebp - 0x10]
mov ecx, edi
inc ebx
mov dword [ebp - 0x10], ebx
call fcn.0046ce80
cmp ebx, eax
jl 0x444124
mov ebx, 0x4983d3
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.menu.inf
lea ecx, [ebp - 0x44]
call fcn.00469230
lea eax, [ebp - 0x94]
mov dword [ebp - 4], 0
push eax
call fcn.0044a210
add esp, 4
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
push ecx
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.00469bb0
push 0x49cc08
mov eax, dword [eax + 8]
test eax, eax
cmovne ebx, eax
push ebx
call fcn.0047409b
mov edi, eax
lea ecx, [ebp - 0x6c]
add esp, 8
test edi, edi
setne bl
call fcn.0046cd00
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0
call fcn.0046cd00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.0046cd00
test bl, bl
je 0x444269
push edi
push esi
mov esi, dword [ebp - 0x14]
push 1
push esi
call fcn.00474209
push edi
call fcn.00471cf9
add esp, 0x14
jmp 0x44426c
mov esi, dword [ebp - 0x14]
push esi
call fcn.0044c170
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret