Function at 0x4190d0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x174
push ebx
push ebp
push esi
push edi
call fcn.00418f50
xor ebp, ebp
push 0x912e68
cmp dword [esp + 0x190], ebp
je 0x41910b
mov eax, dword [esp + 0x18c]
push eax
push 0x912f68
push str._s_asave_1d._s
lea ecx, [esp + 0x88]
push ecx
jmp 0x419125
mov edx, dword [esp + 0x18c]
push edx
push 0x912f68
push str._s_save_03d._s
lea eax, [esp + 0x88]
push eax
call fcn.00483a3c
add esp, 0x14
lea ecx, [esp + 0x78]
push 0x4c7328
push ecx
call fcn.0048466b
mov esi, eax
add esp, 8
cmp esi, ebp
jne 0x419152
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret
mov ebx, 1
cmp dword [0x4fdab0], ebp
je 0x4191de
cmp dword [0x4fda90], ebp
je 0x4191de
mov edx, ebx
mov eax, 0x18
lea ecx, [esp + 0x58]
lea edi, [esp + 0x14]
mov dword [esp + 0x14], 0x46504957
mov word [esp + 0x18], dx
mov word [esp + 0x1a], ax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x5c], 0x5a
mov dword [esp + 0x58], 0xa0
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
call fcn.004585e0
mov edx, dword [0x4fda90]
push 0xa8c0
push esi
push edx
call fcn.004580f0
mov ecx, dword [esp + 0x28]
add dword [ecx + 0x14], eax
add esp, 0xc
call fcn.004585e0
push 2
push ebp
push esi
call fcn.004853aa
add esp, 0xc
cmp dword [0x4f777c], ebp
je 0x419209
cmp dword [0x4f7778], ebp
je 0x419209
mov ecx, dword [0x4f7768]
mov eax, dword [0x4f7770]
imul ecx, ecx, 0x1ef70
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 0x61d4ac], ebp
cmp dword [0x4f77a0], ebp
je 0x419233
cmp dword [0x4f779c], ebp
je 0x419233
mov eax, dword [0x4f7794]
lea edx, [eax + eax*4]
mov eax, dword [0x4f778c]
imul eax, eax, 0x1ef70
mov dword [eax + edx*8 + 0x61d4ac], ebp
call dword [0x4b939c]
push esi
push ebx
lea ecx, [esp + 0x2c]
push 4
push ecx
mov dword [esp + 0x34], eax
call fcn.00484db4
push esi
push 0x11
push ebx
push 0x4f774c
call fcn.00484db4
mov edx, dword [0x4f7764]
sub edx, dword [0x4f7760]
push esi
push ebx
lea eax, [esp + 0x48]
push 4
push eax
mov dword [esp + 0x50], edx
call fcn.00484db4
push esi
push ebx
push 0xe4
push 0x4fdcc0
call fcn.00484db4
add esp, 0x40
push esi
push ebx
push 4
push 0x4f9e38
call fcn.00484db4
push esi
push ebx
push 0x3c1c
push 0x4f9e58
call fcn.00484db4
push esi
push ebx
push 0x19b4
push 0x5f9fe0
call fcn.00484db4
push esi
push ebx
push 0x110
push 0x4fdaf0
call fcn.00484db4
add esp, 0x40
mov edi, 0x913128
push esi
push ebx
push 4
push edi
call fcn.00484db4
add edi, 4
add esp, 0x10
cmp edi, 0x913140
jl 0x4192d4
mov ebp, 0x5ff4c8
mov edi, 0x5f71a8
push esi
push ebx
push 0x150
push edi
call fcn.00484db4
push esi
push ebx
push 0x1ef70
push ebp
call fcn.00484db4
add edi, 0x150
add esp, 0x20
add ebp, 0x1ef70
cmp edi, 0x5f7ad8
jl 0x4192f6
push esi
push ebx
push 0xac
push 0x4fdc00
call fcn.00484db4
add esp, 0x10
mov edi, 0x6da3b8
push esi
push ebx
push 0x34
push edi
call fcn.00484db4
add edi, 0x34
add esp, 0x10
cmp edi, 0x6da4bc
jl 0x419340
push esi
push ebx
push 0x1c
push 0x4f4c8c
call fcn.00484db4
push esi
push ebx
push 0x2460
push 0x5fd048
call fcn.00484db4
push esi
push ebx
push 0x1c
push 0x4f9e3c
call fcn.00484db4
push esi
push ebx
push 0x11200c
push 0x6da4c0
call fcn.00484db4
add esp, 0x40
push esi
push ebx
push 0x5c4
push 0x4fed68
call fcn.00484db4
push esi
push ebx
push 0x4c
push 0x7ec560
call fcn.00484db4
push esi
push ebx
push 0x20
push 0x6da398
call fcn.00484db4
push esi
push ebx
push 0x424
push 0x4f4868
call fcn.00484db4
add esp, 0x40
push esi
push ebx
push 4
push 0x913074
call fcn.00484db4
push esi
push ebx
push 0x1c
push 0x4f5c48
call fcn.00484db4
push esi
push ebx
push 8
push 0x4e5d74
call fcn.00484db4
push esi
push ebx
push 8
push 0x4e5d7c
call fcn.00484db4
add esp, 0x40
push esi
push ebx
push 8
push 0x4e5d84
call fcn.00484db4
push esi
push ebx
push 0x20
push 0x7ec5ac
call fcn.00484db4
push esi
push ebx
push 4
push 0x91306c
call fcn.00484db4
mov eax, dword [0x913184]
add esp, 0x30
test eax, eax
je 0x419458
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
push esi
push ebx
lea ecx, [esp + 0x78]
push 8
push ecx
call fcn.00484db4
push esi
push ebx
push 0xd
push 0x4f5c64
call fcn.00484db4
push esi
push ebx
push 0x24
push 0x4fdda4
call fcn.00484db4
push esi
push ebx
push 4
push 0x913118
call fcn.00484db4
add esp, 0x40
mov edi, 0x9132b8
push esi
push ebx
lea edx, [edi - 8]
push 4
push edx
call fcn.00484db4
push esi
push ebx
lea eax, [edi - 4]
push 4
push eax
call fcn.00484db4
push esi
push ebx
push 8
push edi
call fcn.00484db4
add edi, 0x34
add esp, 0x30
cmp edi, 0x9133f0
jl 0x419498
mov ebp, dword [esp + 0x188]
cmp ebp, 0x65
jge 0x4194de
mov edi, dword [0x913144]
jmp 0x4194e6
call dword [0x4b939c]
mov edi, eax
mov edx, dword [0x4f3ea0]
mov ecx, dword [0x4f3eb4]
mov dword [esp + 0x28], edx
mov edx, dword [0x4f3ea4]
mov dword [esp + 0x2c], edx
mov edx, dword [0x4f3ea8]
push esi
mov eax, edi
sub eax, ecx
mov dword [esp + 0x34], edx
mov edx, dword [0x4f3eac]
mov dword [esp + 0x40], ecx
push ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edx
mov edx, dword [0x4f3eb0]
lea eax, [esp + 0x30]
push 0x18
push eax
mov dword [esp + 0x48], edx
call fcn.00484db4
mov edx, dword [0x5f7adc]
mov ecx, dword [0x5f7ad8]
mov eax, dword [0x5f7aec]
add esp, 0x10
mov dword [esp + 0x44], edx
mov edx, dword [0x5f7ae4]
push esi
mov dword [esp + 0x44], ecx
mov ecx, dword [0x5f7ae0]
push ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ecx
mov ecx, dword [0x5f7ae8]
lea edx, [esp + 0x48]
sub edi, eax
push 0x18
mov dword [esp + 0x60], eax
push edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edi
call fcn.00484db4
add esp, 0x10
mov edi, 0x6da290
push esi
push ebx
push 0x2c
push edi
call fcn.00484db4
add edi, 0x2c
add esp, 0x10
cmp edi, 0x6da398
jl 0x419592
cmp dword [0x91307c], 0
je 0x4195ba
mov eax, esi
call fcn.0045b3e0
cmp dword [0x913080], 0
je 0x4195c8
call fcn.0045e720
cmp dword [0x9130b0], 0
je 0x4195d6
call fcn.004598c0
push esi
push ebx
push 4
push 0x4fda98
call fcn.00484db4
push esi
push 0x3e8
push 2
push 0x6d80d8
call fcn.00484db4
push esi
push 0x44
push ebx
push 0x4f3e48
call fcn.00484db4
add esp, 0x30
cmp ebp, 0x65
jge 0x419634
cmp dword [esp + 0x18c], 0
jne 0x419634
mov eax, dword [0x4f5c80]
imul eax, eax, 0x45
mov edx, 0x4f3e48
add eax, 0x4f660b
mov cl, byte [edx]
mov byte [eax], cl
add edx, ebx
add eax, ebx
test cl, cl
jne 0x419628
push esi
call fcn.004854f7
add esp, 4
cmp ebp, 0x65
jge 0x4196bc
cmp dword [esp + 0x18c], 0
jne 0x4196d5
lea eax, [esp + 0x78]
push 0x4c70fc
push eax
call fcn.0048466b
mov edi, eax
add esp, 8
test edi, edi
je 0x419145
lea eax, [ebp - 1]
cdq
mov ecx, 0xa
idiv ecx
push 0x16c
push 0
mov esi, edx
imul edx, edx, 0x16c
add edx, 0x4f6904
push edx
call fcn.00487bc0
add esp, 0xc
push esi
mov ecx, edi
call fcn.004313b0
add esp, 4
push edi
call fcn.004854f7
add esp, 4
push 0
xor eax, eax
call fcn.0042e880
add esp, 4
mov dword [0x4f5c78], eax
jmp 0x4196d5
mov eax, dword [0x5f9fe0]
or eax, dword [0x4f9e6c]
mov dword [0x4f5c8c], ebx
je 0x4196d5
mov dword [0x4f5c94], ebx
cmp dword [0x4f777c], 0
je 0x419702
cmp dword [0x4f7778], 0
je 0x419702
mov edx, dword [0x4f7768]
mov eax, dword [0x4f7770]
imul edx, edx, 0x1ef70
lea ecx, [eax + eax*4]
mov dword [edx + ecx*8 + 0x61d4ac], ebx
cmp dword [0x4f77a0], 0
je 0x41972f
cmp dword [0x4f779c], 0
je 0x41972f
mov ecx, dword [0x4f778c]
mov eax, dword [0x4f7794]
imul ecx, ecx, 0x1ef70
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 0x61d4ac], ebx
pop edi
pop esi
pop ebp
mov dword [0x4f5c90], ebx
mov eax, ebx
pop ebx
add esp, 0x174
ret