Function at 0x4454f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
inc word [0x4ad500]
sub esp, 0x428
mov ax, word [0x4ad500]
mov ecx, dword [0x4ad518]
movss xmm0, dword [0x4ad338]
cwde
add ecx, eax
movd xmm1, ecx
mov ecx, dword [ebp + 8]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ad050], xmm0
inc dword [0x4ad518]
call fcn.004067b0
movsd xmm3, qword [0x49ea58]
cmp eax, 0x8000
jbe 0x445df9
mov eax, dword [0x4ad4d8]
movss xmm0, dword [0x4ad098]
movss xmm1, dword [0x4a2a68]
subss xmm1, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [0x4ad4d8], eax
movzx eax, word [0x4ad018]
add eax, 0x5987f30a
mov word [0x4ad018], ax
movsx eax, word [0x4ad0b8]
dec word [0x4ad0b8]
cmp eax, 0xadd0b05
jge 0x4455d7
movss xmm2, dword [0x4ad17c]
movss xmm1, dword [0x4ad398]
movsx eax, word [0x4ad2c8]
subss xmm2, dword [0x4a1744]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
subss xmm1, xmm0
movss dword [0x4ad398], xmm1
jmp 0x4455f9
movsx eax, word [0x4ad2cc]
sub eax, 0x1665c691
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ad558], xmm0
inc word [0x4ad2cc]
movsd xmm0, qword [0x4ad598]
subsd xmm0, xmm3
push esi
push edi
movsd qword [0x4ad598], xmm0
movsd xmm0, qword [0x4ad598]
addsd xmm0, qword [0x4ad240]
cvttsd2si eax, xmm0
mov word [0x4ad168], ax
lea eax, [ebp - 0x118]
movsd xmm0, qword [0x4ad240]
subsd xmm0, xmm3
push eax
movsd qword [0x4ad240], xmm0
call fcn.004099a0
movsx ecx, word [0x4ad478]
mov esi, eax
movss xmm0, dword [0x4ad354]
sub ecx, 0x77a34589
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ad354], xmm0
dec word [0x4ad478]
call fcn.004271c0
movzx eax, al
and eax, 0x80000003
jns 0x44568e
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
lea eax, [ebp - 0x118]
add eax, esi
push eax
call fcn.0042b270
movsx ecx, word [0x4ad48c]
add esp, 0xc
mov eax, dword [0x4ad364]
add ecx, 0xc7f3b9b8
add eax, 0x5c0474c9
cmp ecx, eax
je 0x445717
dec dword [0x4ad27c]
mov eax, dword [0x4ad27c]
movsd xmm1, qword [0x4ad240]
add eax, 0x18f68d6e
movd xmm0, eax
movsx eax, word [0x4ad48c]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ad48c], ax
movsd xmm0, qword [0x4ad240]
addsd xmm0, qword [0x49ea58]
movsd qword [0x4ad240], xmm0
push ebx
push 5
push 0xf6c
call fcn.0040feb0
movsx ecx, word [0x4ad49c]
mov edx, 0xac277ee7
inc word [0x4ad49c]
sub edx, ecx
movsd xmm3, qword [0x49ea58]
add esp, 8
mov ebx, eax
cmp edx, 0x5d1238d6
jne 0x4457a6
movsx ecx, word [0x4ad3f4]
movsd xmm1, qword [0x4ad2e0]
mov eax, dword [0x4ad1fc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, qword [0x49f810]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad1fc], eax
dec word [0x4ad3f4]
movsd xmm0, qword [0x4ad2e0]
subsd xmm0, xmm3
movsd qword [0x4ad2e0], xmm0
mov edx, ebx
mov esi, ebx
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4457b0
lea edi, [ebp - 0x118]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4457c0
mov eax, dword [0x4ad388]
mov ecx, edx
shr ecx, 2
add eax, 0x41ce878c
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp eax, 0x26b37482
jl 0x445830
movsx ecx, word [0x4ad430]
movsx eax, word [0x4ad3f4]
add ecx, 0x4b0c9da8
cmp ecx, eax
jge 0x4458dc
movss xmm0, dword [0x4ad360]
movsd xmm1, qword [0x4ad670]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
subsd xmm1, qword [0x49f0e8]
cvttsd2si eax, xmm1
mov dword [0x4ad1e8], eax
jmp 0x4458dc
movsd xmm0, qword [0x4ad318]
subsd xmm0, xmm3
movsd qword [0x4ad318], xmm0
inc dword [0x4ad178]
movsd xmm1, qword [0x4ad1c8]
movsd xmm0, qword [0x4ad318]
mov eax, dword [0x4ad178]
subsd xmm1, xmm0
movd xmm2, eax
mov eax, dword [0x4ad284]
add eax, dword [0x4ad120]
dec dword [0x4ad284]
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm0
jb 0x44589a
mov dword [0x4ad43c], 0xcec0dad4
jmp 0x4458dc
movsd xmm0, qword [0x4ad0e0]
mov eax, dword [0x4ad5b4]
movsd xmm1, qword [0x49f450]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad5b4], eax
movsd xmm0, qword [0x4ad0e0]
subsd xmm0, xmm3
movsd qword [0x4ad0e0], xmm0
push 3
push 0x28f3
call fcn.0040feb0
movsd xmm0, qword [0x4ad2a8]
mov esi, eax
subsd xmm0, qword [0x49f008]
push ebx
push 5
movsd qword [0x4ad2a8], xmm0
call fcn.0040ab20
movzx ecx, word [0x4ad080]
lea eax, [ebp - 0x118]
add ecx, 0x3f0895bb
push esi
push eax
mov word [0x4ad080], cx
call fcn.0045a822
movss xmm0, dword [0x4ad454]
mov edi, eax
mulss xmm0, dword [0x4a2a5c]
push esi
push 3
movss dword [0x4ad454], xmm0
call fcn.0040ab20
inc dword [0x4ad464]
add esp, 0x20
mov ecx, dword [0x4ad464]
movsd xmm0, qword [0x4ad348]
pop ebx
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad3d0]
subsd xmm1, xmm0
movss xmm0, dword [0x4ad044]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad044], xmm0
movsd xmm0, qword [0x4ad348]
addsd xmm0, qword [0x49ea58]
movsd qword [0x4ad348], xmm0
test edi, edi
je 0x445d8a
movsd xmm0, qword [0x4ad370]
addsd xmm0, qword [0x4a0648]
mov esi, dword [ebp + 8]
mov ecx, esi
push edi
push 1
movsd qword [0x4ad370], xmm0
dec word [0x4ad1f8]
movsx eax, word [0x4ad1f8]
movss xmm0, dword [0x4ad45c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ad45c], xmm0
call fcn.004067b0
push eax
mov ecx, esi
call fcn.0043c530
push eax
call fcn.0045ab4e
movsx eax, word [0x4ad650]
movsd xmm1, qword [0x4ad138]
push edi
movd xmm0, eax
mov eax, dword [0x4ad5ac]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad5ac], eax
inc word [0x4ad650]
call fcn.0045a233
movzx eax, word [0x4ad148]
add esp, 0x14
sub eax, 0x6724ef07
mov ecx, esi
mov word [0x4ad148], ax
call fcn.00422e10
movzx eax, word [0x4ad3c8]
sub eax, 0x4ab0f41e
mov byte [ebp - 0x11c], 0
mov word [0x4ad3c8], ax
movzx eax, word [0x4ad544]
mov ecx, dword [0x4ad414]
cwde
imul ecx, eax
lea eax, [ebp - 0x220]
push 0x104
push eax
push 0
mov dword [0x4ad414], ecx
call dword [0x4ae320]
movsd xmm1, qword [0x4ad260]
addsd xmm1, qword [0x49fe58]
movsd xmm0, qword [0x4a2020]
push 0x15
mov byte [ebp - 0x221], 0
push 0x2893
subsd xmm0, xmm1
movsd qword [0x4ad658], xmm0
movss xmm0, dword [0x4ad580]
subss xmm0, dword [0x4a1008]
movss dword [0x4ad580], xmm0
call fcn.0040feb0
movsd xmm2, qword [0x4ad3a8]
add esp, 8
movsx ecx, word [0x4ad410]
mov esi, eax
dec word [0x4ad410]
movsd xmm0, qword [0x4ad3a8]
subsd xmm2, qword [0x4a2148]
addsd xmm0, qword [0x49ea58]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movsd qword [0x4ad3a8], xmm0
comisd xmm1, xmm2
jb 0x445b58
mov dword [0x4ad02c], 0xce8b67c0
push dword [0x4aea64]
lea eax, [ebp - 0x220]
push dword [0x4aea4c]
push eax
push esi
lea eax, [ebp - 0x428]
push 0x207
push eax
call fcn.004065b0
movsd xmm1, qword [0x4ad170]
movss xmm0, dword [0x4ad360]
cvtps2pd xmm0, xmm0
push esi
push 0x15
subsd xmm1, xmm0
movsd qword [0x4ad170], xmm1
movss xmm0, dword [0x4ad360]
addss xmm0, dword [0x49ea54]
movss dword [0x4ad360], xmm0
call fcn.0040ab20
mov ax, word [0x4ad3b8]
movzx ecx, word [0x4ad478]
cwde
imul ecx, eax
mov word [0x4ad478], cx
dec word [0x4ad3b8]
push dword [0x4aea64]
call fcn.004490b0
dec dword [0x4ad1fc]
mov eax, dword [0x4ad1fc]
movss xmm0, dword [0x4ad128]
add eax, 0x23b59cbd
movd xmm1, eax
lea eax, [ebp - 0x428]
cvtdq2ps xmm1, xmm1
push eax
lea eax, [ebp - 0x118]
push eax
addss xmm0, xmm1
movss dword [0x4ad128], xmm0
call fcn.004297b0
movsd xmm0, qword [0x4a1f88]
lea eax, [ebp - 0x428]
push 0x208
push 0
push eax
movsd qword [0x4ad2d0], xmm0
call fcn.0044d050
movsd xmm1, qword [0x4ad198]
mov eax, dword [section..data]
sub eax, 0x7d429274
push 0x105
push 0
movd xmm0, eax
lea eax, [ebp - 0x220]
cvtdq2pd xmm0, xmm0
push eax
subsd xmm1, xmm0
movsd qword [0x4ad198], xmm1
dec dword [section..data]
call fcn.0044d050
inc dword [0x4ad274]
add esp, 0x44
movsd xmm0, qword [0x4ad030]
mov eax, dword [0x4ad274]
subsd xmm0, qword [0x49f2c8]
push 0x15f90
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [0x4ad4a8]
addsd xmm0, xmm1
movsd qword [0x4ad4a8], xmm0
movsd xmm0, qword [0x4ad030]
addsd xmm0, qword [0x49ea58]
movsd qword [0x4ad030], xmm0
call dword [0x4ae37c]
movss xmm2, dword [0x4ad574]
movss xmm0, dword [0x4ad22c]
movsd xmm1, qword [0x4ad3c0]
subss xmm2, xmm0
movsx eax, word [0x4ad054]
movd xmm0, eax
lea eax, [ebp - 0x118]
cvtdq2ps xmm0, xmm0
push eax
addss xmm0, xmm2
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ad3c0], xmm1
inc word [0x4ad054]
call dword [0x4ae2cc]
movsd xmm0, qword [0x4ad2b0]
subsd xmm0, qword [0x49ea58]
movsd qword [0x4ad2b0], xmm0
movsd xmm1, qword [0x4ad2b0]
movss xmm0, dword [0x4ad560]
addsd xmm1, qword [0x49f1a8]
cvtps2pd xmm2, xmm0
movss xmm0, dword [0x4ad330]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [0x4ad330], xmm0
inc word [0x4ad024]
movsx eax, word [0x4ad024]
movsd xmm1, qword [0x4ad030]
push 0x118
push 0
movd xmm0, eax
lea eax, [ebp - 0x118]
cvtdq2pd xmm0, xmm0
push eax
addsd xmm1, xmm0
movss xmm0, dword [0x4ad248]
cvtps2pd xmm0, xmm0
subsd xmm1, qword [0x4a1dc0]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad248], xmm0
call fcn.0044d050
movsd xmm3, qword [0x49ea58]
add esp, 0xc
add dword [0x4ad5ac], 0xe505dc56
pop edi
pop esi
movsd xmm0, qword [0x4ad230]
movsd xmm1, qword [0x4a18e0]
addsd xmm0, xmm3
movsd qword [0x4ad230], xmm0
movsx eax, word [0x4ad204]
movsd xmm0, qword [0x4ad230]
subsd xmm1, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov word [0x4ad204], ax
mov esp, ebp
pop ebp
ret