Function at 0x40d340
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1d8
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm7
movaps xmmword [rsp + 0x150], xmm8
movaps xmmword [rsp + 0x160], xmm9
movaps xmmword [rsp + 0x170], xmm10
movaps xmmword [rsp + 0x180], xmm11
movaps xmmword [rsp + 0x190], xmm12
movaps xmmword [rsp + 0x1a0], xmm13
movaps xmmword [rsp + 0x1b0], xmm14
movaps xmmword [rsp + 0x1c0], xmm15
mov r8d, dword [rcx + 0x570]
lea rax, [rcx + 0xc0]
mov rbx, rcx
mov rcx, qword [rcx + 0xc0]
mov qword [rsp + 0x110], 0
mov rdx, qword [rbx + 0xc8]
imul r8d, r8d
mov qword [rsp + 0x68], rax
mov rsi, rdx
sub rsi, rcx
sar rsi, 3
cmp r8, rsi
ja 0x40daa0
jae 0x40d3ff
lea rdx, [rcx + r8*8]
mov qword [rbx + 0xc8], rdx
cmp dword [rbx + 0x504], 1
jbe 0x40d4af
movq xmm6, qword [0x006d7100]
mov esi, 1
nop dword [rax]
mov r12d, esi
mov ecx, esi
mov ebp, 1
mov eax, dword [rbx + 0x574]
mov r9, qword [rbx + 0x588]
lea r14, [r12*8]
shl ebp, cl
mov rdi, r12
mov r8, qword [rbx + 0x6c0]
shr rdi, 5
mov r13d, ebp
shl rdi, 2
not r13d
add r9, r14
cvttss2si rcx, dword [r9 + 4]
add r8, rdi
and dword [r8], r13d
cmp ecx, eax
jb 0x40d4a0
cvttss2si rdx, dword [r9]
cmp eax, edx
ja 0x40d4a0
mov r10d, eax
not r10d
add r10d, dword [rbx + 0x3e0]
cmp ecx, r10d
ja 0x40d4a0
mov r11d, dword [rbx + 0x3dc]
lea r8d, [r11 - 1]
sub r8d, eax
cmp edx, r8d
jbe 0x40d520
nop
add esi, 1
cmp dword [rbx + 0x504], esi
ja 0x40d420
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
movaps xmm8, xmmword [rsp + 0x150]
movaps xmm9, xmmword [rsp + 0x160]
movaps xmm10, xmmword [rsp + 0x170]
movaps xmm11, xmmword [rsp + 0x180]
movaps xmm12, xmmword [rsp + 0x190]
movaps xmm13, xmmword [rsp + 0x1a0]
movaps xmm14, xmmword [rsp + 0x1b0]
movaps xmm15, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, ecx
mov r10d, edx
sub r9d, eax
sub r10d, eax
add eax, 1
add ecx, eax
add edx, eax
mov dword [rsp + 0x94], r9d
cmp r9d, ecx
mov dword [rsp + 0x98], r10d
jae 0x40e717
mov eax, r11d
imul r11d, r9d
sub ecx, r9d
mov dword [rsp + 0x78], ebp
movsd xmm9, qword [0x006d70d8]
xor r15d, r15d
mov qword [rsp + 0x70], r14
mov ebp, edx
movsd xmm10, qword [0x006d70e0]
mov qword [rsp + 0x80], rdi
mov edi, r10d
mov dword [rsp + 0x8c], r13d
mov r13d, ecx
mov dword [rsp + 0x90], esi
mov esi, eax
mov qword [rsp + 0x58], r12
nop word [rax + rax]
cmp edi, ebp
jae 0x40d68a
mov eax, dword [rbx + 0x570]
mov r8d, r11d
mov edx, dword [rbx + 0x510]
mov rcx, qword [rbx + 0xc0]
imul eax, r15d
mov r12d, eax
sub r12d, edi
lea r10d, [rbp + r12]
sub r8d, r12d
mov r14d, r10d
sub r14d, eax
and r14d, 3
je 0x40d75d
cmp r14d, 1
je 0x40d85b
cmp r14d, 2
je 0x40d7ef
lea r9d, [r8 + rax]
mov r12d, eax
cmp edx, 1
lea r12, [rcx + r12*8]
je 0x40d7c0
cmp edx, 2
je 0x40deb0
cmp edx, 3
je 0x40e15b
cmp edx, 4
je 0x40e72e
test edx, edx
jne 0x40deed
mov r14, qword [rbx]
pxor xmm0, xmm0
movzx r9d, word [r14 + r9*2]
cvtsi2sd xmm0, r9d
movsd qword [r12], xmm0
jmp 0x40d7d4
mov r11, qword [rbx + 0x18]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
add eax, 3
movapd xmm10, xmm9
cmp eax, r10d
minsd xmm10, xmm1
maxsd xmm9, xmm0
jne 0x40d767
mov r11d, dword [rsp + 0x60]
mov qword [rsp + 0x58], r14
add r15d, 1
add r11d, esi
cmp r13d, r15d
jne 0x40d5a0
mov r12, qword [rsp + 0x58]
mov r14, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x8c]
mov esi, dword [rsp + 0x90]
mov r15d, dword [rbx + 0x508]
cmp r15d, 2
je 0x40dbb9
cmp r15d, 3
je 0x40e174
movss xmm10, dword [rbx + 0x580]
ucomiss xmm10, xmm13
ja 0x40d707
movss xmm5, dword [rbx + 0x584]
ucomiss xmm13, xmm5
ja 0x40d707
ucomiss xmm10, xmm14
ja 0x40d707
ucomiss xmm14, xmm5
jbe 0x40def8
add rdi, qword [rbx + 0x6c0]
add esi, 1
and dword [rdi], r13d
cmp dword [rbx + 0x504], esi
ja 0x40d420
jmp 0x40d4af
mov r14, qword [rbx + 0x18]
pxor xmm2, xmm2
cvtss2sd xmm2, dword [r14 + r9*4]
movsd qword [r12], xmm2
movapd xmm4, xmm2
maxsd xmm2, xmm9
add eax, 1
minsd xmm4, xmm10
cmp eax, r10d
movapd xmm9, xmm2
movapd xmm10, xmm4
je 0x40d68a
mov r14, qword [rsp + 0x58]
mov dword [rsp + 0x60], r11d
lea r9d, [r8 + rax]
mov r11d, eax
cmp edx, 1
lea r12, [rcx + r11*8]
je 0x40d8b0
cmp edx, 2
je 0x40da40
cmp edx, 3
je 0x40db20
cmp edx, 4
je 0x40de40
test edx, edx
jne 0x40db70
mov r11, qword [rbx]
pxor xmm11, xmm11
movzx r9d, word [r11 + r9*2]
cvtsi2sd xmm11, r9d
movsd qword [r12], xmm11
jmp 0x40d8c5
mov r14, qword [rbx + 0x18]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r14 + r9*4]
movsd qword [r12], xmm0
movapd xmm3, xmm0
maxsd xmm0, xmm9
add eax, 1
minsd xmm3, xmm10
movapd xmm9, xmm0
movapd xmm10, xmm3
lea r9d, [r8 + rax]
mov r12d, eax
cmp edx, 1
lea r12, [rcx + r12*8]
je 0x40dda0
cmp edx, 2
je 0x40de60
cmp edx, 3
je 0x40db80
cmp edx, 4
je 0x40dec9
test edx, edx
jne 0x40dee2
mov r14, qword [rbx]
pxor xmm1, xmm1
movzx r9d, word [r14 + r9*2]
cvtsi2sd xmm1, r9d
movsd qword [r12], xmm1
nop dword [rax]
movapd xmm5, xmm1
maxsd xmm1, xmm9
add eax, 1
minsd xmm5, xmm10
movapd xmm9, xmm1
movapd xmm10, xmm5
lea r9d, [r8 + rax]
mov r12d, eax
cmp edx, 1
lea r12, [rcx + r12*8]
je 0x40d725
cmp edx, 2
je 0x40ddc0
cmp edx, 3
je 0x40de80
cmp edx, 4
je 0x40dba0
test edx, edx
jne 0x40dea0
mov r14, qword [rbx]
pxor xmm2, xmm2
movzx r9d, word [r14 + r9*2]
cvtsi2sd xmm2, r9d
movsd qword [r12], xmm2
jmp 0x40d739
mov r11, qword [rbx + 0x18]
pxor xmm11, xmm11
cvtss2sd xmm11, dword [r11 + r9*4]
movsd qword [r12], xmm11
lea r12d, [rax + 1]
movapd xmm12, xmm11
cmp edx, 1
lea r9d, [r8 + r12]
minsd xmm12, xmm10
mov rax, r12
maxsd xmm11, xmm9
lea r12, [rcx + r12*8]
je 0x40d925
cmp edx, 2
je 0x40da60
cmp edx, 3
je 0x40dac0
cmp edx, 4
je 0x40de00
test edx, edx
jne 0x40db60
mov r11, qword [rbx]
pxor xmm9, xmm9
movzx r9d, word [r11 + r9*2]
cvtsi2sd xmm9, r9d
movsd qword [r12], xmm9
jmp 0x40d93a
mov r11, qword [rbx + 0x18]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
lea r12d, [rax + 1]
movapd xmm2, xmm9
cmp edx, 1
minsd xmm2, xmm12
lea r9d, [r8 + r12]
maxsd xmm9, xmm11
lea r12, [rcx + r12*8]
movapd xmm10, xmm2
movapd xmm3, xmm9
je 0x40d9a0
cmp edx, 2
je 0x40da80
cmp edx, 3
je 0x40dae0
cmp edx, 4
je 0x40dde0
test edx, edx
jne 0x40db50
mov r11, qword [rbx]
pxor xmm0, xmm0
movzx r9d, word [r11 + r9*2]
cvtsi2sd xmm0, r9d
movsd qword [r12], xmm0
jmp 0x40d9b4
mov r11, qword [rbx + 0x18]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r11 + r9*4]
movsd qword [r12], xmm0
lea r12d, [rax + 2]
movapd xmm2, xmm0
cmp edx, 1
minsd xmm2, xmm10
lea r9d, [r8 + r12]
maxsd xmm0, xmm3
lea r12, [rcx + r12*8]
movapd xmm1, xmm2
je 0x40d650
cmp edx, 2
je 0x40da20
cmp edx, 3
je 0x40db00
cmp edx, 4
je 0x40de20
test edx, edx
jne 0x40db40
mov r11, qword [rbx]
pxor xmm9, xmm9
movzx r9d, word [r11 + r9*2]
cvtsi2sd xmm9, r9d
movsd qword [r12], xmm9
jmp 0x40d665
mov r11, qword [rbx + 0x30]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
jmp 0x40d665
mov r11, qword [rbx + 0x30]
pxor xmm11, xmm11
cvtss2sd xmm11, dword [r11 + r9*4]
movsd qword [r12], xmm11
jmp 0x40d8c5
mov r11, qword [rbx + 0x30]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
jmp 0x40d93a
mov r11, qword [rbx + 0x30]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r11 + r9*4]
movsd qword [r12], xmm0
jmp 0x40d9b4
lea r9, [rsp + 0x110]
sub r8, rsi
lea rcx, [rbx + 0xc0]
call fcn.006bea90
jmp 0x40d3ff
mov r11, qword [rbx + 0x48]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
jmp 0x40d93a
mov r11, qword [rbx + 0x48]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r11 + r9*4]
movsd qword [r12], xmm0
jmp 0x40d9b4
mov r11, qword [rbx + 0x48]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
jmp 0x40d665
mov r11, qword [rbx + 0x48]
pxor xmm11, xmm11
cvtss2sd xmm11, dword [r11 + r9*4]
movsd qword [r12], xmm11
jmp 0x40d8c5
movsd xmm9, qword [r12]
jmp 0x40d665
movsd xmm0, qword [r12]
jmp 0x40d9b4
movsd xmm9, qword [r12]
jmp 0x40d93a
movsd xmm11, qword [r12]
jmp 0x40d8c5
mov r14, qword [rbx + 0x48]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [r14 + r9*4]
movsd qword [r12], xmm1
jmp 0x40d840
mov r14, qword [rbx + 0x60]
pxor xmm2, xmm2
cvtss2sd xmm2, dword [r14 + r9*4]
movsd qword [r12], xmm2
jmp 0x40d739
mov ecx, gethostbyname
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
call fcn.005ab718
mov qword [rsp + 0x110], 0
lea rcx, [rax + 0x30]
mov qword [rax], 0
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0xf8], rcx
mov ecx, gethostbyname
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
call fcn.005ab718
mov qword [rax], 0
mov r8d, dword [rbx + 0x570]
lea r10, [rax + 0x30]
pxor xmm8, xmm8
mov qword [rsp + 0x110], rax
subsd xmm9, xmm10
mov rdx, qword [rsp + 0x68]
lea r9, [rsp + 0xf0]
mov qword [rax + 8], 0
movsd xmm7, qword [0x006d70e8]
lea r11, [rsp + 0x110]
mov qword [rax + 0x10], 0
lea rcx, [rbx + 0x730]
mov r15d, r8d
mov qword [rax + 0x18], 0
shr r15d, 1
mov qword [rax + 0x20], 0
cvtsi2sd xmm8, r15d
mov qword [rax + 0x28], 0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x120], r10
mov qword [rsp + 0x118], r10
movsd qword [rax], xmm9
movsd qword [rax + 8], xmm7
movsd qword [rax + 0x10], xmm7
movsd qword [rax + 0x18], xmm8
movsd qword [rax + 0x20], xmm8
movsd qword [rax + 0x28], xmm10
mov qword [rsp + 0x20], r9
mov r9d, r8d
mov qword [rsp + 0x28], r11
call fcn.00544180
pxor xmm15, xmm15
pxor xmm13, xmm13
pxor xmm14, xmm14
mov rcx, qword [rsp + 0x110]
pxor xmm7, xmm7
pxor xmm8, xmm8
pxor xmm9, xmm9
cvtsd2ss xmm15, qword [rcx]
cvtsd2ss xmm9, qword [rcx + 0x28]
cvtsd2ss xmm13, qword [rcx + 8]
cvtsd2ss xmm14, qword [rcx + 0x10]
cvtsd2ss xmm7, qword [rcx + 0x18]
cvtsd2ss xmm8, qword [rcx + 0x20]
movss dword [rsp + 0x9c], xmm9
call fcn.005ab730
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x40d6da
call fcn.005ab730
jmp 0x40d6da
mov r14, qword [rbx + 0x18]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [r14 + r9*4]
movsd qword [r12], xmm1
jmp 0x40d840
mov r14, qword [rbx + 0x30]
pxor xmm2, xmm2
cvtss2sd xmm2, dword [r14 + r9*4]
movsd qword [r12], xmm2
jmp 0x40d739
mov r11, qword [rbx + 0x60]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r11 + r9*4]
movsd qword [r12], xmm0
jmp 0x40d9b4
mov r11, qword [rbx + 0x60]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
jmp 0x40d93a
mov r11, qword [rbx + 0x60]
pxor xmm9, xmm9
cvtss2sd xmm9, dword [r11 + r9*4]
movsd qword [r12], xmm9
jmp 0x40d665
mov r11, qword [rbx + 0x60]
pxor xmm11, xmm11
cvtss2sd xmm11, dword [r11 + r9*4]
movsd qword [r12], xmm11
jmp 0x40d8c5
mov r14, qword [rbx + 0x30]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [r14 + r9*4]
movsd qword [r12], xmm1
jmp 0x40d840
mov r14, qword [rbx + 0x48]
pxor xmm2, xmm2
cvtss2sd xmm2, dword [r14 + r9*4]
movsd qword [r12], xmm2
jmp 0x40d739
movsd xmm2, qword [r12]
jmp 0x40d739
mov r14, qword [rbx + 0x30]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r14 + r9*4]
movsd qword [r12], xmm0
jmp 0x40d7d4
mov r14, qword [rbx + 0x60]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [r14 + r9*4]
movsd qword [r12], xmm1
jmp 0x40d840
movsd xmm1, qword [r12]
jmp 0x40d840
movsd xmm0, qword [r12]
jmp 0x40d7d4
mov r8d, dword [rbx + 0x570]
mov qword [rsp + 0x110], 0
movss xmm9, dword [0x006d70f8]
mov qword [rsp + 0x118], 0
movss xmm10, dword [0x006d70f8]
mov qword [rsp + 0x120], 0
mulss xmm9, xmm13
mulss xmm10, xmm14
mov edx, r8d
imul edx, r8d
mov r15d, edx
test edx, edx
lea r13, [r15*4]
je 0x40e88f
mov rcx, r13
call fcn.005ab718
mov rcx, r15
xor r10d, r10d
add r13, rax
and ecx, 7
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x120], r13
je 0x40dffc
cmp rcx, 1
je 0x40dfeb
cmp rcx, 2
je 0x40dfdf
cmp rcx, 3
je 0x40dfd3
cmp rcx, 4
je 0x40dfc7
cmp rcx, 5
je 0x40dfbb
cmp rcx, 6
je 0x40dfaf
mov dword [rax], 0
mov r10d, 1
mov dword [rax + r10*4], 0
add r10, 1
mov dword [rax + r10*4], 0
add r10, 1
mov dword [rax + r10*4], 0
add r10, 1
mov dword [rax + r10*4], 0
add r10, 1
mov dword [rax + r10*4], 0
add r10, 1
mov dword [rax + r10*4], 0
add r10, 1
cmp r15, r10
je 0x40e04c
mov dword [rax + r10*4], 0
mov dword [rax + r10*4 + 4], 0
mov dword [rax + r10*4 + 8], 0
mov dword [rax + r10*4 + 0xc], 0
mov dword [rax + r10*4 + 0x10], 0
mov dword [rax + r10*4 + 0x14], 0
mov dword [rax + r10*4 + 0x18], 0
mov dword [rax + r10*4 + 0x1c], 0
add r10, 8
cmp r15, r10
jne 0x40dffc
mov r8d, dword [rbx + 0x570]
test r8d, r8d
mov qword [rsp + 0x118], r13
je 0x40e747
xor r13d, r13d
mov dword [rsp + 0x58], 0
xor r15d, r15d
pxor xmm12, xmm12
pxor xmm11, xmm11
cvtss2sd xmm12, xmm15
cvtss2sd xmm11, dword [rsp + 0x9c]
nop dword [rax + rax]
mov eax, r13d
pxor xmm4, xmm4
pxor xmm3, xmm3
pxor xmm0, xmm0
cvtsi2ss xmm4, rax
pxor xmm2, xmm2
cvtsi2ss xmm3, r15
subss xmm4, xmm7
subss xmm3, xmm8
divss xmm4, xmm9
divss xmm3, xmm10
cvtss2sd xmm0, xmm4
mulsd xmm0, xmm0
cvtss2sd xmm2, xmm3
mulsd xmm2, xmm2
addsd xmm0, xmm2
xorpd xmm0, xmm6
call fcn.005b0a50
mov r11d, dword [rbx + 0x570]
pxor xmm5, xmm5
mulsd xmm0, xmm12
mov r8d, dword [rsp + 0x58]
pxor xmm4, xmm4
mov rdx, qword [rbx + 0xc0]
mov rcx, qword [rsp + 0x110]
mov r9d, r11d
imul r9d, r13d
add r13d, 1
addsd xmm0, xmm11
add r9d, r8d
cmp r11d, r13d
cvtsd2ss xmm0, xmm0
cvtss2sd xmm5, xmm0
movsd xmm0, qword [rdx + r9*8]
subsd xmm0, xmm5
cvtsd2ss xmm4, xmm0
movss dword [rcx + r9*4], xmm4
ja 0x40e090
add dword [rsp + 0x58], 1
mov r15d, dword [rsp + 0x58]
cmp r11d, r15d
jbe 0x40e747
xor r13d, r13d
mov r15d, r15d
jmp 0x40e090
mov r14, qword [rbx + 0x48]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r14 + r9*4]
movsd qword [r12], xmm0
jmp 0x40d7d4
lea rdx, [rbx + 0xaa8]
mov ecx, 0x18
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
call fcn.005ab718
mov qword [rsp + 0xd0], 0
lea rcx, [rax + 0x18]
mov qword [rax], 0
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xb8], rcx
mov ecx, 0x18
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
call fcn.005ab718
mov r15, qword [rbx + 0xc0]
lea r10, [rax + 0x18]
mov qword [rsp + 0xd0], rax
mov r8, qword [rbx + 0xc8]
mov qword [rsp + 0xe0], r10
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
sub r8, r15
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0x80], r8
sar r8, 3
test r8, r8
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xac], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r8
je 0x40e888
movabs rax, 0x3fffffffffffffff
cmp r8, rax
ja 0x40e8e7
mov rcx, qword [rsp + 0x70]
shl rcx, 2
mov qword [rsp + 0x60], rcx
call fcn.005ab718
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0xf0], rax
add r9, rax
cmp qword [rsp + 0x80], 0
mov qword [rsp + 0x100], r9
jle 0x40e4aa
mov r11, qword [rsp + 0x70]
lea rdx, [r11 - 1]
and r11d, 7
je 0x40e415
cmp r11, 1
je 0x40e3f2
cmp r11, 2
je 0x40e3d5
cmp r11, 3
je 0x40e3b8
cmp r11, 4
je 0x40e399
cmp r11, 5
je 0x40e37a
cmp r11, 6
je 0x40e35d
pxor xmm5, xmm5
add r15, 8
cvtsd2ss xmm5, qword [r15 - 8]
add rax, 4
movss dword [rax - 4], xmm5
mov qword [rsp + 0x58], rdx
sub qword [rsp + 0x58], 1
pxor xmm4, xmm4
add r15, 8
cvtsd2ss xmm4, qword [r15 - 8]
add rax, 4
movss dword [rax - 4], xmm4
sub qword [rsp + 0x58], 1
pxor xmm11, xmm11
add r15, 8
cvtsd2ss xmm11, qword [r15 - 8]
add rax, 4
movss dword [rax - 4], xmm11
sub qword [rsp + 0x58], 1
pxor xmm12, xmm12
add r15, 8
cvtsd2ss xmm12, qword [r15 - 8]
add rax, 4
movss dword [rax - 4], xmm12
sub qword [rsp + 0x58], 1
pxor xmm3, xmm3
add r15, 8
cvtsd2ss xmm3, qword [r15 - 8]
add rax, 4
movss dword [rax - 4], xmm3
sub qword [rsp + 0x58], 1
pxor xmm0, xmm0
add r15, 8
cvtsd2ss xmm0, qword [r15 - 8]
add rax, 4
movss dword [rax - 4], xmm0
pxor xmm2, xmm2
add r15, 8
cvtsd2ss xmm2, qword [r15 - 8]
add rax, 4
movss dword [rax - 4], xmm2
sub qword [rsp + 0x58], 1
je 0x40e4aa
mov r10, qword [rsp + 0x58]
pxor xmm1, xmm1
pxor xmm5, xmm5
pxor xmm4, xmm4
pxor xmm3, xmm3
cvtsd2ss xmm1, qword [r15]
cvtsd2ss xmm5, qword [r15 + 0x18]
cvtsd2ss xmm4, qword [r15 + 0x20]
cvtsd2ss xmm3, qword [r15 + 0x38]
movss dword [rax], xmm1
pxor xmm9, xmm9
pxor xmm10, xmm10
cvtsd2ss xmm9, qword [r15 + 8]
cvtsd2ss xmm10, qword [r15 + 0x10]
movss dword [rax + 4], xmm9
add r15, 0x40
add rax, 0x20
movss dword [rax - 0x18], xmm10
pxor xmm11, xmm11
pxor xmm12, xmm12
cvtsd2ss xmm11, qword [r15 - 0x18]
cvtsd2ss xmm12, qword [r15 - 0x10]
movss dword [rax - 0x14], xmm5
movss dword [rax - 0x10], xmm4
movss dword [rax - 0xc], xmm11
movss dword [rax - 8], xmm12
movss dword [rax - 4], xmm3
sub r10, 8
jne 0x40e41a
mov r9d, dword [rbx + 0x570]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov r8d, r9d
imul r8d, r9d
mov r15d, r8d
test r8d, r8d
mov qword [rsp + 0x58], r15
lea r15, [r15*4]
je 0x40e878
mov rcx, r15
call fcn.005ab718
mov rcx, qword [rsp + 0x58]
lea r11, [rax + r15]
xor edx, edx
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x120], r11
mov r9d, dword [rbx + 0x570]
and ecx, 7
je 0x40e5a4
cmp rcx, 1
je 0x40e592
cmp rcx, 2
je 0x40e587
cmp rcx, 3
je 0x40e57c
cmp rcx, 4
je 0x40e571
cmp rcx, 5
je 0x40e566
cmp rcx, 6
je 0x40e55b
mov dword [rax], 0
mov edx, 1
mov dword [rax + rdx*4], 0
add rdx, 1
mov dword [rax + rdx*4], 0
add rdx, 1
mov dword [rax + rdx*4], 0
add rdx, 1
mov dword [rax + rdx*4], 0
add rdx, 1
mov dword [rax + rdx*4], 0
add rdx, 1
mov dword [rax + rdx*4], 0
add rdx, 1
cmp qword [rsp + 0x58], rdx
je 0x40e5ee
mov dword [rax + rdx*4], 0
mov dword [rax + rdx*4 + 4], 0
mov dword [rax + rdx*4 + 8], 0
mov dword [rax + rdx*4 + 0xc], 0
mov dword [rax + rdx*4 + 0x10], 0
mov dword [rax + rdx*4 + 0x14], 0
mov dword [rax + rdx*4 + 0x18], 0
mov dword [rax + rdx*4 + 0x1c], 0
add rdx, 8
cmp qword [rsp + 0x58], rdx
jne 0x40e5a4
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x118], r11
lea rax, [rsp + 0x110]
lea r10, [rsp + 0xac]
movss xmm2, dword [0x006d70f0]
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0xa8]
mov qword [rsp + 0x40], r10
lea r15, [rsp + 0xd0]
mov qword [rsp + 0x38], r8
lea r11, [rsp + 0xb0]
mov qword [rsp + 0x30], r15
lea rdx, [rsp + 0xf0]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0x7d0
call fcn.0057f720
cmp dword [rsp + 0xac], 0x7cf
mov rcx, qword [rsp + 0x110]
ja 0x40e82e
mov r9, qword [rsp + 0xb0]
test rcx, rcx
movss xmm0, dword [0x006d70f4]
mov rdx, qword [rbx + 0x6a8]
movss xmm1, dword [rsp + 0xa8]
movss xmm13, dword [r9 + 0x10]
movss xmm14, dword [r9 + 0x14]
mulss xmm0, xmm13
movss xmm15, dword [r9 + 8]
movss xmm2, dword [r9 + 0xc]
movss xmm7, dword [r9]
movss dword [rsp + 0x9c], xmm2
movss xmm8, dword [r9 + 4]
mulss xmm0, xmm14
movss dword [rdx + r12*4], xmm1
divss xmm15, xmm0
je 0x40e6dd
call fcn.005ab730
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x40e6ef
call fcn.005ab730
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x40e701
call fcn.005ab730
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x40dd8d
jmp 0x40d6da
movsd xmm9, qword [0x006d70d8]
movsd xmm10, qword [0x006d70e0]
jmp 0x40d6bf
mov r14, qword [rbx + 0x60]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [r14 + r9*4]
movsd qword [r12], xmm0
jmp 0x40d7d4
lea rdx, [rsp + 0x110]
mov rcx, rbx
call fcn.0040cec0
movaps xmm9, xmm15
pxor xmm10, xmm10
pxor xmm12, xmm12
mov r8d, dword [rsp + 0x98]
addss xmm9, xmm15
mov edx, dword [rsp + 0x94]
mulss xmm9, dword [0x006d7110]
mov r10, qword [rbx + 0x5b8]
cvtsi2ss xmm10, r8
mov rax, qword [rbx + 0x5e8]
cvtsi2ss xmm12, rdx
mov r11, qword [rbx + 0x600]
mulss xmm9, xmm13
add r14, qword [rbx + 0x588]
mov r9, qword [rbx + 0x618]
movss dword [r10 + r12*4], xmm0
addss xmm10, xmm7
mov rcx, qword [rbx + 0x5d0]
addss xmm12, xmm8
add rdi, qword [rbx + 0x6c0]
movss xmm11, dword [rsp + 0x9c]
mulss xmm9, xmm14
movss dword [rax + r12*4], xmm9
movss dword [r11 + r12*4], xmm13
movss dword [r9 + r12*4], xmm14
movss dword [r14], xmm10
movss dword [r14 + 4], xmm12
mov r14, qword [rbx + 0x5a0]
movss dword [r14 + r12*4], xmm15
movss dword [rcx + r12*4], xmm11
mov rcx, qword [rsp + 0x110]
or dword [rdi], ebp
test rcx, rcx
je 0x40d4a0
call fcn.005ab730
jmp 0x40d4a0
add rdi, qword [rbx + 0x6c0]
and dword [rdi], r13d
test rcx, rcx
je 0x40e842
call fcn.005ab730
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x40e854
call fcn.005ab730
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x40e866
call fcn.005ab730
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x40e824
jmp 0x40d4a0
mov qword [rsp + 0x120], r15
xor r11d, r11d
jmp 0x40e5ee
xor eax, eax
jmp 0x40e2d7
mov qword [rsp + 0x120], r13
xor r13d, r13d
jmp 0x40e053
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x40e8b4
call fcn.005ab730
mov rcx, rbx
call fcn.005ab970
mov rbx, rax
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x40e8d1
call fcn.005ab730
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x40e8a2
call fcn.005ab730
jmp 0x40e8a2
call fcn.005ab7a8
mov rcx, qword [rsp + 0x110]
mov rbx, rax
test rcx, rcx
je 0x40e901
call fcn.005ab730
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
jne 0x40e8af
jmp 0x40e8b4