Function at 0x180023220
Capabilities:
Encode data using base64
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x13b0]
mov eax, 0x14b0
call fcn.180050c20
sub rsp, rax
movaps xmmword [rsp + 0x14a0], xmm6
movaps xmmword [rsp + 0x1490], xmm7
movaps xmmword [rsp + 0x1480], xmm8
movaps xmmword [rsp + 0x1470], xmm9
movaps xmmword [rsp + 0x1460], xmm10
movaps xmmword [rsp + 0x1450], xmm11
movaps xmmword [rsp + 0x1440], xmm12
movaps xmmword [rsp + 0x1430], xmm13
movaps xmmword [rsp + 0x1420], xmm14
movaps xmmword [rsp + 0x1410], xmm15
mov rax, qword [0x180079880]
xor rax, rsp
mov qword [rbp + 0x1300], rax
mov rdi, qword [rbp + 0x1410]
mov r10, rcx
movss xmm11, dword [rsp + 0x50]
mov r15, r9
mov r9d, dword [rsp + 0x50]
mov r12, r8
movss xmm9, dword [0x180072c30]
mov r13d, edx
movss xmm7, dword [0x180072b1c]
mov ebx, edx
movss xmm1, dword [0x180072be8]
movss xmm0, dword [rsp + 0x50]
imul r14d, edx, 0xa1b
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp + 0x1418]
movss dword [rsp + 0x74], xmm11
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x48], rcx
mov dword [rsp + 0x70], r9d
cmp edx, r14d
ja 0x180023605
mov eax, dword [rsp + 0x50]
movss xmm8, dword [rsp + 0x50]
movss xmm6, dword [0x180072ae4]
movss xmm5, dword [rbp - 0x20]
movss xmm2, dword [rbp - 0x30]
movss xmm4, dword [rbp - 0x34]
movss xmm3, dword [rbp + 0x20]
mov rsi, qword [rbp - 0x40]
mov edi, dword [rsp + 0x54]
movss dword [rbp - 0x74], xmm0
movss xmm0, dword [rsp + 0x50]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x50]
movss dword [rbp - 0x70], xmm0
mov dword [rsp + 0x78], eax
movss dword [rbp - 0x7c], xmm8
cmp ebx, 0x932a
ja 0x1800234b7
je 0x1800234ad
cmp ebx, 0x4650
ja 0x180023402
je 0x1800233dd
cmp ebx, 0x3f
je 0x1800233d0
cmp ebx, 0x5a
je 0x1800233b6
mov r8d, dword [rsp + 0x40]
cmp ebx, 0x3138
jne 0x1800235d9
mov dword [rsp + 0x78], 1
jmp 0x1800235d9
movss dword [rbp - 0x7c], xmm6
movaps xmm8, xmm6
mov rsi, r15
test r15, r15
je 0x1800235fb
jmp 0x1800235d4
xor r8d, r8d
mov dword [rsp + 0x40], r8d
jmp 0x1800235d9
test r12, r12
je 0x1800235f4
cmp word [rsi + 0x24], 0x2a
je 0x1800235d4
mov dword [rsi + 0x68], 0x2ee2
mov eax, 0xffffffff
jmp 0x1800244e4
cmp ebx, 0x6231
je 0x18002349d
cmp ebx, 0x8c46
jne 0x1800235d4
mov rcx, qword [rsi + 0x70]
lea rax, [rbp - 0x38]
mov r9d, 0xfb
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x18]
lea rdx, [rbp - 0x10]
call fcn.18000abd0
cvttss2si eax, dword [rbp + 0x18]
movss xmm1, dword [rbp + 0x30]
comiss xmm1, xmm9
mov dword [r12 + 0x10], eax
jbe 0x180023475
movss xmm2, dword [rbp + 0x1c]
comiss xmm2, xmm9
jbe 0x180023475
movaps xmm0, xmm7
mulss xmm1, xmm8
subss xmm0, xmm8
mulss xmm0, xmm2
addss xmm0, xmm1
cvttss2si eax, xmm0
jmp 0x18002347a
mov eax, 0xffffff9c
mov r9d, dword [rsp + 0x70]
mov dword [r12 + 0x14], eax
movss xmm5, dword [rbp - 0x20]
movss xmm2, dword [rbp - 0x30]
movss xmm4, dword [rbp - 0x34]
movss xmm3, dword [rbp + 0x20]
jmp 0x1800235d4
mov r9d, 1
mov dword [rsp + 0x70], r9d
jmp 0x1800235d4
movss dword [rbp - 0x70], xmm7
jmp 0x1800235d4
cmp ebx, 0x15e28
ja 0x1800235aa
je 0x180023574
cmp ebx, 0xc423
je 0x180023555
cmp ebx, 0xd23c
je 0x180023549
cmp ebx, 0x11832
jne 0x1800235d4
comiss xmm1, xmm3
cvttss2si eax, xmm3
ja 0x1800234f7
mov eax, 0xffffff9c
comiss xmm5, xmm9
mov dword [r12 + 0x1c], eax
cvttss2si eax, dword [rbp - 0x38]
mov dword [r12 + 0x20], eax
jbe 0x180023530
comiss xmm4, xmm9
jbe 0x180023530
movaps xmm1, xmm7
movaps xmm0, xmm5
subss xmm1, xmm8
mulss xmm0, xmm8
mulss xmm1, xmm4
addss xmm1, xmm0
cvttss2si eax, xmm1
jmp 0x180023535
mov eax, 0xffffff9c
mov dword [r12 + 0x24], eax
cvttss2si eax, dword [rbp - 0x2c]
mov dword [r12 + 0x28], eax
jmp 0x1800235d4
cvttss2si eax, dword [rbp + 0x24]
mov dword [r12 + 0x18], eax
jmp 0x1800235d4
cmp dword [r15 + 0xc20], 1
movaps xmm11, xmm7
movss dword [rbp - 0x74], xmm7
movss dword [rsp + 0x74], xmm7
jne 0x1800235fb
jmp 0x1800235d4
comiss xmm1, xmm2
cvttss2si eax, xmm2
ja 0x180023582
mov eax, 0xffffff9c
mov dword [r12 + 0x2c], eax
mov ecx, dword [r12 + 0x14]
cmp ecx, 0xffffff9c
jle 0x18002359e
mov eax, dword [r12 + 0x24]
lea edi, [rax + rcx]
cmp eax, 0xffffff9c
jg 0x1800235a3
mov edi, 0xffffff9c
mov dword [r12 + 4], edi
jmp 0x1800235d4
cmp ebx, 0x1a41e
je 0x1800235cb
cmp ebx, 0x1ea14
jne 0x1800235d4
cvttss2si eax, dword [rbp - 0x10]
mov dword [r12 + 0xc], edi
mov dword [r12 + 0x30], eax
jmp 0x1800235d4
mov dword [r12], edi
mov dword [r12 + 8], edi
mov r8d, dword [rsp + 0x40]
imul eax, r13d, 0xc7
add ebx, eax
cmp ebx, r14d
ja 0x180023634
movss xmm1, dword [0x180072be8]
jmp 0x180023372
mov dword [rsi + 0x68], 0x2ee3
mov eax, 0xffffffff
jmp 0x1800244e4
mov r8d, dword [rsp + 0x50]
mov esi, dword [rsp + 0x50]
movss dword [rbp - 0x7c], xmm0
movss xmm0, dword [rsp + 0x50]
movss dword [rbp - 0x74], xmm0
movss xmm0, dword [rsp + 0x50]
movss dword [rbp - 0x70], xmm0
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x78], esi
jmp 0x180023644
mov esi, dword [rsp + 0x78]
mov rdi, qword [rbp - 0x68]
mov r10, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
lea r14d, [r13 + 0x999]
cmp r13d, r14d
jae 0x1800244de
movss xmm0, dword [rbp + 8]
movss xmm1, dword [rbp - 0xc]
movss xmm12, dword [0x180072c38]
movss xmm13, dword [0x180072bfc]
movss xmm14, dword [0x180072be4]
movss xmm15, dword [0x180072a7c]
movss dword [rbp - 0x5c], xmm0
movss xmm0, dword [rbp - 4]
movss dword [rbp - 0x60], xmm0
movss xmm0, dword [rbp - 8]
movss dword [rsp + 0x54], xmm0
movss xmm0, dword [rsp + 0x54]
movss xmm2, dword [rsp + 0x54]
movss xmm4, dword [rsp + 0x54]
movss xmm9, dword [rsp + 0x54]
movss xmm3, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x54]
movss xmm8, dword [rsp + 0x54]
movss xmm6, dword [rsp + 0x54]
movss xmm10, dword [rsp + 0x54]
movss dword [rsp + 0x7c], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rbp - 0x78], xmm2
movss xmm2, dword [rsp + 0x54]
movss dword [rbp - 0x6c], xmm2
movss dword [rsp + 0x68], xmm0
movss dword [rbp - 0x58], xmm1
movss dword [rsp + 0x50], xmm4
movss dword [rbp - 0x80], xmm9
movss dword [rsp + 0x58], xmm3
movss xmm1, dword [0x180072adc]
xorps xmm5, xmm5
cmp r13d, 0x276
ja 0x180023db0
je 0x180023d75
cmp r13d, 0x117
ja 0x180023b58
je 0x180023b26
cmp r13d, 0x3f
je 0x180023a4b
cmp r13d, 0x5a
je 0x1800239fd
cmp r13d, 0xfc
jne 0x1800239c3
mov eax, dword [r15 + 0xc]
lea r9, [rbp + 0xb00]
lea r8, [rsp + 0x68]
mov dword [rsp + 0x68], eax
xor edx, edx
mov dword [rsp + 0x20], 0xc6
xor ecx, ecx
call fcn.180011dc0
mov dword [rsp + 0x68], eax
movss xmm0, dword [rsp + 0x68]
ucomiss xmm0, dword [0x180072a60]
movss dword [rsp + 0x68], xmm0
jp 0x180023921
jne 0x180023921
mov esi, 0x78
nop dword [rax + rax]
mov eax, esi
sub eax, 0x78
je 0x18002380f
sub eax, 1
je 0x1800237ca
cmp eax, 1
je 0x1800244e2
jmp 0x180023912
cmp dword [rsp + 0x40], 1
jne 0x180023808
xor ecx, ecx
cmp dword [r15 + 4], ecx
jle 0x180023808
mov rdx, r15
mov rax, rdi
sub rdx, rdi
movaps xmm1, xmm12
movaps xmm0, xmm13
inc ecx
maxss xmm1, dword [rdx + rax + 0x6218]
lea rax, [rax + 4]
minss xmm0, xmm1
movss dword [rax - 4], xmm0
cmp ecx, dword [r15 + 4]
jl 0x1800237e2
xor ebx, ebx
jmp 0x180023912
movsxd rax, dword [r15 + 8]
mov edi, dword [r15 + 4]
mov rdx, rax
mov r11, rax
add eax, edi
movsxd r10, eax
cmp rdx, r10
jge 0x1800238ac
mov rax, r10
sub rax, rdx
cmp rax, 4
jl 0x180023888
lea r8, [r15 + 0x824]
lea r8, [r8 + rdx*4]
lea r9, [r10 - 3]
nop word [rax + rax]
mov eax, dword [r8 - 4]
lea r8, [r8 + 0x10]
mov rcx, rdx
add rdx, 4
sub rcx, r11
mov dword [rbp + rcx*4 + 0x40], eax
mov eax, dword [r8 - 0x10]
mov dword [rbp + rcx*4 + 0x44], eax
mov eax, dword [r8 - 0xc]
mov dword [rbp + rcx*4 + 0x48], eax
mov eax, dword [r8 - 8]
mov dword [rbp + rcx*4 + 0x4c], eax
cmp rdx, r9
jl 0x180023850
cmp rdx, r10
jge 0x1800238ac
lea r8, [r15 + 0x820]
lea r8, [r8 + rdx*4]
mov eax, dword [r8]
lea r8, [r8 + 4]
mov rcx, rdx
inc rdx
sub rcx, r11
mov dword [rbp + rcx*4 + 0x40], eax
cmp rdx, r10
jl 0x180023893
mov eax, dword [r15 + 0xc]
lea rcx, [r15 + 0x820]
mov dword [rsp + 0x60], eax
lea r8, [rsp + 0x48]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x48], edi
mov r9d, 0xac
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.180005b30
xor ecx, ecx
cmp dword [r15 + 4], ecx
jle 0x180023912
mov rax, qword [rbp - 0x50]
lea rdx, [rbp + 0x40]
sub rdx, rax
nop
movaps xmm1, xmm12
movaps xmm0, xmm13
inc ecx
maxss xmm1, dword [rdx + rax]
lea rax, [rax + 4]
minss xmm0, xmm1
movss dword [rax - 4], xmm0
cmp ecx, dword [r15 + 4]
jl 0x1800238f0
mov rdi, qword [rbp - 0x68]
inc esi
cmp esi, 0x7b
jb 0x1800237b0
mov eax, dword [r15 + 0x10]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], eax
lea rcx, [rbp + 0xb00]
mov eax, dword [r15 + 0xc]
mov r9, r15
mov dword [rsp + 0x48], eax
mov edx, 0x104
lea rax, [rbp + 0x8f0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x6e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf00]
mov qword [rsp + 0x20], rax
call fcn.18000c460
cmp dword [r15 + 0x2060], 0x32
jge 0x1800239bd
xor ecx, ecx
cmp dword [r15 + 0x10], ecx
jle 0x1800239bd
lea rdx, [rbp + 0x6e0]
sub rdx, r15
lea rax, [r15 + 0x2cd4]
nop dword [rax + rax]
movss xmm0, dword [rdx + rax - 0x2cd4]
inc ecx
addss xmm0, dword [rax]
movss dword [rax], xmm0
add rax, 4
cmp ecx, dword [r15 + 0x10]
jl 0x1800239a0
movss xmm3, dword [rsp + 0x58]
add r13d, 0xbd
cmp r13d, r14d
jae 0x1800244e2
movss xmm2, dword [rbp - 0x6c]
movss xmm4, dword [rsp + 0x50]
mov esi, dword [rsp + 0x78]
mov rdi, qword [rbp - 0x68]
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x40]
mov r10, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
jmp 0x18002370c
movss xmm0, dword [0x180072c30]
movss xmm4, dword [rbp - 0x5c]
comiss xmm4, xmm0
jbe 0x180023a3c
movss xmm5, dword [rbp - 0x58]
comiss xmm5, xmm0
jbe 0x180023a3c
movaps xmm1, xmm7
movaps xmm0, xmm4
subss xmm1, dword [rbp - 0x7c]
mulss xmm0, dword [rbp - 0x7c]
mulss xmm1, xmm5
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [r12 + 0x34], eax
jmp 0x1800239c3
mov eax, 0xffffff9c
mov dword [r12 + 0x34], eax
jmp 0x1800239c3
cmp dword [r15], 0x7d00
jne 0x180023a7a
test rcx, rcx
je 0x1800235fb
mov eax, dword [r15 + 0x10]
cdq
mov dword [rsp + 0x40], 1
and edx, 3
add eax, edx
sar eax, 2
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x70], eax
mov ecx, dword [r15 + 0xc]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], ecx
lea r8, [rsp + 0x60]
mov ecx, dword [r15 + 4]
mov r9d, 0xac
mov dword [rsp + 0x60], ecx
mov rdx, r12
lea rcx, [r15 + 0x420]
mov qword [rsp + 0x20], rax
call fcn.180005b30
cmp dword [rsp + 0x40], 1
jne 0x180023aea
mov eax, dword [r15 + 0xc]
lea rcx, [r15 + 0x6218]
mov rdx, qword [rbp - 0x48]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x48], eax
mov r9d, 0xac
mov eax, dword [r15 + 4]
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.180005b30
lea r9, [r15 + 0x420]
mov eax, dword [r15 + 0xc]
lea rdx, [rsp + 0x48]
mov r8, qword [r15 + 0x18]
mov ecx, 0x119
mov dword [rsp + 0x48], eax
lea rax, [rbp + 0xb00]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call fcn.18000aa50
jmp 0x1800239bd
cvttss2si eax, dword [rbp - 0x60]
movss xmm0, dword [rsp + 0x54]
movss xmm1, dword [0x180072be8]
comiss xmm1, xmm0
mov dword [r12 + 0x38], eax
cvttss2si eax, xmm0
ja 0x180023b4c
mov eax, 0xffffff9c
mov dword [r12 + 0x3c], eax
xor ebx, ebx
jmp 0x1800239c3
mov eax, r13d
sub eax, 0x1b9
je 0x180023b70
cmp eax, 0x1b
je 0x1800244e2
jmp 0x1800239c3
mov r9d, 0x3d
mov qword [rsp + 0x20], r15
lea r8, [rbp + 0x6e0]
xor ecx, ecx
lea rdx, [rbp + 0x2c0]
call fcn.180006150
xor esi, esi
cmp dword [r15 + 0x10], esi
jle 0x1800239bd
lea rdi, [r15 + 0x2cd4]
mov r10, r15
lea rax, [rbp + 0x4d0]
sub rdi, r15
sub r10, rax
xor edx, edx
nop word [rax + rax]
mov r11d, 0x37
nop word [rax + rax]
mov eax, r11d
sub eax, 0x35
je 0x180023d34
sub eax, 1
je 0x180023d0a
cmp eax, 1
jne 0x180023d53
movss xmm3, dword [rbp + rdx + 0x2c0]
movss xmm4, dword [r15 + 0x1c58]
comiss xmm4, xmm3
jbe 0x180023c11
movss dword [rbp + rdx + 0x2c0], xmm4
movaps xmm3, xmm4
comiss xmm3, xmm7
jbe 0x180023c24
movaps xmm3, xmm7
mov dword [rbp + rdx + 0x2c0], 0x3f800000
mov r9d, dword [r15 + 0x2060]
cmp r9d, 0x32
jge 0x180023d53
mov r8d, 0xf5
nop dword [rax + rax]
mov eax, r8d
sub eax, 0xf5
je 0x180023cc0
sub eax, 1
je 0x180023c74
cmp eax, 1
jne 0x180023cf8
addss xmm3, dword [rbp + rdx + 0x4d0]
divss xmm3, xmm14
movss dword [rbp + rdx + 0x2c0], xmm3
jmp 0x180023cf8
movss xmm1, dword [rbp + rdx + 0x4d0]
comiss xmm4, xmm1
jbe 0x180023c85
movaps xmm1, xmm4
comiss xmm1, xmm7
jbe 0x180023c8d
movaps xmm1, xmm7
movd xmm0, r9d
mov eax, 0x32
cvtdq2ps xmm0, xmm0
sub eax, r9d
mulss xmm3, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + rdx + 0x2c0], xmm3
mulss xmm0, xmm1
movss dword [rbp + rdx + 0x4d0], xmm0
jmp 0x180023cf8
lea rcx, [rbp + 0x4d0]
add rcx, rdx
lea rax, [r10 + rcx]
movss xmm2, dword [rax + rdi]
movss xmm0, dword [rax + 0x2ee0]
movaps xmm1, xmm2
mulss xmm0, dword [r15 + 0x1c54]
addss xmm2, xmm15
subss xmm1, xmm0
divss xmm1, xmm2
movss dword [rcx], xmm1
inc r8d
cmp r8d, 0xf8
jb 0x180023c40
jmp 0x180023d53
movss xmm0, dword [rbp + rdx + 0x2c0]
lea rax, [r10 + rdx]
movss dword [rbp + rax + 0x1f20], xmm0
mulss xmm0, dword [rbp + rdx + 0xf00]
movss dword [rbp + rdx + 0xf00], xmm0
jmp 0x180023d53
lea rax, [r10 + rdx]
movss xmm0, dword [rbp + rax + 0x1f20]
mulss xmm0, dword [rbp + rdx + 0x8f0]
movss dword [rbp + rdx + 0x8f0], xmm0
dec r11d
cmp r11d, 0x34
ja 0x180023bd0
inc esi
add rdx, 4
cmp esi, dword [r15 + 0x10]
jl 0x180023bc0
jmp 0x1800239bd
movsxd r8, dword [r15 + 0x10]
lea rcx, [r15 + 0x269c]
shl r8, 2
lea rdx, [rbp + 0x6e0]
call sub.VCRUNTIME140.dll_memcpy
movsxd r8, dword [r15 + 0x10]
lea rdx, [r15 + 0x2090]
shl r8, 2
lea rcx, [r15 + 0x2294]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800239bd
cmp r13d, 0x56a
ja 0x180024100
je 0x180024036
cmp r13d, 0x333
je 0x180023fdf
cmp r13d, 0x3f0
je 0x180023e35
cmp r13d, 0x4ad
jne 0x1800239c3
xor ecx, ecx
cmp dword [r15 + 0xc], ecx
jle 0x1800239c3
lea rdx, [rbp + 0xb00]
sub rdx, r15
lea rax, [r15 + 0x820]
nop dword [rax]
nop word [rax + rax]
movaps xmm0, xmm3
inc ecx
mulss xmm0, dword [rdx + rax - 0x820]
addss xmm0, dword [rax]
movss dword [rax], xmm0
add rax, 4
cmp ecx, dword [r15 + 0xc]
jl 0x180023e10
jmp 0x1800239c3
cmp dword [r15 + 0x1c5c], 1
jne 0x180023fd3
cmp dword [r15 + 0x2060], 0xc8
jle 0x180023fd3
movss xmm14, dword [rsp + 0x7c]
mov edi, 0x69
movss xmm15, dword [0x180072adc]
movss xmm13, dword [rbp - 0x78]
movss xmm12, dword [rsp + 0x68]
movss xmm11, dword [0x180072b2c]
movss xmm9, dword [0x180072ac4]
nop dword [rax + rax]
cmp edi, 0x69
je 0x180023f33
cmp edi, 0x5208
je 0x180023ed9
cmp edi, 0xa3a7
jne 0x180023f7e
movss xmm1, dword [r15 + 0x2aa4]
movaps xmm3, xmm7
subss xmm3, xmm1
movaps xmm0, xmm14
mulss xmm0, xmm1
mulss xmm3, xmm13
addss xmm3, xmm0
movss dword [rsp + 0x58], xmm3
jmp 0x180023f7e
comiss xmm2, xmm15
jbe 0x180023f08
movaps xmm14, xmm2
movaps xmm0, xmm2
subss xmm14, xmm15
mulss xmm14, xmm11
addss xmm14, xmm7
mulss xmm0, xmm14
comiss xmm0, xmm7
jbe 0x180023f08
movaps xmm14, xmm7
divss xmm14, xmm2
comiss xmm15, xmm2
jbe 0x180023f7e
movss xmm0, dword [r15 + 0x1c58]
movaps xmm1, xmm15
maxss xmm0, xmm2
movaps xmm13, xmm7
subss xmm1, xmm0
mulss xmm1, xmm9
subss xmm13, xmm1
jmp 0x180023f7b
mov eax, dword [r15 + 0xc]
lea r9, [rbp + 0xb00]
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], eax
xor edx, edx
mov dword [rsp + 0x20], 0xc6
xor ecx, ecx
movaps xmm14, xmm7
movaps xmm13, xmm7
call fcn.180011dc0
movaps xmm1, xmm12
mov dword [rsp + 0x48], eax
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm7
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm2, xmm0
add edi, 0x519f
cmp edi, 0xf4dd
jbe 0x180023e90
movss xmm9, dword [rbp - 0x80]
movss xmm11, dword [rsp + 0x74]
movss xmm12, dword [0x180072c38]
movss xmm15, dword [0x180072a7c]
movss dword [rbp - 0x78], xmm13
movss xmm13, dword [0x180072bfc]
movss dword [rsp + 0x7c], xmm14
movss xmm14, dword [0x180072be4]
movss dword [rbp - 0x6c], xmm2
lea r9, [rbp + 0xb00]
jmp 0x180023af1
mov eax, dword [r15 + 0xc]
lea r9, [rsp + 0x48]
mov dword [rsp + 0x60], eax
lea rdx, [rsp + 0x60]
mov eax, dword [r15 + 0x10]
lea rcx, [rbp + 0x8f0]
mov dword [rsp + 0x48], eax
mov r8d, 0x3e
lea rax, [rbp + 0xb00]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf00]
mov qword [rsp + 0x20], rax
call fcn.18003e350
movaps xmm3, xmm7
movss dword [rsp + 0x58], xmm7
jmp 0x1800239c3
movsxd rax, dword [r15 + 8]
mov edi, dword [r15 + 4]
mov rdx, rax
mov r11, rax
add eax, edi
movsxd r9, eax
cmp rdx, r9
jge 0x1800240cc
mov rax, r9
sub rax, rdx
cmp rax, 4
jl 0x1800240a8
lea r8, [r15 + 0x824]
lea r8, [r8 + rdx*4]
lea r10, [r9 - 3]
nop dword [rax]
mov eax, dword [r8 - 4]
lea r8, [r8 + 0x10]
mov rcx, rdx
add rdx, 4
sub rcx, r11
mov dword [rbp + rcx*4 + 0x40], eax
mov eax, dword [r8 - 0x10]
mov dword [rbp + rcx*4 + 0x44], eax
mov eax, dword [r8 - 0xc]
mov dword [rbp + rcx*4 + 0x48], eax
mov eax, dword [r8 - 8]
mov dword [rbp + rcx*4 + 0x4c], eax
cmp rdx, r10
jl 0x180024070
cmp rdx, r9
jge 0x1800240cc
lea r8, [r15 + 0x820]
lea r8, [r8 + rdx*4]
mov eax, dword [r8]
lea r8, [r8 + 4]
mov rcx, rdx
inc rdx
sub rcx, r11
mov dword [rbp + rcx*4 + 0x40], eax
cmp rdx, r9
jl 0x1800240b3
mov eax, dword [r15 + 0xc]
lea rcx, [r15 + 0x820]
mov dword [rsp + 0x48], eax
lea r8, [rsp + 0x60]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x60], edi
mov r9d, 0xac
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.180005b30
jmp 0x1800239bd
cmp r13d, 0x627
je 0x18002411b
cmp r13d, 0x6e4
je 0x1800244e2
jmp 0x1800239c3
mov ebx, dword [r15 + 4]
xor ecx, ecx
test ebx, ebx
jle 0x18002415c
lea rdx, [rbp + 0x40]
mov rax, r10
sub rdx, r10
nop
movaps xmm1, xmm12
movaps xmm0, xmm13
inc ecx
maxss xmm1, dword [rax + rdx]
lea rax, [rax + 4]
minss xmm0, xmm1
movss dword [rax - 4], xmm0
mov ebx, dword [r15 + 4]
cmp ecx, ebx
jl 0x180024130
movss xmm1, dword [0x180072adc]
cmp r8d, 1
jne 0x1800244d7
movss xmm14, dword [0x180072aec]
mov edi, 0x37
movss xmm15, dword [0x180072ac0]
mov r12, qword [rbp - 0x68]
cmp edi, 0xcf
ja 0x1800243e3
je 0x1800243ae
mov eax, edi
sub eax, 0x37
je 0x180024319
sub eax, 0x26
je 0x180024269
sub eax, 0x26
je 0x180024257
cmp eax, 0x26
jne 0x180024499
mov ecx, dword [r15 + 0x10]
movaps xmm8, xmm5
mov eax, ecx
sub eax, r9d
dec eax
movsxd r8, eax
lea eax, [rcx - 1]
movsxd rdx, eax
cmp r8, rdx
jge 0x180024245
mov rax, rdx
sub rax, r8
cmp rax, 4
jl 0x180024223
mov rcx, rdx
lea rax, [r15 + 0x1a54]
sub rcx, r8
lea rax, [rax + r8*4]
sub rcx, 4
shr rcx, 2
inc rcx
lea r8, [r8 + rcx*4]
addss xmm8, dword [rax - 4]
addss xmm8, dword [rax]
addss xmm8, dword [rax + 4]
addss xmm8, dword [rax + 8]
add rax, 0x10
sub rcx, 1
jne 0x180024202
cmp r8, rdx
jge 0x180024245
lea rax, [r15 + 0x1a50]
sub rdx, r8
lea rax, [rax + r8*4]
addss xmm8, dword [rax]
add rax, 4
sub rdx, 1
jne 0x180024236
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
divss xmm8, xmm0
jmp 0x180024499
movaps xmm0, xmm9
divss xmm0, xmm10
mulss xmm6, xmm0
jmp 0x180024499
movsxd rcx, dword [r15 + 0x10]
xor r8d, r8d
movaps xmm10, xmm5
movaps xmm9, xmm5
cmp rcx, 4
jl 0x1800242e5
lea rdx, [rcx - 4]
shr rdx, 2
lea rax, [r15 + 0x249c]
inc rdx
lea r8, [rdx*4]
nop dword [rax + rax]
addss xmm10, dword [rax - 4]
addss xmm9, dword [rax + 0x200]
addss xmm10, dword [rax]
addss xmm9, dword [rax + 0x204]
addss xmm10, dword [rax + 4]
addss xmm9, dword [rax + 0x208]
addss xmm10, dword [rax + 8]
addss xmm9, dword [rax + 0x20c]
add rax, 0x10
sub rdx, 1
jne 0x1800242a0
cmp r8, rcx
jge 0x180024499
lea rax, [r15 + 0x269c]
sub rcx, r8
lea rax, [rax + r8*4]
addss xmm10, dword [rax - 0x204]
addss xmm9, dword [rax]
add rax, 4
sub rcx, 1
jne 0x1800242fc
jmp 0x180024499
mov ecx, dword [r15 + 0x10]
movaps xmm6, xmm5
mov eax, ecx
sub eax, esi
dec eax
movsxd r8, eax
lea eax, [rcx - 1]
movsxd rdx, eax
cmp r8, rdx
jge 0x18002439e
mov rax, rdx
sub rax, r8
cmp rax, 4
jl 0x18002437d
mov rcx, rdx
lea rax, [r15 + 0x6018]
sub rcx, r8
lea rax, [rax + r8*4]
sub rcx, 4
shr rcx, 2
inc rcx
lea r8, [r8 + rcx*4]
addss xmm6, dword [rax - 4]
addss xmm6, dword [rax]
addss xmm6, dword [rax + 4]
addss xmm6, dword [rax + 8]
add rax, 0x10
sub rcx, 1
jne 0x180024360
cmp r8, rdx
jge 0x18002439e
lea rax, [r15 + 0x6014]
sub rdx, r8
lea rax, [rax + r8*4]
addss xmm6, dword [rax]
add rax, 4
sub rdx, 1
jne 0x180024390
movd xmm0, esi
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
jmp 0x180024499
movaps xmm0, xmm6
addss xmm0, xmm6
subss xmm0, xmm7
mulss xmm0, dword [rbp - 0x74]
call sub.api_ms_win_crt_math_l1_1_0.dll_tanhf
movss xmm1, dword [0x180072adc]
movaps xmm4, xmm0
mov r9d, dword [rsp + 0x70]
addss xmm4, xmm7
xorps xmm5, xmm5
mulss xmm4, xmm1
jmp 0x180024499
mov eax, edi
sub eax, 0xf5
je 0x180024463
sub eax, 0x26
je 0x18002444a
cmp eax, 0x26
jne 0x180024499
xor ecx, ecx
test ebx, ebx
jle 0x180024499
mov rdx, r15
mov rax, r12
sub rdx, r12
nop dword [rax]
movaps xmm0, xmm11
movaps xmm1, xmm12
mulss xmm0, dword [rax + rdx + 0x6218]
lea rax, [rax + 4]
inc ecx
maxss xmm1, xmm0
movaps xmm0, xmm13
minss xmm0, xmm1
movss dword [rax - 4], xmm0
mov ebx, dword [r15 + 4]
cmp ecx, ebx
jl 0x180024410
movss xmm1, dword [0x180072adc]
jmp 0x180024499
movss xmm0, dword [r15 + 0x1c58]
maxss xmm0, xmm11
movaps xmm11, xmm7
minss xmm11, xmm0
jmp 0x180024499
comiss xmm6, xmm1
movaps xmm11, xmm8
movaps xmm0, xmm4
mulss xmm11, xmm1
mulss xmm0, xmm1
addss xmm11, xmm0
jb 0x180024493
movaps xmm11, xmm8
movaps xmm0, xmm4
mulss xmm11, xmm14
mulss xmm0, xmm15
addss xmm11, xmm0
mulss xmm11, dword [rbp - 0x70]
add edi, 0x26
cmp edi, 0x167
jb 0x180024181
movss xmm14, dword [0x180072be4]
movss xmm15, dword [0x180072a7c]
movss xmm3, dword [rsp + 0x58]
mov r12, qword [rbp - 0x40]
movss dword [rsp + 0x50], xmm4
movss dword [rsp + 0x74], xmm11
movss dword [rbp - 0x80], xmm9
xor ebx, ebx
jmp 0x1800239c3
mov ebx, dword [rsp + 0x54]
mov eax, ebx
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.180050c90
lea r11, [rsp + 0x14b0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret