Function at 0x403430
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
movsd xmm1, qword [0x4ab448]
sub esp, 0x42c
addsd xmm1, qword [0x49d110]
movsd xmm0, qword [0x49cfb0]
comisd xmm0, xmm1
jbe 0x403469
movzx eax, word [0x4ab388]
sub eax, 0x3609a76c
mov word [0x4ab388], ax
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.00425210
cmp eax, 0x8000
jbe 0x403dc5
dec word [0x4ab2b0]
movsx eax, word [0x4ab2b0]
movsd xmm0, qword [0x4ab498]
push esi
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4ab498], xmm0
movss xmm1, dword [0x4ab440]
movsx eax, word [0x4ab07c]
sub eax, 0x93c00fc
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ab440], xmm1
movsx eax, word [0x4ab0c4]
sub eax, 0x91495b1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ab1bc], xmm0
movzx eax, word [0x4ab074]
add eax, 0x55fd47f4
mov word [0x4ab074], ax
lea eax, [ebp - 0x11c]
push eax
call fcn.004312c0
movss xmm1, dword [0x4ab1d4]
mov esi, eax
subss xmm1, dword [0x49eb5c]
movss xmm0, dword [0x4ab11c]
addss xmm0, xmm1
movss dword [0x4ab11c], xmm0
movss xmm0, dword [0x4ab1d4]
subss xmm0, dword [0x49cfa4]
movss dword [0x4ab1d4], xmm0
call fcn.00406330
movzx eax, al
and eax, 0x80000003
jns 0x40355c
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
lea eax, [ebp - 0x11c]
add eax, esi
push eax
call fcn.0042f5a0
movsd xmm1, qword [0x4ab280]
movsx eax, word [0x4ab024]
addsd xmm1, qword [0x49e060]
push 5
push 0x11b3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, qword [0x49dc98]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ab024], ax
movsd xmm0, qword [0x4ab280]
subsd xmm0, qword [0x49cfa8]
movsd qword [0x4ab280], xmm0
call fcn.00414350
mov ecx, 0x2cbc
mov dword [ebp - 4], eax
mov edx, eax
mov word [0x4ab124], cx
add esp, 0x14
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4035e0
push edi
lea edi, [ebp - 0x11c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4035f1
movsd xmm1, qword [0x4ab1a0]
mov ecx, edx
movsd xmm0, qword [0x49e470]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
ucomisd xmm0, xmm1
rep movsb byte es:[edi], byte [esi]
lahf
test ah, 0x44
jnp 0x40363a
movsx eax, word [0x4ab2cc]
add eax, 0xd588920d
add dword [0x4ab170], eax
dec word [0x4ab2cc]
push 3
push 0x32b0
call fcn.00414350
movsd xmm0, qword [0x4ab308]
add esp, 8
addsd xmm0, qword [0x49cfa8]
mov edi, eax
movsd qword [0x4ab308], xmm0
movsd xmm1, qword [0x4ab308]
mov ecx, dword [0x4ab190]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x49e010]
comisd xmm0, xmm1
jb 0x403719
mov eax, dword [0x4ab0b4]
movss xmm0, dword [0x4ab2f4]
add eax, 0x33bb94
movd xmm2, eax
movsx eax, word [0x4ab15c]
movss xmm1, dword [0x4ab078]
cvtdq2ps xmm2, xmm2
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [0x4ab078]
addss xmm0, dword [0x49cfa4]
comiss xmm1, xmm2
movss dword [0x4ab078], xmm0
movss xmm0, dword [0x4ab2f4]
addss xmm0, dword [0x49cfa4]
movss dword [0x4ab2f4], xmm0
jb 0x403719
movsd xmm0, qword [0x4ab2f8]
movsd xmm1, qword [0x49d360]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov word [0x4ab22c], ax
push dword [ebp - 4]
push 5
call fcn.004083d0
movsd xmm1, qword [0x4ab200]
movsx eax, word [0x4ab0bc]
push edi
movd xmm0, eax
lea eax, [ebp - 0x11c]
cvtdq2pd xmm0, xmm0
push eax
subsd xmm1, xmm0
subsd xmm1, qword [0x49fbb0]
cvtpd2ps xmm0, xmm1
movss dword [0x4ab11c], xmm0
dec word [0x4ab0bc]
call fcn.00458792
movss xmm0, dword [0x4ab384]
add esp, 0x10
movss xmm2, dword [0x49cfa4]
mov esi, eax
addss xmm0, xmm2
movss dword [0x4ab384], xmm0
movsd xmm1, qword [0x4ab3e8]
movss xmm0, dword [0x4ab384]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x49d4d0]
comisd xmm0, xmm1
jb 0x4037e4
movsx eax, word [0x4ab4b8]
movss xmm0, dword [0x4ab2a4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov word [0x4ab4b8], ax
movss xmm0, dword [0x4ab2a4]
subss xmm0, xmm2
movss dword [0x4ab2a4], xmm0
push edi
push 3
call fcn.004083d0
movss xmm0, dword [0x4ab070]
add esp, 8
cvtps2pd xmm1, xmm0
pop edi
movsd xmm0, qword [0x4ab3e0]
addsd xmm0, xmm1
movsd qword [0x4ab3e0], xmm0
movss xmm0, dword [0x4ab070]
addss xmm0, dword [0x49cfa4]
movss dword [0x4ab070], xmm0
test esi, esi
je 0x403d3a
movsd xmm0, qword [0x4ab328]
mov ecx, ebx
cvttsd2si eax, xmm0
push esi
push 1
mov dword [0x4ab120], eax
movsd xmm0, qword [0x4ab328]
subsd xmm0, qword [0x49cfa8]
movsd qword [0x4ab328], xmm0
mov dword [0x4ab314], 0x4e3f477c
call fcn.00425210
push eax
mov ecx, ebx
call fcn.00407460
push eax
call fcn.00458abe
movss xmm0, dword [0x4ab2e0]
add esp, 0x10
movsd xmm1, qword [0x4ab280]
addsd xmm1, qword [0x49cfc0]
cvtps2pd xmm2, xmm0
movss xmm0, dword [0x4ab2e0]
comisd xmm2, xmm1
subss xmm0, dword [0x49cfa4]
movss dword [0x4ab2e0], xmm0
jbe 0x403908
movsd xmm1, qword [0x4ab010]
mov ecx, 0x557587aa
mov eax, dword [0x4ab02c]
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x403917
movsx eax, word [0x4ab0b8]
movss xmm0, dword [0x4ab4f0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4ab468], eax
dec word [0x4ab0b8]
jmp 0x403917
imul eax, dword [0x4ab2c8], 0x73b1d9a9
mov dword [0x4ab2c8], eax
push esi
call fcn.004581a3
mov eax, dword [0x4ab170]
add esp, 4
movsd xmm0, qword [0x4ab390]
mov ecx, ebx
addsd xmm0, qword [0x49dfa0]
movd xmm1, eax
mov eax, dword [0x4ab030]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ab030], eax
movsd xmm0, qword [0x4ab390]
subsd xmm0, qword [0x49cfa8]
movsd qword [0x4ab390], xmm0
call fcn.004084c0
add dword [0x4ab3d8], 0xb3e93e1
movzx eax, word [0x4ab260]
movsx ecx, ax
mov eax, dword [0x4ab168]
add eax, 0x29b00218
mov byte [ebp - 0x120], 0
add eax, ecx
mov dword [0x4ab06c], eax
lea eax, [ebp - 0x224]
inc dword [0x4ab168]
push 0x104
push eax
push 0
call dword [0x4ac190]
movzx eax, word [0x4ab180]
sub eax, 0x6b2a0b3
mov byte [ebp - 0x225], 0
mov word [0x4ab180], ax
inc word [0x4ab4dc]
movss xmm0, dword [0x4ab1bc]
addss xmm0, dword [0x49cfa4]
movss dword [0x4ab1bc], xmm0
movzx eax, word [0x4ab25c]
movsx ecx, ax
movsx eax, word [0x4ab4dc]
movss xmm0, dword [0x4ab1bc]
add eax, 0xbca95dbf
subss xmm0, dword [0x49f000]
add eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x403a42
movzx eax, word [0x4ab268]
add eax, 0x7b16c89b
mov word [0x4ab268], ax
push 0x15
push 0x31b1
call fcn.00414350
mov ecx, dword [0x4ab208]
mov esi, eax
movsd xmm1, qword [0x4ab220]
movss xmm0, dword [0x4ab21c]
subsd xmm1, qword [0x49f818]
push dword [0x4ac8d4]
cvtps2pd xmm0, xmm0
push dword [0x4ac8bc]
movd xmm2, ecx
addsd xmm0, xmm1
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [0x4ab208], eax
lea eax, [ebp - 0x224]
push eax
push esi
lea eax, [ebp - 0x42c]
push 0x207
push eax
call fcn.00407e20
movsd xmm0, qword [0x4ab108]
addsd xmm0, qword [0x4ab368]
push esi
push 0x15
movsd qword [0x4ab368], xmm0
call fcn.004083d0
movsd xmm0, qword [0x49fdd8]
push dword [0x4ac8d4]
movsd qword [0x4ab460], xmm0
call fcn.00403fb0
movzx eax, word [0x4ab430]
mov ecx, dword [0x4ab170]
cwde
add ecx, eax
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x11c]
mov word [0x4ab430], cx
push eax
call fcn.0041d950
movzx eax, word [0x4ab268]
mov ecx, dword [0x4ab444]
cwde
sub ecx, eax
mov eax, dword [0x4ab454]
movss xmm0, dword [0x4ab110]
sub ecx, eax
push 0x208
lea eax, [ebp - 0x42c]
push 0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
push eax
mulss xmm0, xmm1
movss dword [0x4ab110], xmm0
inc word [0x4ab268]
call fcn.0044afc0
mov eax, dword [0x4ab3f0]
add esp, 0x40
movss xmm0, dword [0x4ab1c0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
push 0x105
push 0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ab088], ax
lea eax, [ebp - 0x224]
movss xmm0, dword [0x4ab1c0]
subss xmm0, dword [0x49cfa4]
push eax
movss dword [0x4ab1c0], xmm0
call fcn.0044afc0
movzx eax, word [0x4ab15c]
add esp, 0xc
sub eax, 0x29d6f3c7
mov word [0x4ab15c], ax
push 0x15f90
call dword [0x4ac1ec]
movss xmm0, dword [0x4ab2f4]
subss xmm0, dword [0x49cfa4]
movss dword [0x4ab2f4], xmm0
movss xmm1, dword [0x4ab2f4]
mov eax, dword [0x4ab45c]
subss xmm1, dword [0x4a03a0]
add eax, 0x4ed64399
subss xmm1, dword [0x49f0f0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x403c56
movsx eax, word [0x4ab3f4]
movss xmm0, dword [0x4ab2b8]
movd xmm1, eax
mov eax, dword [0x4ab190]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [0x4ab200], xmm0
inc word [0x4ab3f4]
lea eax, [ebp - 0x11c]
push eax
call dword [0x4ac13c]
movsd xmm0, qword [0x4ab4c8]
subsd xmm0, qword [0x49f9d0]
comisd xmm0, xmmword [0x49f678]
jbe 0x403d3a
movss xmm2, dword [0x4ab23c]
movsx eax, word [0x4ab074]
movss xmm0, dword [0x4ab23c]
sub eax, 0x2846fb94
subss xmm2, dword [0x49f220]
addss xmm0, dword [0x49cfa4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [0x4ab23c], xmm0
comiss xmm1, xmm2
jb 0x403cfd
mov eax, dword [0x4ab218]
movsd xmm0, qword [0x4ab3a0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ab218], eax
movsd xmm0, qword [0x4ab3a0]
subsd xmm0, qword [0x49cfa8]
movsd qword [0x4ab3a0], xmm0
jmp 0x403d3a
inc word [0x4ab2b4]
movsx eax, word [0x4ab470]
movd xmm2, eax
movsx eax, word [0x4ab2b4]
movss xmm1, dword [0x4ab1d4]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov word [0x4ab470], ax
movsx eax, word [0x4ab47c]
movsd xmm0, qword [0x4ab010]
subsd xmm0, qword [0x49d7c8]
push 0x118
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push 0
addsd xmm0, qword [0x49da68]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov word [0x4ab47c], ax
lea eax, [ebp - 0x11c]
push eax
call fcn.0044afc0
add esp, 0xc
dec dword [0x4ab3dc]
mov eax, dword [0x4ab3dc]
movss xmm0, dword [0x4ab300]
addss xmm0, dword [0x49f560]
pop esi
movd xmm1, eax
mov eax, dword [0x4ab3d8]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ab3d8], eax
movsx eax, word [0x4ab484]
pop ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ab414], xmm0
inc word [0x4ab484]
mov esp, ebp
pop ebp
ret