Function at 0x18000a912
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm6
mov esi, edx
mov rcx, qword [0x180018e18]
movaps xmm0, xmmword [0x1800149a0]
lea rax, [rsp + 0xd0]
movaps xmmword [rax], xmm0
movss xmm0, dword [0x1800180f4]
addss xmm0, dword [0x180014ad8]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [0x180019100]
lea r8, [rsp + 0x60]
movsd qword [r8], xmm1
movsd qword [r8 + 8], xmm0
movsd xmm0, qword [0x180019128]
addsd xmm0, qword [0x180014ae0]
movsd xmm1, qword [0x1800190f0]
lea rdx, [rsp + 0xc0]
movsd qword [rdx], xmm1
movsd qword [rdx + 8], xmm0
mov qword [rsp + 0x20], rax
movss xmm3, dword [0x1800141a4]
call fcn.18000e364
cmp esi, 2
je 0x18000b23a
cmp esi, 1
je 0x18000aaa6
test esi, esi
jne 0x18000c008
mov eax, dword [0x180018010]
cmp eax, 2
je 0x18000b2af
cmp eax, 1
je 0x18000b376
test eax, eax
jne 0x18000b48b
lea rsi, [rsp + 0x62]
movabs rax, 0x19001f0034007a
mov qword [rsi - 2], rax
mov dword [rsi + 6], 0x7a0011
mov word [rsi + 0x12], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x7a
inc rax
cmp rax, 0xa
jne 0x18000aa0a
mov word [rsp + 0x74], 0
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000aa4a
mov rcx, rsi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000aa4a
mov qword [rsp + 0x50], rsi
lea rsi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014d50]
movaps xmmword [rsi - 2], xmm0
movapd xmm0, xmmword [0x180014d60]
movapd xmmword [rsi + 0xe], xmm0
movabs rax, 0x4c0031003a0031
mov qword [rsi + 0x1e], rax
mov dword [rsi + 0x26], 0x31002b
mov word [rsi + 0x2a], 0x11
mov word [rsi + 0x56], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x11
inc rax
cmp rax, 0x2c
jne 0x18000aa90
jmp 0x18000b42f
movapd xmm0, xmmword [0x180019120]
addpd xmm0, xmmword [0x180014af0]
movapd xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014b00]
movaps xmmword [r8 - 2], xmm0
movaps xmm0, xmmword [0x180014b10]
movaps xmmword [r8 + 0xe], xmm0
movabs rax, 0x6f00740000006e
mov qword [r8 + 0x1e], rax
mov word [r8 + 0x26], 0x46
mov word [r8 + 0x4e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x46
inc rax
cmp rax, 0x28
jne 0x18000aafd
xor ebx, ebx
lea rdi, [rsp + 0xd2]
mov word [rdi + 0x4e], bx
lea r9, [0x180018074]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
movaps xmm0, xmmword [0x180014b20]
movaps xmmword [rdi - 2], xmm0
movabs rax, 0x42003a002d0020
mov qword [rdi + 0xe], rax
mov word [rdi + 0x2a], bx
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x42
inc rax
cmp rax, 0x16
jne 0x18000ab4f
mov word [rsp + 0xfc], 0
lea r9, [0x18001807f]
lea rdx, [rsp + 0x60]
mov r8, rdi
call fcn.18000ccb0
cmp byte [0x18001807f], 0
je 0x18000ab8e
mov byte [0x180018080], 0
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014b30]
movaps xmmword [r8 - 2], xmm0
movaps xmm0, xmmword [0x180014b40]
movaps xmmword [r8 + 0xe], xmm0
mov dword [r8 + 0x1e], 0x120005
mov word [r8 + 0x22], 0x6a
mov word [r8 + 0x46], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x6a
inc rax
cmp rax, 0x24
jne 0x18000abc9
mov word [rsp + 0x118], 0
lea r9, [0x180018080]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
cmp byte [0x180018080], 0
je 0x18000ac05
mov byte [0x18001807f], 0
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014b50]
movaps xmmword [r8 - 2], xmm0
movaps xmm0, xmmword [str._6__1_:_]
movaps xmmword [r8 + 0xe], xmm0
mov word [r8 + 0x1e], 0x5f
mov word [r8 + 0x3e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x5f
inc rax
cmp rax, 0x20
jne 0x18000ac38
xor ebx, ebx
lea rdi, [rsp + 0xd2]
mov word [rdi + 0x3e], bx
lea r9, [0x18001807d]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
movaps xmm0, xmmword [0x180014b70]
movaps xmmword [rdi - 2], xmm0
movaps xmm0, xmmword [0x180014b80]
movaps xmmword [rdi + 0xe], xmm0
mov word [rdi + 0x1e], 0x7d
mov word [rdi + 0x3e], bx
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x7d
inc rax
cmp rax, 0x20
jne 0x18000ac8d
xor ebp, ebp
lea rbx, [rsp + 0xd2]
mov word [rbx + 0x3e], bp
lea r9, [0x180018081]
lea rdx, [rsp + 0x60]
mov r8, rdi
call fcn.18000ccb0
movaps xmm6, xmmword [0x180014b90]
movaps xmmword [rbx - 2], xmm6
movabs rax, 0x2a0022002e0021
mov qword [rbx + 0xe], rax
mov word [rbx + 0x16], 0x4f
mov word [rbx + 0x2e], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x4f
inc rax
cmp rax, 0x18
jne 0x18000ace8
xor ebp, ebp
lea rdi, [rsp + 0xd2]
mov word [rdi + 0x2e], bp
lea r9, [0x18001807e]
lea rdx, [rsp + 0x60]
mov r8, rbx
call fcn.18000ccb0
movaps xmmword [rdi - 2], xmm6
movabs rax, 0x22002e0027000c
mov qword [rdi + 0xe], rax
mov dword [rdi + 0x16], 0x4f003c
mov word [rdi + 0x32], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x4f
inc rax
cmp rax, 0x1a
jne 0x18000ad3d
mov word [rsp + 0x104], 0
lea r9, [0x180018084]
lea rdx, [rsp + 0x60]
mov r8, rdi
call fcn.18000ccb0
cmp byte [0x180018084], 0
je 0x18000addc
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014ba0]
movaps xmmword [r8 - 2], xmm0
movaps xmm0, xmmword [0x180014bb0]
movaps xmmword [r8 + 0xe], xmm0
mov dword [r8 + 0x1e], 0x1e0008
mov word [r8 + 0x22], 0x6d
mov word [r8 + 0x46], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x6d
inc rax
cmp rax, 0x24
jne 0x18000adb0
mov word [rsp + 0x118], 0
lea r9, [0x180018087]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
lea r8, [rsp + 0xd2]
movabs rax, 0x52005700640036
mov qword [r8 - 2], rax
mov dword [r8 + 6], 0x440057
mov word [r8 + 0xa], 0x36
mov word [r8 + 0x16], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x36
inc rax
cmp rax, 0xc
jne 0x18000ae0d
xor ebx, ebx
lea rdi, [rsp + 0xd2]
mov word [rdi + 0x16], bx
lea r9, [0x18001807c]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
movaps xmm0, xmmword [0x180014bc0]
movaps xmmword [rdi - 2], xmm0
movaps xmm0, xmmword [0x180014bd0]
movaps xmmword [rdi + 0xe], xmm0
movaps xmm0, xmmword [0x180014be0]
movaps xmmword [rdi + 0x1e], xmm0
mov dword [rdi + 0x2e], 0x3c0020
mov word [rdi + 0x32], 0x15
mov word [rdi + 0x66], bx
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x15
inc rax
cmp rax, 0x34
jne 0x18000ae74
mov word [rsp + 0x138], 0
lea r9, [0x18001809c]
lea rdx, [rsp + 0x60]
mov r8, rdi
call fcn.18000ccb0
cmp byte [0x18001809c], 0
je 0x18000b1f4
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014bf0]
movaps xmmword [r8 - 2], xmm0
movaps xmm0, xmmword [0x180014c00]
movaps xmmword [r8 + 0xe], xmm0
movabs rax, 0x7a00720063007e
mov qword [r8 + 0x1e], rax
mov dword [r8 + 0x26], 0x170064
mov word [r8 + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x17
inc rax
cmp rax, 0x2a
jne 0x18000aef2
xor ebx, ebx
lea rdi, [rsp + 0xd2]
mov word [rdi + 0x52], bx
lea r9, [0x1800180b4]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
movaps xmm0, xmmword [0x180014c10]
movaps xmmword [rdi - 2], xmm0
mov word [rdi + 0x1a], bx
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x78
inc rax
cmp rax, 0xe
jne 0x18000af36
xor ebp, ebp
lea rbx, [rsp + 0xd2]
mov word [rbx + 0x1a], bp
lea r9, [0x1800180b5]
lea rdx, [rsp + 0x60]
mov r8, rdi
call fcn.18000ccb0
movaps xmm0, xmmword [0x180014c20]
movaps xmmword [rbx - 2], xmm0
mov dword [rbx + 0xe], 0x410039
mov word [rbx + 0x22], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x41
inc rax
cmp rax, 0x12
jne 0x18000af84
mov word [rsp + 0xf4], 0
lea r9, [0x1800180b8]
lea rdi, [rsp + 0x60]
mov rdx, rdi
mov r8, rbx
call fcn.18000ccb0
cmp byte [0x18001809c], 0
movss xmm0, dword [0x1800180f0]
mulss xmm0, dword [0x1800141a0]
addss xmm0, dword [0x180014180]
cvtss2sd xmm0, xmm0
movapd xmm1, xmmword [rdi]
movhpd xmm1, qword [0x180019128]
shufpd xmm0, xmmword [0x180014c30], 2
addpd xmm0, xmm1
movapd xmmword [rdi], xmm0
je 0x18000b231
lea rdx, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014c40]
movaps xmmword [rdx - 2], xmm0
movaps xmm0, xmmword [str._YJ_NCC]
movaps xmmword [rdx + 0xe], xmm0
movaps xmm0, xmmword [str.KF_NALJ]
movaps xmmword [rdx + 0x1e], xmm0
mov word [rdx + 0x2e], 0x2f
mov word [rdx + 0x5e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x2f
inc rax
cmp rax, 0x30
jne 0x18000b036
xor ebp, ebp
lea rbx, [rsp + 0xd2]
mov word [rbx + 0x5e], bp
mov qword [rsp + 0x28], rdi
lea rax, [0x180018078]
mov qword [rsp + 0x20], rax
movss xmm2, dword [0x180014c70]
movss xmm3, dword [0x180014c74]
call fcn.18000d1d2
movaps xmm0, xmmword [0x180014c80]
movaps xmmword [rbx - 2], xmm0
movabs rax, 0x32003d0028002f
mov qword [rbx + 0xe], rax
mov dword [rbx + 0x16], 0x39003f
mov word [rbx + 0x1a], 0x5c
mov word [rbx + 0x36], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x5c
inc rax
cmp rax, 0x1c
jne 0x18000b0aa
xor ebp, ebp
lea r14, [rsp + 0xd2]
mov word [r14 + 0x36], bp
mov qword [rsp + 0x28], rdi
lea rax, [0x1800180a4]
mov qword [rsp + 0x20], rax
movss xmm2, dword [0x180014890]
movss xmm3, dword [0x180014c74]
mov rdx, rbx
call fcn.18000d1d2
movaps xmm0, xmmword [0x180014c90]
movaps xmmword [r14 - 2], xmm0
movaps xmm0, xmmword [0x180014ca0]
movaps xmmword [r14 + 0xe], xmm0
movabs rax, 0x7c0019001f0012
mov qword [r14 + 0x1e], rax
mov word [r14 + 0x4a], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x7c
inc rax
cmp rax, 0x26
jne 0x18000b123
xor ebp, ebp
lea rbx, [rsp + 0xd2]
mov word [rbx + 0x4a], bp
mov qword [rsp + 0x28], rdi
lea rax, [0x1800180ac]
mov qword [rsp + 0x20], rax
movss xmm2, dword [0x180014890]
movss xmm3, dword [0x180014c74]
mov rdx, r14
call fcn.18000d1d2
movaps xmm0, xmmword [0x180014cb0]
movaps xmmword [rbx - 2], xmm0
movaps xmm0, xmmword [0x180014cc0]
movaps xmmword [rbx + 0xe], xmm0
mov dword [rbx + 0x1e], 0xe0019
mov word [rbx + 0x22], 0x7c
mov word [rbx + 0x46], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x7c
inc rax
cmp rax, 0x24
jne 0x18000b197
mov word [rsp + 0x118], 0
mov qword [rsp + 0x28], rdi
lea rax, [0x1800180bc]
mov qword [rsp + 0x20], rax
movss xmm2, dword [0x1800141a4]
movss xmm3, dword [0x180014cd0]
mov rdx, rbx
call fcn.18000d1d2
movss xmm0, dword [0x1800180bc]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [0x1800180bc], xmm0
jmp 0x18000b231
movss xmm0, dword [0x1800180f0]
mulss xmm0, dword [0x1800141a0]
addss xmm0, dword [0x180014180]
cvtss2sd xmm0, xmm0
movapd xmm1, xmmword [rsp + 0x60]
movhpd xmm1, qword [0x180019128]
shufpd xmm0, xmmword [0x180014c30], 2
addpd xmm0, xmm1
movapd xmmword [rsp + 0x60], xmm0
cmp esi, 2
jne 0x18000c008
movapd xmm0, xmmword [0x180019120]
addpd xmm0, xmmword [0x180014af0]
movapd xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [str._rDjcb]
movaps xmmword [r8 - 2], xmm0
movapd xmm0, xmmword [0x180014cf0]
movapd xmmword [r8 + 0xe], xmm0
mov word [r8 + 0x3a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0xd
inc rax
cmp rax, 0x1e
jne 0x18000b27e
mov word [rsp + 0x10c], 0
lea r9, [0x1800180c0]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
jmp 0x18000c008
lea rsi, [rsp + 0x62]
movabs rax, 0x53005e00750036
mov qword [rsi - 2], rax
mov dword [rsi + 6], 0x420045
mov word [rsi + 0xa], 0x36
mov word [rsi + 0x16], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x36
inc rax
cmp rax, 0xc
jne 0x18000b2da
mov word [rsp + 0x78], 0
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b31a
mov rcx, rsi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b31a
mov qword [rsp + 0x50], rsi
lea rsi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014d00]
movaps xmmword [rsi - 2], xmm0
movapd xmm0, xmmword [0x180014d10]
movapd xmmword [rsi + 0xe], xmm0
movabs rax, 0x380045004e0045
mov qword [rsi + 0x1e], rax
mov dword [rsi + 0x26], 0x45005f
mov word [rsi + 0x2a], 0x65
mov word [rsi + 0x56], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x65
inc rax
cmp rax, 0x2c
jne 0x18000b360
jmp 0x18000b42f
lea rsi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014d20]
movaps xmmword [rsi - 2], xmm0
mov word [rsi + 0xe], 0x54
mov word [rsi + 0x1e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x54
inc rax
cmp rax, 0x10
jne 0x18000b397
mov word [rsp + 0x80], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b3d8
mov rcx, rsi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b3d8
mov qword [rsp + 0x50], rsi
lea rsi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014d30]
movaps xmmword [rsi - 2], xmm0
movapd xmm0, xmmword [0x180014d40]
movapd xmmword [rsi + 0xe], xmm0
movabs rax, 0x2c0051005a0051
mov qword [rsi + 0x1e], rax
mov dword [rsi + 0x26], 0x51004b
mov word [rsi + 0x2a], 0x71
mov word [rsi + 0x56], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x71
inc rax
cmp rax, 0x2c
jne 0x18000b41e
mov word [rsp + 0x128], 0
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
cmp word [rsp + 0xd2], 0
je 0x18000b467
mov rcx, rsi
call fcn.18001244c
inc eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], eax
je 0x18000b467
mov qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x3f]
lea rsi, [rsp + 0xc0]
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x50]
mov rdx, rsi
call fcn.180010fc2
mov rsi, qword [rsi]
jmp 0x18000b48d
xor esi, esi
mov eax, dword [0x180018014]
cmp rax, 0xa
ja case.default.0x18000b4ab
lea rcx, [0x180014974]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014fb0]
movaps xmmword [rdi - 2], xmm0
movabs rax, 0x27004c0044004e
mov qword [rdi + 0xe], rax
mov word [rdi + 0x2a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x27
inc rax
cmp rax, 0x16
jne 0x18000b4d6
mov word [rsp + 0x8c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b517
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b517
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014fc0]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014fd0]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x60061001c0017
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x3c001c
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x3c
inc rax
cmp rax, 0x2a
jne 0x18000b557
jmp 0x18000bb8a
xor edi, edi
jmp 0x18000bbe4
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014f80]
movaps xmmword [rdi - 2], xmm0
movabs rax, 0x6f0067006d0068
mov qword [rdi + 0xe], rax
mov word [rdi + 0x16], 4
mov word [rdi + 0x2e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 4
inc rax
cmp rax, 0x18
jne 0x18000b5a3
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b5e4
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b5e4
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014f90]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014fa0]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x100077000a0001
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x2a000a
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x2a
inc rax
cmp rax, 0x2a
jne 0x18000b624
jmp 0x18000bb8a
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014f40]
movaps xmmword [rdi - 2], xmm0
movaps xmm0, xmmword [0x180014f50]
movaps xmmword [rdi + 0xe], xmm0
movabs rax, 0x33003200290029
mov qword [rdi + 0x1e], rax
mov word [rdi + 0x26], 0x5d
mov word [rdi + 0x4e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x5d
inc rax
cmp rax, 0x28
jne 0x18000b674
mov word [rsp + 0xb0], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b6b5
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b6b5
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014f60]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014f70]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x7f00180065006e
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x450065
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x45
inc rax
cmp rax, 0x2a
jne 0x18000b6f5
jmp 0x18000bb8a
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014f00]
movaps xmmword [rdi - 2], xmm0
movaps xmm0, xmmword [0x180014f10]
movaps xmmword [rdi + 0xe], xmm0
mov word [rdi + 0x3a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x2c
inc rax
cmp rax, 0x1e
jne 0x18000b731
mov word [rsp + 0x9c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b772
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b772
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014f20]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014f30]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x59003e00430048
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x630043
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x63
inc rax
cmp rax, 0x2a
jne 0x18000b7b2
jmp 0x18000bb8a
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [str._GZBM]
movaps xmmword [rdi - 2], xmm0
movabs rax, 0x40005b005b005a
mov qword [rdi + 0xe], rax
mov dword [rdi + 0x16], 0x2f0041
mov word [rdi + 0x32], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x2f
inc rax
cmp rax, 0x1a
jne 0x18000b7f8
mov word [rsp + 0x94], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b839
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b839
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014ee0]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014ef0]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x39005e00230028
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x30023
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 3
inc rax
cmp rax, 0x2a
jne 0x18000b879
jmp 0x18000bb8a
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014ea0]
movaps xmmword [rdi - 2], xmm0
movabs rax, 0x5d0029003b0034
mov qword [rdi + 0xe], rax
mov word [rdi + 0x2a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x5d
inc rax
cmp rax, 0x16
jne 0x18000b8b8
mov word [rsp + 0x8c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b8f9
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b8f9
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014eb0]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014ec0]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x650002007f0074
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x5f007f
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x5f
inc rax
cmp rax, 0x2a
jne 0x18000b939
jmp 0x18000bb8a
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014e70]
movaps xmmword [rdi - 2], xmm0
movabs rax, 0x60007d007b0061
mov qword [rdi + 0xe], rax
mov dword [rdi + 0x16], 0xf0063
mov word [rdi + 0x32], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0xf
inc rax
cmp rax, 0x1a
jne 0x18000b97f
mov word [rsp + 0x94], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000b9c0
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000b9c0
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014e80]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014e90]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x2a004d0030003b
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x100030
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x10
inc rax
cmp rax, 0x2a
jne 0x18000ba00
jmp 0x18000bb8a
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014e40]
movaps xmmword [rdi - 2], xmm0
mov dword [rdi + 0xe], 0x3a004e
mov word [rdi + 0x22], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x3a
inc rax
cmp rax, 0x12
jne 0x18000ba38
mov word [rsp + 0x84], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000ba79
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000ba79
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014e50]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014e60]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x210046003b0030
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x1b003b
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x1b
inc rax
cmp rax, 0x2a
jne 0x18000bab9
jmp 0x18000bb8a
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014e10]
movaps xmmword [rdi - 2], xmm0
movabs rax, 0x10006200750064
mov qword [rdi + 0xe], rax
mov word [rdi + 0x2a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x10
inc rax
cmp rax, 0x16
jne 0x18000baf8
mov word [rsp + 0x8c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0x62], 0
je 0x18000bb39
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000bb39
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014e20]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014e30]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x510036004b0040
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x6b004b
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x6b
inc rax
cmp rax, 0x2a
jne 0x18000bb79
mov word [rsp + 0x124], 0
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
cmp word [rsp + 0xd2], 0
je 0x18000bbc2
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], eax
je 0x18000bbc2
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x3f]
lea rdi, [rsp + 0xc0]
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x50]
mov rdx, rdi
call fcn.180010fc2
mov rdi, qword [rdi]
movapd xmm0, xmmword [0x180019120]
addpd xmm0, xmmword [0x180014af0]
movapd xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [str._nFBM___c_n]
movaps xmmword [r8 - 2], xmm0
mov word [r8 + 0x1a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x2f
inc rax
cmp rax, 0xe
jne 0x18000bc1a
mov word [rsp + 0xec], 0
lea r9, section..data
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
cmp byte [section..data], 0
je 0x18000bd23
mov byte [0x180018001], 0
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014ff0]
movaps xmmword [r8 - 2], xmm0
movaps xmm0, xmmword [str.C__rC0]
movaps xmmword [r8 + 0xe], xmm0
movabs rax, 0x6001700020017
mov qword [r8 + 0x1e], rax
mov word [r8 + 0x26], 0x63
mov word [r8 + 0x4e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x63
inc rax
cmp rax, 0x28
jne 0x18000bc9b
xor ebp, ebp
lea rbx, [rsp + 0xd2]
mov word [rbx + 0x4e], bp
lea r9, [0x180018020]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
movaps xmm0, xmmword [0x180015010]
movaps xmmword [rbx - 2], xmm0
movabs rax, 0x12003a005b001e
mov qword [rbx + 0xe], rax
mov dword [rbx + 0x16], 0x7b0016
mov word [rbx + 0x32], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x7b
inc rax
cmp rax, 0x1a
jne 0x18000bcf4
mov word [rsp + 0x104], 0
lea r9, [0x180018002]
lea rdx, [rsp + 0x60]
mov r8, rbx
call fcn.18000ccb0
cmp byte [0x180018001], 0
je 0x18000bd33
mov byte [section..data], 0
lea r8, [rsp + 0xd2]
movaps xmm0, xmmword [0x180015020]
movaps xmmword [r8 - 2], xmm0
movaps xmm0, xmmword [0x180015030]
movaps xmmword [r8 + 0xe], xmm0
movaps xmm0, xmmword [0x180015040]
movaps xmmword [r8 + 0x1e], xmm0
movaps xmm0, xmmword [0x180015050]
movaps xmmword [r8 + 0x2e], xmm0
movabs rax, 0x1d0040006e0078
mov qword [r8 + 0x3e], rax
mov word [r8 + 0x8a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x1d
inc rax
cmp rax, 0x46
jne 0x18000bd88
xor ebp, ebp
lea rbx, [rsp + 0xd2]
mov word [rbx + 0x8a], bp
lea r9, [0x180018019]
lea rdx, [rsp + 0x60]
call fcn.18000ccb0
movaps xmm0, xmmword [0x180015060]
movaps xmmword [rbx - 2], xmm0
movabs rax, 0x500035003c0033
mov qword [rbx + 0xe], rax
mov word [rbx + 0x2a], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x50
inc rax
cmp rax, 0x16
jne 0x18000bddd
xor ebp, ebp
lea r15, [rsp + 0xd2]
mov word [r15 + 0x2a], bp
lea r9, [0x180018004]
lea rdx, [rsp + 0x60]
mov r8, rbx
call fcn.18000ccb0
movaps xmm0, xmmword [0x180015070]
movaps xmmword [r15 - 2], xmm0
movaps xmm0, xmmword [0x180015080]
movaps xmmword [r15 + 0xe], xmm0
mov word [r15 + 0x1e], 0x47
mov word [r15 + 0x3e], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x47
inc rax
cmp rax, 0x20
jne 0x18000be3a
xor ebp, ebp
lea r14, [rsp + 0xd2]
mov word [r14 + 0x3e], bp
lea r9, [0x180018003]
lea rbx, [rsp + 0x60]
mov rdx, rbx
mov r8, r15
call fcn.18000ccb0
mov rdx, rbx
mov r8, rdi
call fcn.18000d0b0
mov rdx, rbx
mov r8, rsi
call fcn.18000d0b0
movss xmm0, dword [0x1800180f0]
mulss xmm0, dword [0x1800141a0]
addss xmm0, dword [0x180014180]
cvtss2sd xmm0, xmm0
movapd xmm1, xmmword [rbx]
movhpd xmm1, qword [0x180019128]
shufpd xmm0, xmmword [0x180014c30], 2
addpd xmm0, xmm1
movapd xmmword [rbx], xmm0
movaps xmm0, xmmword [0x180015090]
movaps xmmword [r14 - 2], xmm0
movabs rax, 0x4b003d0024002d
mov qword [r14 + 0xe], rax
mov word [r14 + 0x2a], bp
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x4b
inc rax
cmp rax, 0x16
jne 0x18000bee4
xor edi, edi
lea rsi, [rsp + 0xd2]
mov word [rsi + 0x2a], di
mov qword [rsp + 0x28], rbx
lea rax, [0x180018008]
mov qword [rsp + 0x20], rax
movss xmm2, dword [0x1800150a0]
movss xmm3, dword [0x1800141f8]
mov rdx, r14
call fcn.18000d1d2
movaps xmm0, xmmword [0x1800150b0]
movaps xmmword [rsi - 2], xmm0
movapd xmm0, xmmword [0x1800150c0]
movapd xmmword [rsi + 0xe], xmm0
mov word [rsi + 0x3a], di
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x77
inc rax
cmp rax, 0x1e
jne 0x18000bf4d
mov word [rsp + 0x10c], 0
mov qword [rsp + 0x28], rbx
lea rax, [0x18001800c]
mov qword [rsp + 0x20], rax
movss xmm2, dword [0x1800141a4]
movss xmm3, dword [0x1800150d0]
mov rdx, rsi
call fcn.18000d1d2
cmp byte [0x18001801a], 0
je 0x18000c008
lea rdx, [rsp + 0xd2]
movaps xmm0, xmmword [0x1800150e0]
movaps xmmword [rdx - 2], xmm0
movapd xmm0, xmmword [0x1800150f0]
movapd xmmword [rdx + 0xe], xmm0
mov dword [rdx + 0x1e], 0x55002c
mov word [rdx + 0x42], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x55
inc rax
cmp rax, 0x22
jne 0x18000bfcc
mov word [rsp + 0x114], 0
mov qword [rsp + 0x28], rbx
lea rax, [0x18001801c]
mov qword [rsp + 0x20], rax
movss xmm3, dword [0x180014a30]
xorps xmm2, xmm2
call fcn.18000d1d2
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014dc0]
movaps xmmword [rdi - 2], xmm0
movaps xmm0, xmmword [0x180014dd0]
movaps xmmword [rdi + 0xe], xmm0
movaps xmm0, xmmword [0x180014de0]
movaps xmmword [rdi + 0x1e], xmm0
mov word [rdi + 0x2e], 0x77
mov word [rdi + 0x5e], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x77
inc rax
cmp rax, 0x30
jne 0x18000c05a
mov word [rsp + 0x130], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0xd2], 0
je 0x18000c0a1
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000c0a1
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [str._gIU_fwj]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014e00]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x160071000c0007
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x2c000c
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x2c
inc rax
cmp rax, 0x2a
jne 0x18000c0de
jmp 0x18000c1be
lea rdi, [rsp + 0xd2]
movaps xmm0, xmmword [0x180014d70]
movaps xmmword [rdi - 2], xmm0
movaps xmm0, xmmword [0x180014d80]
movaps xmmword [rdi + 0xe], xmm0
movaps xmm0, xmmword [0x180014d90]
movaps xmmword [rdi + 0x1e], xmm0
mov dword [rdi + 0x2e], 0x7c000e
mov word [rdi + 0x62], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x7c
inc rax
cmp rax, 0x32
jne 0x18000c12c
mov word [rsp + 0x134], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp word [rsp + 0xd2], 0
je 0x18000c173
mov rcx, rdi
call fcn.18001244c
inc eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
je 0x18000c173
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0x62]
movaps xmm0, xmmword [0x180014da0]
movaps xmmword [rdi - 2], xmm0
movapd xmm0, xmmword [0x180014db0]
movapd xmmword [rdi + 0xe], xmm0
movabs rax, 0x6f00080075007e
mov qword [rdi + 0x1e], rax
mov dword [rdi + 0x26], 0x550075
mov word [rdi + 0x52], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x60], 0x55
inc rax
cmp rax, 0x2a
jne 0x18000c1b0
mov word [rsp + 0xb4], 0
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
cmp word [rsp + 0x62], 0
jne 0x18000bba9
jmp 0x18000bbc2