Function at 0x1404230a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movapd xmmword [rsp + 0x230], xmm9
movapd xmmword [rsp + 0x220], xmm8
movapd xmmword [rsp + 0x210], xmm7
movapd xmmword [rsp + 0x200], xmm6
mov r13d, edx
mov rsi, rcx
mov rax, qword [0x140516758]
xor rax, rsp
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x48], 0
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [0x1404d9960]
ucomisd xmm0, xmm1
jbe 0x140423223
movabs rax, 0x8000000000000000
movapd xmm1, xmmword [0x1404d9970]
movapd xmm2, xmmword [0x1404d9980]
movsd xmm3, qword [0x1404d9990]
movsd xmm4, qword [0x1404d9998]
movsd xmm5, qword [0x1404d7a80]
jmp 0x140423190
movsd xmm6, qword [rsp + 0x48]
addsd xmm6, xmm5
movsd qword [rsp + 0x48], xmm6
movsd xmm6, qword [rsp + 0x48]
ucomisd xmm0, xmm6
jbe 0x140423223
movsd xmm6, qword [rsp + 0x48]
movsd xmm7, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
xor rcx, rax
movq xmm8, rcx
movsd xmm9, qword [rsp + 0x48]
mulsd xmm9, xmm8
shufpd xmm9, xmm2, 2
movsd xmm8, qword [rsp + 0x48]
unpcklpd xmm6, xmm8
movsd xmm8, qword [rsp + 0x48]
unpcklpd xmm7, xmm8
mulpd xmm6, xmm1
mulpd xmm6, xmm7
addpd xmm6, xmm9
movapd xmm7, xmm6
unpckhpd xmm7, xmm6
divsd xmm6, xmm7
addsd xmm6, qword [rsp + 0x50]
movsd qword [rsp + 0x50], xmm6
movsd xmm6, qword [rsp + 0x50]
ucomisd xmm6, xmm3
jbe 0x140423170
movsd xmm6, qword [rsp + 0x48]
mulsd xmm6, xmm4
addsd xmm6, qword [rsp + 0x50]
movsd qword [rsp + 0x50], xmm6
jmp 0x140423170
movsd xmm0, qword [rsp + 0x50]
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x14042324b
call fcn.140496ff0
call fcn.14049706e
test r13d, r13d
jg 0x14042444b
jmp 0x1404244a2
movaps xmm0, xmmword [0x1404d7900]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [0x1404d7910]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [0x1404d7920]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [0x1404d7930]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [0x1404d7940]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [0x1404d7950]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [0x1404d7960]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [0x1404d7970]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [0x1404d7980]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [0x1404d7990]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [0x1404d79a0]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [0x1404d79b0]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [0x1404d79c0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [0x1404d79d0]
movaps xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [0x1404d79e0]
movaps xmmword [rsp + 0x150], xmm0
movapd xmm0, xmmword [0x1404d79f0]
movapd xmmword [rsp + 0x160], xmm0
xor ecx, ecx
mov r8d, 0xff
lea r9, [fcn.14049706e]
lea r10, [0x1404244f4]
xor ebx, ebx
xor r11d, r11d
jmp 0x140423369
dec r8
je 0x1404234a3
mov edx, 1
cmp r8, 2
jb 0x140423389
mov edx, 1
nop dword [rax]
add edx, edx
inc edx
cmp r8, rdx
ja 0x140423380
mov ebp, ntohs
nop
cmp r11d, 3
ja case.default.0x1404233a0
mov eax, r11d
movsxd rax, dword [r10 + rax*4]
add rax, r10
jmp rax
movzx edi, bl
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
jmp 0x140423430
movzx edi, bl
lea eax, [r11 - 4]
movzx eax, byte [rax + r9]
jmp 0x140423430
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
movzx edi, bl
shr eax, 8
jmp 0x140423430
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
movzx edi, bl
shr eax, 0x10
jmp 0x140423430
movsd xmm0, qword [rsp + 0x50]
cvttsd2si rax, xmm0
movzx edi, bl
shr eax, 0x18
nop word cs:[rax + rax]
add al, byte [rsp + rdi + 0x70]
inc r11d
lea edi, [rax + 0x1d]
cmp r11d, 0x1d
cmovae r11d, ecx
movzx eax, al
movzx ebx, dil
cmovb ebx, eax
mov eax, ebx
and eax, edx
movzx eax, al
dec ebp
je 0x140423470
mov edi, eax
cmp r8, rdi
jb 0x140423390
jmp 0x140423477
xor edx, edx
div r8d
mov eax, edx
mov eax, eax
cmp r8, rax
je 0x140423360
movzx edx, byte [rsp + r8 + 0x70]
xor dl, byte [rsp + rax + 0x70]
mov byte [rsp + r8 + 0x70], dl
xor dl, byte [rsp + rax + 0x70]
mov byte [rsp + rax + 0x70], dl
xor byte [rsp + r8 + 0x70], dl
jmp 0x140423360
movzx edx, byte [rsp + 0x71]
movzx eax, byte [rsp + 0x73]
movzx ecx, byte [rsp + 0x75]
movzx r11d, byte [rsp + 0x77]
movzx r8d, bl
movzx ebx, byte [rsp + r8 + 0x70]
movzx r10d, byte [fcn.140496ff0]
movzx r8d, byte [0x140496ff1]
add r8b, 0x97
shl r10b, 4
add r10b, 0x80
mov dword [rsp + 0x170], 0x46d83a00
mov dword [rsp + 0x38], 0x46b43200
mov dword [rsp + 0x20], 0x46902a00
mov dword [rsp + 0x30], 0x46584400
mov dword [rsp + 0x40], 0x46103400
mov dword [rsp + 0x28], 0x45904800
movss xmm0, dword [rsp + 0x28]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x28]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x28]
movss xmm1, dword [rsp + 0x170]
mulss xmm1, xmm0
movss dword [rsp + 0x170], xmm1
movss xmm0, dword [rsp + 0x28]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x28]
movss xmm1, dword [rsp + 0x170]
mulss xmm1, xmm0
movss dword [rsp + 0x170], xmm1
movss xmm0, dword [rsp + 0x28]
movss xmm1, dword [rsp + 0x20]
subss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm0, dword [rsp + 0x28]
movss xmm1, dword [rsp + 0x170]
ucomiss xmm0, xmm1
movss xmm0, dword [rsp + 0x30]
jbe 0x140423616
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x20]
addss xmm0, dword [rsp + 0x38]
movss dword [rsp + 0x38], xmm0
movss xmm0, dword [rsp + 0x40]
movss xmm1, dword [rsp + 0x30]
mulss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm0, dword [rsp + 0x28]
movss xmm1, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm0, dword [rsp + 0x30]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x170]
jmp 0x140423678
movss xmm1, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [rsp + 0x30]
movss xmm1, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm0, dword [rsp + 0x38]
addss xmm0, dword [rsp + 0x28]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x38]
addss xmm0, dword [rsp + 0x28]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x28]
subss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
or r10b, r8b
movzx edi, byte [rsp + rbx + 0x70]
add al, byte [rsp + rdx + 0x70]
lea r8d, [rdx + 1]
movzx r14d, al
movzx r9d, byte [rsp + r14 + 0x70]
mov byte [rsp + rbx + 0x70], r9b
movzx r9d, byte [rsp + r11 + 0x70]
mov byte [rsp + r14 + 0x70], r9b
movzx r9d, r8b
movzx ebp, byte [rsp + r9 + 0x70]
mov byte [rsp + r11 + 0x70], bpl
mov byte [rsp + r9 + 0x70], dil
add cl, byte [rsp + rdi + 0x70]
movzx ebp, byte [rsp + r14 + 0x70]
add bpl, dil
movzx edi, bpl
movzx ebp, byte [rsp + rdi + 0x70]
movzx ebx, byte [rsp + rbx + 0x70]
add bl, byte [rsp + r11 + 0x70]
movzx r11d, cl
add bl, byte [rsp + r11 + 0x70]
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x70]
xor bpl, byte [rsp + r11 + 0x70]
xor bpl, r10b
movzx r11d, byte [0x140496ff2]
movzx ebx, byte [0x140496ff3]
add bl, 0x97
shl r11b, 4
add r11b, 0x80
or r11b, bl
movzx r10d, r10b
movzx ebx, byte [rsp + r10 + 0x70]
movzx r15d, bl
movabs rdi, 0x40dccb8000000000
mov qword [rsp + 0x170], rdi
movabs rdi, 0x40d598c000000000
mov qword [rsp + 0x38], rdi
movabs rdi, 0x40cccc0000000000
mov qword [rsp + 0x20], rdi
movabs rdi, 0x40bccd0000000000
mov qword [rsp + 0x30], rdi
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
ucomisd xmm1, xmm0
jbe 0x14042383b
movsd xmm0, qword [rsp + 0x38]
movsd xmm1, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x170]
divsd xmm1, xmm0
movsd qword [rsp + 0x170], xmm1
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x20]
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x20]
divsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
jmp 0x1404238a2
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + 0x38]
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
add al, byte [rsp + r9 + 0x70]
add dl, 2
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movzx r14d, al
movzx r9d, dl
mov r8d, edx
movzx edx, byte [rsp + r14 + 0x70]
mov byte [rsp + r10 + 0x70], dl
movzx edx, bpl
movzx edi, byte [rsp + rdx + 0x70]
mov byte [rsp + r14 + 0x70], dil
movzx edi, byte [rsp + r9 + 0x70]
mov byte [rsp + rdx + 0x70], dil
mov byte [rsp + r9 + 0x70], bl
add cl, byte [rsp + r15 + 0x70]
add bl, byte [rsp + r14 + 0x70]
movzx edi, bl
movzx ebx, byte [rsp + r10 + 0x70]
add bl, byte [rsp + rdx + 0x70]
movzx edx, byte [rsp + rdi + 0x70]
movzx edi, cl
add bl, byte [rsp + rdi + 0x70]
movzx edi, bl
movzx edi, byte [rsp + rdi + 0x70]
xor dl, byte [rsp + rdi + 0x70]
movabs rdi, 0x40d53b8000000000
mov qword [rsp + 0x170], rdi
movabs rdi, 0x40d1b1c000000000
mov qword [rsp + 0x38], rdi
movabs rdi, 0x40cc500000000000
mov qword [rsp + 0x20], rdi
movabs rdi, 0x40c53c8000000000
mov qword [rsp + 0x30], rdi
movabs rdi, 0x40bc520000000000
mov qword [rsp + 0x40], rdi
movabs rdi, 0x40ac560000000000
mov qword [rsp + 0x28], rdi
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x20], xmm0
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x38]
xor dl, r11b
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x20]
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x40]
ucomisd xmm1, xmm0
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
jbe 0x140423b9a
addsd xmm0, xmm1
movsd qword [rsp + 0x20], xmm0
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x28]
divsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x28]
divsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x20]
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x20]
addsd xmm0, qword [rsp + 0x170]
movsd qword [rsp + 0x170], xmm0
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x170]
ucomisd xmm1, xmm0
jbe 0x140423c23
movsd xmm0, qword [rsp + 0x38]
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + 0x38]
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x20]
addsd xmm0, qword [rsp + 0x170]
movsd qword [rsp + 0x170], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
jmp 0x140423ca9
mulsd xmm0, xmm1
movsd qword [rsp + 0x20], xmm0
movsd xmm0, qword [rsp + 0x38]
movsd xmm1, qword [rsp + 0x170]
subsd xmm1, xmm0
movsd qword [rsp + 0x170], xmm1
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x28]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x20], xmm0
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movzx r10d, r11b
jmp 0x140423ca9
movsd xmm0, qword [rsp + 0x170]
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
divsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x170]
addsd xmm0, qword [rsp + 0x28]
movsd qword [rsp + 0x28], xmm0
mov dword [rsp + 0x64], r13d
mov qword [rsp + 0x68], rsi
movsx edx, dl
mov word [rsp + 0x170], dx
movzx edi, byte [0x140496ff4]
movzx r11d, byte [rsp + r10 + 0x70]
lea ebx, [r8 + 1]
add al, byte [rsp + r9 + 0x70]
movzx r9d, al
movzx ebp, byte [rsp + r9 + 0x70]
mov byte [rsp + r10 + 0x70], bpl
movzx edx, dl
movzx ebp, byte [rsp + rdx + 0x70]
mov byte [rsp + r9 + 0x70], bpl
movzx ebx, bl
movzx ebp, byte [rsp + rbx + 0x70]
mov byte [rsp + rdx + 0x70], bpl
movzx ebp, byte [reloc.WLDAP32.dll_Ordinal_117]
add bpl, 0x97
shl dil, 4
add dil, 0x80
mov byte [rsp + rbx + 0x70], r11b
add cl, byte [rsp + r11 + 0x70]
movzx r9d, byte [rsp + r9 + 0x70]
add r9b, r11b
movzx r9d, r9b
movzx r10d, byte [rsp + r10 + 0x70]
add r10b, byte [rsp + rdx + 0x70]
movzx edx, cl
add r10b, byte [rsp + rdx + 0x70]
movzx edx, r10b
movzx r9d, byte [rsp + r9 + 0x70]
movzx edx, byte [rsp + rdx + 0x70]
xor r9b, byte [rsp + rdx + 0x70]
or dil, bpl
xor r9b, dil
movsx edx, r9b
mov word [rsp + 0x172], dx
add r8b, 2
movzx r8d, r8b
xor ebx, ebx
lea r10, [fcn.140496ff0]
nop word cs:[rax + rax]
add al, r11b
movzx edx, dil
movzx edi, byte [r10 + rbx*2 + 6]
movzx r11d, byte [rsp + rdx + 0x70]
lea r14d, [r8 + rbx]
movzx r15d, al
movzx ebp, byte [rsp + r15 + 0x70]
mov byte [rsp + rdx + 0x70], bpl
movzx r12d, r9b
movzx r9d, byte [rsp + r12 + 0x70]
mov byte [rsp + r15 + 0x70], r9b
movzx r9d, r14b
movzx ebp, byte [rsp + r9 + 0x70]
mov byte [rsp + r12 + 0x70], bpl
movzx ebp, byte [r10 + rbx*2 + 7]
add bpl, 0x97
shl dil, 4
add dil, 0x80
mov byte [rsp + r9 + 0x70], r11b
add cl, byte [rsp + r11 + 0x70]
or dil, bpl
movzx r9d, byte [rsp + r15 + 0x70]
add r9b, r11b
movzx r9d, r9b
movzx r9d, byte [rsp + r9 + 0x70]
movzx edx, byte [rsp + rdx + 0x70]
add dl, byte [rsp + r12 + 0x70]
movzx r14d, cl
add dl, byte [rsp + r14 + 0x70]
movzx edx, dl
movzx edx, byte [rsp + rdx + 0x70]
xor r9b, byte [rsp + rdx + 0x70]
xor r9b, dil
movsx edx, r9b
mov word [rsp + rbx*2 + 0x174], dx
inc rbx
cmp rbx, 0x1d
jne 0x140423d80
add r8d, ebx
xor r11d, r11d
movabs r12, 0x40cef00000000000
movabs r13, 0x40c4a00000000000
movabs rbp, 0x40b4a00000000000
jmp 0x140423f00
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x20], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
mov edi, edx
movsx edx, r9b
mov word [rsp + r11 + 0x1ae], dx
add r11, 2
inc r8b
cmp r11, 0x3e
je 0x1404240ee
lea edx, [r8 - 1]
movzx esi, dil
movzx edx, dl
add al, byte [rsp + rdx + 0x70]
movzx edx, byte [rsp + rsi + 0x70]
movzx ebx, al
movzx r14d, byte [rsp + rbx + 0x70]
mov byte [rsp + rsi + 0x70], r14b
movzx r9d, r9b
movzx r14d, byte [rsp + r9 + 0x70]
mov byte [rsp + rbx + 0x70], r14b
movzx r14d, r8b
movzx r15d, byte [rsp + r14 + 0x70]
mov byte [rsp + r9 + 0x70], r15b
mov byte [rsp + r14 + 0x70], dl
movzx esi, byte [rsp + rsi + 0x70]
add cl, byte [rsp + rdx + 0x70]
add sil, byte [rsp + r9 + 0x70]
movzx r9d, cl
add sil, byte [rsp + r9 + 0x70]
movzx r9d, byte [rsp + rbx + 0x70]
add r9b, dl
movzx edx, r9b
movzx r9d, byte [rsp + rdx + 0x70]
movzx edx, sil
movzx edx, byte [rsp + rdx + 0x70]
xor r9b, byte [rsp + rdx + 0x70]
movzx edx, byte [r11 + r10 + 0x40]
movzx ebx, byte [r11 + r10 + 0x41]
add bl, 0x97
shl dl, 4
add dl, 0x80
or dl, bl
xor r9b, dl
movabs rsi, 0x40def00000000000
mov qword [rsp + 0x38], rsi
movabs rsi, 0x40d9c80000000000
mov qword [rsp + 0x20], rsi
movabs rsi, 0x40d4a00000000000
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x58], rbp
movsd xmm0, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x28]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x58]
addsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x58]
ucomisd xmm1, xmm0
jbe 0x140423e60
movsd xmm0, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x28]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x20]
addsd xmm0, qword [rsp + 0x38]
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
jmp 0x140423ee2
movabs rcx, 0x40d7034000000000
mov qword [rsp + 0x38], rcx
movabs rcx, 0x40d2690000000000
mov qword [rsp + 0x20], rcx
movabs rcx, 0x40cb9d8000000000
mov qword [rsp + 0x30], rcx
movabs rcx, 0x40c2690000000000
mov qword [rsp + 0x40], rcx
movabs rcx, 0x40b2690000000000
mov qword [rsp + 0x28], rcx
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x28]
lea ecx, [r8 - 1]
ucomisd xmm0, xmm1
jbe 0x14042422e
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
subsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
mov rsi, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x64]
jmp 0x1404243fc
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x20]
divsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x28]
divsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x20]
divsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x28]
ucomisd xmm1, xmm0
mov rsi, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x64]
jbe 0x14042438e
movsd xmm0, qword [rsp + 0x38]
addsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x28]
addsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
jmp 0x1404243fc
movsd xmm0, qword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [rsp + 0x28]
movsd xmm1, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movzx edx, dil
movzx ecx, cl
add al, byte [rsp + rcx + 0x70]
movzx ecx, byte [rsp + rdx + 0x70]
movzx eax, al
movzx r10d, byte [rsp + rax + 0x70]
mov byte [rsp + rdx + 0x70], r10b
movzx edx, r9b
movzx r9d, byte [rsp + rdx + 0x70]
mov byte [rsp + rax + 0x70], r9b
movzx eax, r8b
movzx r8d, byte [rsp + rax + 0x70]
mov byte [rsp + rdx + 0x70], r8b
mov byte [rsp + rax + 0x70], cl
mov word [rsp + 0x1ec], 0
test r13d, r13d
jle 0x1404244a2
mov edi, r13d
xor r12d, r12d
lea rbx, [rsp + 0x70]
lea r14, [rsp + 0x170]
jmp 0x140424476
movzx eax, word [rsp + r15*2 + 0x170]
mov word [rsi + r12*2], ax
inc r12
cmp rdi, r12
je 0x1404244a2
mov rcx, rbx
call fcn.1404bb374
mov r15d, dword [rsp + 0x70]
mov rcx, r14
call fcn.1404bd600
mov rcx, rax
dec rcx
cmp r15, rcx
jb 0x140424460
mov eax, r15d
xor edx, edx
div ecx
mov r15d, edx
jmp 0x140424460
movsxd rax, r13d
mov word [rsi + rax*2], 0
mov rcx, qword [rsp + 0x1f8]
xor rcx, rsp
call fcn.14049f400
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret