Function at 0x409920
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x494
push esi
push edi
movsd xmm0, qword [0x466038]
subsd xmm0, qword [0x45b8f8]
movsd qword [0x466038], xmm0
mov ecx, dword [ebp + 8]
call fcn.00412a30
cmp eax, 0x8000
jbe 0x40a051
mov eax, dword [0x4661fc]
add eax, 0x54a1942f
mov ecx, dword [0x4662b8]
imul ecx, eax
mov dword [0x4662b8], ecx
movsd xmm0, qword [0x45c128]
subsd xmm0, qword [0x466078]
movsx edx, word [0x46611c]
cvtsi2sd xmm1, edx
comisd xmm1, xmm0
jbe 0x4099a5
movsx eax, word [0x466350]
mov ecx, dword [0x4660f4]
add ecx, eax
mov dword [0x4660f4], ecx
lea edx, [ebp - 0x184]
push edx
call fcn.00416810
add esp, 4
mov dword [ebp - 0x4c], eax
movsx eax, word [0x466268]
mov ecx, 0xc9e4611f
sub ecx, eax
sub ecx, 0x4e3cccce
cvtsi2sd xmm0, ecx
movsd xmm1, qword [0x4661c8]
subsd xmm1, xmm0
movsd qword [0x4661c8], xmm1
mov dx, word [0x466268]
sub dx, 1
mov word [0x466268], dx
call fcn.00420390
movzx eax, al
and eax, 0x80000003
jns 0x409a09
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
mov ecx, dword [ebp - 0x4c]
lea edx, [ebp + ecx - 0x184]
push edx
call fcn.00420ac0
add esp, 8
push 5
push 0x3f20
call fcn.00417b00
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
mov al, byte [edx]
mov byte [ebp - 2], al
add dword [ebp - 8], 1
cmp byte [ebp - 2], 0
jne 0x409a3e
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x44], ecx
lea eax, [ebp - 0x184]
add eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov dl, byte [ecx + 1]
mov byte [ebp - 1], dl
add dword [ebp - 0xc], 1
cmp byte [ebp - 1], 0
jne 0x409a6b
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movss xmm0, dword [0x45c4f4]
subss xmm0, dword [0x466308]
movss dword [ebp - 0x34], xmm0
mov ecx, dword [str.oke_]
add ecx, 0x5c9223e
cvtsi2ss xmm0, ecx
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [0x466308]
addss xmm0, dword [0x45b230]
movss dword [0x466308], xmm0
movss xmm0, dword [ebp - 0x34]
comiss xmm0, dword [ebp - 0x24]
jb 0x409bb1
movss xmm0, dword [0x46634c]
addss xmm0, dword [0x45b230]
movss dword [0x46634c], xmm0
movss xmm0, dword [0x46634c]
addss xmm0, dword [0x45c340]
addss xmm0, dword [0x466114]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [0x466370]
subss xmm0, dword [0x45c424]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [0x466114]
addss xmm0, dword [0x45b230]
movss dword [0x466114], xmm0
movss xmm0, dword [ebp - 0x48]
comiss xmm0, dword [ebp - 0x40]
jb 0x409baf
movss xmm0, dword [0x46634c]
subss xmm0, dword [0x45b230]
movss dword [0x46634c], xmm0
movss xmm0, dword [0x45c5dc]
subss xmm0, dword [0x466320]
subss xmm0, dword [0x46634c]
movss xmm1, dword [0x46624c]
subss xmm1, xmm0
movss dword [0x46624c], xmm1
movss xmm0, dword [0x466320]
subss xmm0, dword [0x45b230]
movss dword [0x466320], xmm0
jmp 0x409c0a
mov edx, dword [str.W._vU]
sub edx, 0x17636b0b
cvtsi2sd xmm0, edx
addsd xmm0, qword [0x466200]
movsx eax, word [0x466238]
cvtsi2sd xmm1, eax
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov word [0x466238], cx
movsd xmm0, qword [0x466200]
addsd xmm0, qword [0x45b238]
movsd qword [0x466200], xmm0
mov edx, dword [str.W._vU]
add edx, 1
mov dword [str.W._vU], edx
push 3
push 0x3178
call fcn.00417b00
add esp, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
push eax
push 5
call fcn.00404ba0
add esp, 8
mov ecx, dword [ebp - 0x18]
push ecx
lea edx, [ebp - 0x184]
push edx
call fcn.0042b147
add esp, 8
mov dword [ebp - 0x10], eax
movsd xmm0, qword [0x466060]
addsd xmm0, qword [0x45be70]
movsd qword [0x466060], xmm0
mov eax, dword [ebp - 0x18]
push eax
push 3
call fcn.00404ba0
add esp, 8
cmp dword [ebp - 0x10], 0
je 0x40a03b
mov cx, word [0x4663f4]
add cx, 1
mov word [0x4663f4], cx
movsx edx, word [0x4663f4]
movsx eax, word [0x46635c]
lea ecx, [edx + eax + 0x6bb6afae]
cmp ecx, 0xa98f6758
jne 0x409caf
movsd xmm0, qword [0x45bea8]
movsd qword [0x466220], xmm0
mov edx, dword [ebp - 0x10]
push edx
push 1
mov ecx, dword [ebp + 8]
call fcn.00412a30
push eax
mov ecx, dword [ebp + 8]
call fcn.00425f60
push eax
call fcn.0042b2fa
add esp, 0x10
mov eax, dword [ebp - 0x10]
push eax
call fcn.0042ae1c
add esp, 4
mov ecx, dword [ebp + 8]
call fcn.00405410
mov ecx, dword [0x46632c]
sub ecx, 0xeff641d
mov dword [0x46632c], ecx
mov edx, 1
imul eax, edx, 0x104
mov byte [ebp + eax - 0x28c], 0
movsd xmm0, qword [0x466078]
addsd xmm0, qword [0x45b260]
movsd qword [ebp - 0x64], xmm0
mov ecx, dword [0x4661f8]
sub ecx, 0x58f1b553
cvtsi2sd xmm0, ecx
movsd qword [ebp - 0x54], xmm0
movsd xmm0, qword [0x466078]
subsd xmm0, qword [0x45b238]
movsd qword [0x466078], xmm0
movsd xmm0, qword [ebp - 0x54]
comisd xmm0, xmmword [ebp - 0x64]
jb 0x409dcc
mov dx, word [0x466410]
add dx, 1
mov word [0x466410], dx
movss xmm0, dword [0x466170]
addss xmm0, dword [0x4663a8]
movss dword [ebp - 0x3c], xmm0
movsx eax, word [0x466410]
sub eax, dword [0x466330]
sub eax, 0x5357e84b
cvtsi2ss xmm0, eax
movss dword [ebp - 0x38], xmm0
mov ecx, dword [0x466330]
add ecx, 1
mov dword [0x466330], ecx
movss xmm0, dword [ebp - 0x38]
comiss xmm0, dword [ebp - 0x3c]
jbe 0x409dca
movsd xmm0, qword [0x466368]
addsd xmm0, qword [0x45bd70]
movsd qword [0x466368], xmm0
jmp 0x409de4
movsd xmm0, qword [0x466428]
addsd xmm0, qword [0x45bfb0]
movsd qword [0x466428], xmm0
push 0x104
lea edx, [ebp - 0x28c]
push edx
push 0
call dword [0x467c9c]
mov eax, 1
imul ecx, eax, 0x207
mov byte [ebp + ecx - 0x494], 0
movsx edx, word [0x4663d4]
mov dword [ebp - 0x28], edx
mov ax, word [0x4663d4]
sub ax, 1
mov word [0x4663d4], ax
cmp dword [ebp - 0x28], 0x3ad9281c
jne 0x409eb4
movss xmm0, dword [0x45bbb4]
subss xmm0, dword [0x466184]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [0x466184]
subss xmm0, dword [0x45b230]
movss dword [0x466184], xmm0
movss xmm0, dword [ebp - 0x30]
comiss xmm0, dword [0x45bb08]
jbe 0x409eb4
movsx ecx, word [0x466118]
mov edx, 0xe9dab1cc
sub edx, ecx
sub edx, dword [0x4662d4]
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x6c], xmm0
movsx eax, word [0x466124]
cvtsi2sd xmm0, eax
addsd xmm0, qword [0x466038]
movsd qword [ebp - 0x5c], xmm0
mov cx, word [0x466118]
sub cx, 1
mov word [0x466118], cx
push 0x15
push 0x1e8d
call fcn.00417b00
add esp, 8
mov dword [ebp - 0x20], eax
mov edx, dword [0x4683d8]
push edx
mov eax, dword [0x4683c0]
push eax
lea ecx, [ebp - 0x28c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
push 0x207
lea eax, [ebp - 0x494]
push eax
call fcn.0042b665
add esp, 0x18
mov ecx, dword [ebp - 0x20]
push ecx
push 0x15
call fcn.00404ba0
add esp, 8
movss xmm0, dword [0x4663dc]
addss xmm0, dword [0x45bbd8]
movss xmm1, dword [0x4661a0]
subss xmm1, xmm0
movss dword [0x4661a0], xmm1
mov edx, dword [0x4683d8]
push edx
call fcn.00421030
add esp, 4
movsx eax, word [0x46618c]
add eax, 0x47ba87f3
mov word [0x46618c], ax
lea ecx, [ebp - 0x494]
push ecx
lea edx, [ebp - 0x184]
push edx
call fcn.00421370
add esp, 8
push 0x208
push 0
lea eax, [ebp - 0x494]
push eax
call fcn.0042efb0
add esp, 0xc
movsd xmm0, qword [0x45b3c8]
subsd xmm0, qword [0x466318]
cvttsd2si ecx, xmm0
mov dword [0x4662e8], ecx
push 0x105
push 0
lea edx, [ebp - 0x28c]
push edx
call fcn.0042efb0
add esp, 0xc
movsx eax, word [0x4663bc]
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x466020]
subsd xmm1, xmm0
movsx ecx, word [0x4660bc]
cvtsi2sd xmm0, ecx
subsd xmm0, xmm1
cvttsd2si edx, xmm0
mov word [0x4660bc], dx
mov ax, word [0x4663bc]
sub ax, 1
mov word [0x4663bc], ax
push 0x15f90
call dword [0x467cf8]
lea ecx, [ebp - 0x184]
push ecx
call dword [0x467c48]
mov edx, dword [0x4662e8]
cvtsi2ss xmm0, edx
addss xmm0, dword [0x466088]
mov eax, dword [0x466188]
cvtsi2ss xmm1, eax
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov dword [0x466188], ecx
movss xmm0, dword [0x466088]
addss xmm0, dword [0x45b230]
movss dword [0x466088], xmm0
push 0x118
push 0
lea edx, [ebp - 0x184]
push edx
call fcn.0042efb0
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret