Function at 0x42bb20
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
movsx eax, word [0x4a6128]
sub esp, 0x42c
movzx ecx, word [0x4a60b4]
add eax, 0xac396e82
imul ecx, eax
push ebx
mov ebx, dword [ebp + 8]
mov word [0x4a60b4], cx
mov ecx, ebx
inc word [0x4a6128]
call fcn.00406770
cmp eax, 0x8000
jbe 0x42c4ba
inc dword [0x4a6508]
mov eax, dword [0x4a6508]
movss xmm0, dword [0x4a61cc]
add eax, 0x23373b2d
push esi
push edi
movd xmm1, eax
mov eax, 0x4257
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4a61cc], xmm0
mov word [0x4a642c], ax
movsx eax, word [0x4a64dc]
movss xmm0, dword [0x4a622c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4a64dc], ax
lea eax, [ebp - 0x11c]
movss xmm0, dword [0x4a622c]
addss xmm0, dword [0x4991d8]
push eax
movss dword [0x4a622c], xmm0
movss xmm0, dword [0x4a60ac]
mulss xmm0, dword [0x49bc84]
movss dword [0x4a60ac], xmm0
call fcn.00404dd0
imul ecx, dword [0x4a62a0], 0x5c5dc562
mov esi, eax
mov dword [0x4a62a0], ecx
call fcn.0043c0d0
movzx ecx, al
and ecx, 0x80000003
jns 0x42bc22
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
lea eax, [ebp - 0x11c]
push ecx
add eax, esi
push eax
call fcn.00437380
mov eax, dword [0x4a64b0]
movss xmm1, dword [0x4a61b4]
subss xmm1, dword [0x49bbac]
push 5
movd xmm2, eax
mov eax, dword [0x4a62d8]
cvtdq2ps xmm2, xmm2
push 0x1d7b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
subss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [0x4a64b0], eax
inc dword [0x4a62d8]
call fcn.004378f0
movsd xmm0, qword [0x4a6510]
mov edx, eax
subsd xmm0, qword [0x499960]
add esp, 0x14
mov dword [ebp - 4], eax
mov esi, edx
movsd qword [0x4a6510], xmm0
mov al, byte [edx]
inc edx
test al, al
jne 0x42bca1
lea edi, [ebp - 0x11c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42bcb1
movss xmm0, dword [0x4a60b0]
mov ecx, edx
movsx eax, word [0x4a62c8]
subss xmm0, dword [0x49bc70]
movss xmm1, dword [0x4a6430]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
movd xmm2, eax
mov ecx, edx
movsx eax, word [0x4a653c]
and ecx, 3
cvtdq2ps xmm2, xmm2
rep movsb byte es:[edi], byte [esi]
inc word [0x4a653c]
addss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x4a6430]
addss xmm0, dword [0x4991d8]
movss dword [0x4a6430], xmm0
inc word [0x4a62c8]
comiss xmm2, xmm1
jb 0x42bd5d
movsx eax, word [0x4a64ac]
mov ecx, 0x4d1070c
sub ecx, eax
cmp ecx, 0x7d612aec
jle 0x42bd5d
movss xmm0, dword [0x4a6224]
subss xmm0, dword [0x49b18c]
cvttss2si eax, xmm0
mov dword [0x4a61e4], eax
push 3
push 0x327e
call fcn.004378f0
movzx ecx, word [0x4a6524]
mov esi, eax
push dword [ebp - 4]
add ecx, 0x59ed5432
push 5
mov word [0x4a6524], cx
call fcn.00418b90
movss xmm0, dword [0x4a601c]
add esp, 0x10
addss xmm0, dword [0x4991d8]
movss dword [0x4a601c], xmm0
movss xmm0, dword [0x4a6018]
subss xmm0, dword [0x4991d8]
movss dword [0x4a6018], xmm0
movsd xmm0, qword [0x4a62e0]
subsd xmm0, qword [0x4991e0]
movsd qword [0x4a62e0], xmm0
mov eax, dword [0x4a639c]
movss xmm0, dword [0x4a601c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm2, xmm0
movss xmm0, dword [0x4a6018]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4a62e0]
subsd xmm1, xmm0
comisd xmm1, xmm2
jb 0x42be33
mov eax, dword [0x4a6378]
mov ecx, 0xf4e35f29
sub ecx, eax
movsx eax, word [0x4a6200]
dec dword [0x4a6378]
cmp ecx, eax
jge 0x42be57
movsd xmm0, qword [0x4a6040]
jmp 0x42be57
movss xmm1, dword [0x4a6238]
subss xmm1, dword [0x49b1e4]
movss xmm0, dword [0x4a64d0]
addss xmm0, xmm1
movss dword [0x4a64d0], xmm0
lea eax, [ebp - 0x11c]
push esi
push eax
call fcn.004534be
movsd xmm0, qword [0x4a6290]
add esp, 8
mov ecx, dword [0x4a6140]
mov edi, eax
subsd xmm0, qword [0x49a760]
movd xmm2, ecx
mov ecx, dword [0x4a6340]
cvtdq2pd xmm2, xmm2
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [0x4a6110]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
ucomisd xmm2, xmm0
lahf
inc dword [0x4a6340]
inc dword [0x4a6140]
test ah, 0x44
jp 0x42bed0
movzx eax, word [0x4a642c]
imul eax, eax, 0x2daf1251
mov word [0x4a642c], ax
push esi
push 3
call fcn.00418b90
movzx eax, word [0x4a6180]
add esp, 8
movsx ecx, ax
movzx eax, word [0x4a630c]
sub ecx, eax
sub ecx, 0x28f9b
mov word [0x4a64bc], cx
dec word [0x4a6180]
dec word [0x4a630c]
test edi, edi
je 0x42c47a
movss xmm0, dword [0x4a6004]
subss xmm0, dword [0x49b42c]
movss dword [0x4a6004], xmm0
movss xmm1, dword [0x4a64d4]
addss xmm1, dword [0x4a6028]
mov ax, word [0x4a6230]
mov ecx, dword [0x4a6508]
cwde
add ecx, eax
subss xmm1, dword [0x49bb84]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm1, xmm0
movss xmm0, dword [0x4a64d4]
subss xmm0, dword [0x4991d8]
lahf
movss dword [0x4a64d4], xmm0
movss xmm0, dword [0x4a6028]
subss xmm0, dword [0x4991d8]
movss dword [0x4a6028], xmm0
test ah, 0x44
jp 0x42bfc5
movsd xmm1, qword [0x4a6530]
movsx eax, word [0x4a6398]
addsd xmm1, qword [0x49a8d0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, qword [0x499440]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4a6398], ax
push edi
push 1
mov ecx, ebx
call fcn.00406770
push eax
mov ecx, ebx
call fcn.0040b660
push eax
call fcn.004537ea
movsx eax, word [0x4a61f0]
movss xmm0, dword [0x4a64b8]
push edi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4a64b8], xmm0
dec word [0x4a61f0]
call fcn.00452ecf
movsd xmm0, qword [0x4a63c0]
add esp, 0x14
addsd xmm0, qword [0x4991e0]
mov ecx, ebx
movsd qword [0x4a63c0], xmm0
movsx eax, word [0x4a630c]
movsd xmm0, qword [0x4a63c0]
addsd xmm0, qword [0x49ad58]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov word [0x4a630c], ax
call fcn.00424ee0
movss xmm0, dword [0x4a60a8]
lea eax, [ebp - 0x224]
addss xmm0, dword [0x49bc44]
mov byte [ebp - 0x120], 0
push 0x104
push eax
push 0
movss dword [0x4a60a8], xmm0
movss xmm0, dword [0x4a63dc]
subss xmm0, dword [0x4991d8]
movss dword [0x4a63dc], xmm0
movss xmm1, dword [0x4a6364]
movss xmm0, dword [0x4a63dc]
addss xmm0, dword [0x49bd88]
subss xmm1, xmm0
movss dword [0x4a6364], xmm1
call dword [0x4a703c]
movsd xmm0, qword [0x4a6138]
subsd xmm0, qword [0x4991e0]
movsd qword [0x4a6138], xmm0
movsx eax, word [0x4a6520]
movsd xmm1, qword [0x4a6138]
movd xmm0, eax
mov eax, dword [0x4a62c4]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [0x4a61a8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4a61a8], xmm0
dec dword [0x4a62c4]
inc word [0x4a6520]
movss xmm1, dword [0x4a6504]
movss xmm0, dword [0x4a62ec]
mov eax, dword [0x4a638c]
subss xmm1, dword [0x49ca98]
mov byte [ebp - 0x225], 0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4a638c], eax
movss xmm0, dword [0x4a62ec]
addss xmm0, dword [0x4991d8]
push 0x15
push 0x1f19
movss dword [0x4a62ec], xmm0
call fcn.004378f0
mov cx, word [0x4a651c]
add esp, 8
movsx edx, word [0x4a6398]
mov esi, eax
movss xmm1, dword [0x4a650c]
movss xmm0, dword [0x4a6154]
movsx ecx, cx
add edx, ecx
movd xmm2, edx
cvtdq2ps xmm2, xmm2
addss xmm0, xmm2
ucomiss xmm1, xmm0
lahf
dec word [0x4a651c]
movss xmm0, dword [0x4a650c]
addss xmm0, dword [0x4991d8]
movss dword [0x4a650c], xmm0
test ah, 0x44
jp 0x42c226
movsx eax, word [0x4a60e4]
sub eax, 0x2ecca64b
cmp eax, 0x3b4dc321
jne 0x42c271
movsd xmm0, qword [0x4a6298]
movsd xmm0, qword [0x4a6298]
subsd xmm0, qword [0x4991e0]
movsd qword [0x4a6298], xmm0
jmp 0x42c271
movsd xmm0, qword [0x4a6450]
addsd xmm0, qword [0x4991e0]
movsd qword [0x4a6450], xmm0
movsx eax, word [0x4a64a4]
movss xmm0, dword [0x4a6348]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4a6450]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov word [0x4a6470], ax
push dword [0x4a777c]
lea eax, [ebp - 0x224]
push dword [0x4a7764]
push eax
push esi
lea eax, [ebp - 0x42c]
push 0x207
push eax
call fcn.0040c310
mov eax, dword [0x4a61dc]
movsd xmm0, qword [0x4a6270]
add eax, 0x7c24ac15
push esi
push 0x15
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4a6270], xmm0
call fcn.00418b90
movsd xmm1, qword [0x4a6540]
movss xmm0, dword [0x4a605c]
subsd xmm1, qword [0x499708]
push dword [0x4a777c]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
movsd qword [0x4a6040], xmm0
call fcn.0040ad00
movss xmm0, dword [0x4a64c4]
add esp, 0x24
movsd xmm1, qword [0x499ec8]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4a6218]
subsd xmm2, xmm0
movsd xmm0, qword [0x4a6218]
subsd xmm0, qword [0x4991e0]
comisd xmm1, xmm2
movsd qword [0x4a6218], xmm0
jb 0x42c346
movsd xmm0, qword [0x49c398]
movsd qword [0x4a6218], xmm0
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0043daf0
add dword [0x4a624c], 0x9b5d962
lea eax, [ebp - 0x42c]
push 0x208
push 0
push eax
call fcn.00447ab0
movzx eax, word [0x4a63f4]
movsx ecx, ax
movzx eax, word [0x4a64dc]
sub ecx, eax
lea eax, [ebp - 0x224]
push 0x105
sub ecx, 0x43d6a984
push 0
push eax
mov word [0x4a63f4], cx
call fcn.00447ab0
mov eax, dword [0x4a62a0]
add esp, 0x20
movss xmm0, dword [0x4a63d8]
sub eax, 0x58b33008
push 0x15f90
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4a63d8], xmm0
call dword [0x4a7098]
movss xmm0, dword [0x4a62fc]
subss xmm0, dword [0x4991d8]
movss dword [0x4a62fc], xmm0
mov eax, dword [0x4a64b0]
movss xmm0, dword [0x4a62fc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4a64b0], eax
lea eax, [ebp - 0x11c]
push eax
call dword [0x4a6fe8]
movss xmm1, dword [0x4a61d8]
subss xmm1, dword [0x49b20c]
movss xmm0, dword [0x4a645c]
subss xmm1, xmm0
movss xmm0, dword [0x49cbb4]
comiss xmm0, xmm1
jbe 0x42c47a
inc dword [0x4a62cc]
mov eax, dword [0x4a62cc]
sub eax, 0x1d2ff7d3
cmp eax, 0x8cfc9f6c
jg 0x42c47a
movsd xmm0, qword [0x4a6338]
mulsd xmm0, qword [0x49a8a0]
movsd qword [0x4a6338], xmm0
movsd xmm0, qword [0x4a6010]
lea eax, [ebp - 0x11c]
mulsd xmm0, qword [0x49be38]
push 0x118
push 0
push eax
movsd qword [0x4a6010], xmm0
call fcn.00447ab0
movsd xmm0, qword [0x49c0a0]
add esp, 0xc
movsd qword [0x4a6008], xmm0
pop edi
pop esi
movss xmm0, dword [0x4a6100]
subss xmm0, dword [0x49b670]
pop ebx
movss dword [0x4a6100], xmm0
mov esp, ebp
pop ebp
ret