Function at 0x487e10
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc8c
mov eax, dword [0x504b88]
xor eax, esp
mov dword [esp + 0xc88], eax
push ebx
push esi
push edi
push 0
mov ebx, ecx
mov dword [esp + 0x14], 0
call fcn.004a090d
add esp, 4
push edx
push eax
push 0x505c1b
lea eax, [esp + 0x89c]
push str._s_t_d
push eax
call fcn.0048d1d0
add esp, 0x14
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
push 0x4f9708
lea eax, [esp + 0x898]
push eax
call fcn.00487b10
mov esi, eax
test esi, esi
je 0x4881f5
lea eax, [esp + 0x688]
push eax
push 0x104
call dword [0x4c028c]
push 0
call fcn.004a090d
add esp, 4
push edx
push eax
lea eax, [esp + 0x690]
push eax
lea eax, [esp + 0x48c]
push str._supdate__d.txt
push eax
call fcn.0048d150
add esp, 0x14
lea eax, [esp + 0x480]
push 0x4f96e8
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004a1754
add esp, 0xc
test eax, eax
jne 0x487f09
push dword [esp + 0x14]
push dword [esp + 0x14]
push 1
push esi
call fcn.004a19cb
push dword [esp + 0x24]
call fcn.004a1d07
add esp, 0x14
push dword [esp + 0x14]
call fcn.004a1dd5
add esp, 4
mov byte [esp + 0xf], 1
jmp 0x487f0e
mov byte [esp + 0xf], 0
push esi
call fcn.00498099
add esp, 4
cmp byte [esp + 0xf], 0
jne 0x487f2f
push 0x40
push 0x4f94d4
push 0x4f9734
jmp 0x4881dc
lea eax, [esp + 0x480]
push eax
push 0
push str.count
push str.main
call dword [0x4c0270]
mov dword [ebx + 0xdd0], eax
lea eax, [esp + 0x480]
push eax
push 0x104
lea eax, [ebx + 0xdd4]
push eax
push 0x4f9fac
push 0x4f9700
push str.main
call dword [0x4c026c]
xor esi, esi
mov dword [esp + 0x10], esi
cmp dword [ebx + 0xdd0], esi
jle 0x488070
lea edi, [ebx + 0xfdc]
push 0x410
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.0049a8c0
add esp, 0xc
lea eax, [esp + 0x438]
push esi
push str.file__d
push eax
call fcn.0048d210
add esp, 0xc
lea eax, [esp + 0x480]
push eax
push 0x104
lea eax, [esp + 0x30]
push eax
push 0x4f9fac
lea eax, [esp + 0x448]
push eax
push str.update
call dword [0x4c026c]
push esi
lea eax, [esp + 0x43c]
push str.md5__d
push eax
call fcn.0048d210
add esp, 0xc
lea eax, [esp + 0x480]
push eax
push 0x104
lea eax, [esp + 0x238]
push eax
push 0x4f9fac
lea eax, [esp + 0x448]
push eax
push str.update
call dword [0x4c026c]
mov eax, dword [edi + 4]
cmp dword [edi + 8], eax
je 0x488052
mov ecx, 0x104
lea esi, [esp + 0x28]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
add dword [ebx + 0xfe0], 0x410
lea edi, [ebx + 0xfdc]
mov esi, dword [esp + 0x10]
jmp 0x48805f
lea ecx, [esp + 0x28]
push ecx
push eax
mov ecx, edi
call fcn.0048d250
inc esi
mov dword [esp + 0x10], esi
cmp esi, dword [ebx + 0xdd0]
jl 0x487f90
lea eax, [esp + 0x480]
push eax
call dword [0x4c029c]
push 4
push 0
lea eax, [esp + 0x488]
push eax
call dword [0x4c0288]
mov ecx, ebx
call fcn.00488210
test eax, eax
je 0x4881f5
mov ecx, ebx
call fcn.00488420
test al, al
je 0x4881d0
mov edi, dword [0x4c03d4]
push 0
push str.Lineage
call edi
mov ebx, dword [0x4c03d0]
mov esi, eax
push esi
call ebx
test eax, eax
je 0x488108
nop dword [eax]
lea eax, [esp + 0x10]
push eax
push esi
call dword [0x4c03cc]
push dword [esp + 0x10]
push 0
push 1
call dword [0x4c02a4]
push 0xdc
push eax
call dword [0x4c0268]
push 0
push str.Lineage
call edi
mov esi, eax
push esi
call ebx
test eax, eax
jne 0x4880d0
xorps xmm0, xmm0
mov dword [esp + 0x438], 0x44
lea eax, [esp + 0x28]
movlpd qword [esp + 0x43c], xmm0
push eax
push 0x104
movlpd qword [esp + 0x44c], xmm0
movlpd qword [esp + 0x454], xmm0
movlpd qword [esp + 0x45c], xmm0
movlpd qword [esp + 0x464], xmm0
movlpd qword [esp + 0x46c], xmm0
movlpd qword [esp + 0x474], xmm0
movlpd qword [esp + 0x47c], xmm0
call dword [0x4c0280]
push str.eat.exe
lea eax, [esp + 0x2c]
push 0x104
push eax
call fcn.004a314c
add esp, 0xc
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x43c]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x48]
push eax
push 0
call dword [0x4c0278]
test eax, eax
je 0x4881f5
push 0xffffffffffffffff
push dword [esp + 0x1c]
call dword [0x4c02a8]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc88]
xor ecx, esp
call fcn.00498041
mov esp, ebp
pop ebp
ret
push 0x40
push 0x4f94d4
push 0x4f9768
push dword [ebx + 4]
call dword [0x4c03dc]
mov ecx, dword [ebx + 0x4c8]
push 1
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov ecx, dword [esp + 0xc94]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00498041
mov esp, ebp
pop ebp
ret