Function at 0x18014fe30
Capabilities:
Encode data using base64
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3b8]
sub rsp, 0x478
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov r15, rdx
xor ebx, ebx
mov r14d, ebx
mov dword [rsp + 0x6c], ebx
mov dword [rbp + 0x3c0], ebx
cmp dword [0x180243af4], ebx
je 0x180152307
mov rax, qword [0x18022e8b0]
mov qword [rbp + 0x80], rax
test rax, rax
je 0x180152307
mov dword [rbp + 0x3c0], ebx
lea r8, [rbp + 0x3c0]
lea rdx, [rbp + 0x60]
lea rcx, [0x18022e8c0]
call fcn.1800c0810
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0xe0], rax
mov rcx, qword [rcx + 0x20]
mov qword [rbp + 0xe8], rcx
movss xmm7, dword [0x18020a400]
cmp rax, rcx
je 0x1801522f4
movss xmm11, dword [0x18020a5e4]
movss xmm14, dword [0x18020a4c8]
movss xmm15, dword [0x18020a4ac]
movss xmm10, dword [0x18020a600]
movss xmm8, dword [0x18020a5a0]
movss xmm12, dword [0x18020a4ec]
movss xmm13, dword [0x18020a530]
movss xmm9, dword [0x18020a3b0]
nop
mov rsi, qword [rax]
mov qword [rsp + 0x78], rsi
lea rdi, [rsi + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x48]
mov r12d, eax
mov rcx, rsi
call fcn.1800b54c0
cmp byte [rax], 0
jne 0x1801522d5
mov rcx, rsi
call fcn.1800b57d0
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x1801522d5
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x40]
test al, al
je 0x180150045
cmp dword [0x180243a74], 0
je 0x180150023
cmp byte [0x180243b71], 0
je 0x18015001f
lea rdx, str.Default
lea rcx, [rbp - 0x10]
call fcn.180091850
nop
or r14d, 1
mov dword [rsp + 0x6c], r14d
mov dword [rbp + 0x3c0], r14d
mov dword [rbp + 0x3d0], r12d
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x280]
lea rcx, [0x18022e9c0]
call fcn.1800c0a50
mov rcx, qword [rax]
mov ebx, dword [rcx + 0x14]
lea rdx, [rbp - 0x10]
lea rcx, [0x180244060]
call fcn.180142000
cmp ebx, dword [rax + 4]
jle 0x180150023
xor bl, bl
jmp 0x180150025
mov bl, 1
test r14b, 1
je 0x18015003d
and r14d, 0xfffffffe
mov dword [rsp + 0x6c], r14d
lea rcx, [rbp - 0x10]
call fcn.180091c20
test bl, bl
jne 0x1801522d5
mov rcx, qword [0x180234bb8]
mov rax, qword [rcx]
call qword [rax + 0x60]
cmp r12d, eax
je 0x180150193
test byte [0x180243cf4], 8
je 0x180150092
mov dword [rbp + 0x3c0], r12d
lea r8, [rbp + 0x3c0]
lea rdx, [rbp + 0x210]
lea rcx, [0x18022e940]
call fcn.1800d9230
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
jne 0x18015012f
test byte [0x180243cf4], 0x10
je 0x180150133
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], 7
mov qword [rbp + 8], 0xf
mov rax, qword [str.Default]
mov dword [rbp - 0x10], eax
movzx eax, word [0x1801fe5bc]
mov word [rbp - 0xc], ax
movzx eax, byte [0x1801fe5be]
mov byte [rbp - 0xa], al
mov byte [rbp - 9], 0
or r14d, 2
mov dword [rsp + 0x6c], r14d
mov dword [rbp + 0x3c0], r14d
mov dword [rbp + 0x3d0], r12d
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x2c0]
lea rcx, [0x18022e9c0]
call fcn.1800c0a50
mov rcx, qword [rax]
mov ebx, dword [rcx + 0x14]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x220]
lea rcx, [0x180244060]
call fcn.180142060
mov rcx, qword [rax]
cmp ebx, dword [rcx + 0x34]
jle 0x180150133
xor bl, bl
jmp 0x180150135
mov bl, 1
test r14b, 2
je 0x18015014d
and r14d, 0xfffffffd
mov dword [rsp + 0x6c], r14d
lea rcx, [rbp - 0x10]
call fcn.180091c20
test bl, bl
je 0x1801501b8
test byte [0x180243cf4], 1
jne 0x180150174
mov rcx, rsi
call fcn.1800b6360
mov ebx, dword [rax]
mov rcx, r15
call fcn.1800b6360
cmp ebx, dword [rax]
jne 0x1801522d5
test byte [0x180243cf4], 2
jne 0x1801501b8
mov rcx, rsi
call fcn.1800b6360
mov ebx, dword [rax]
mov rcx, r15
call fcn.1800b6360
cmp ebx, dword [rax]
jmp 0x1801501b2
test byte [0x180243cf4], 4
je 0x1801522d5
mov rcx, qword [0x180234bc0]
mov rax, qword [rcx]
call qword [rax + 0xf8]
test eax, eax
je 0x1801522d5
mov rax, qword [0x180234c30]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x360]
mov rax, qword [rsi + 0x10]
mov rcx, rdi
call qword [rax + 0x40]
mov ecx, dword [0x180243c74]
test al, al
cmovne ecx, dword [0x180243a74]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm11
mov rcx, qword [0x180234c30]
call rbx
xor ebx, ebx
mov dword [rbp + 0x3d8], ebx
mov dword [rsp + 0x50], ebx
mov dword [rbp + 0x3d0], ebx
mov dword [rsp + 0x68], ebx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
lea r8, [rbp + 0x3d8]
mov rdx, rsi
call fcn.18014fc90
test al, al
je 0x1801522d5
mov r14d, ebx
mov dword [rbp + 0x3c0], ebx
mov dword [rbp - 0x70], 2
mov r13d, ebx
mov dword [rbp + 0xa0], 2
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x230]
call fcn.18017f970
mov rax, qword [rax]
add rax, 0x18
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x88], ebx
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x240]
call fcn.18017f970
mov r15, qword [rax]
mov eax, 1
mov dword [rbp + 0xa8], eax
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0x250]
call fcn.18017f970
mov rax, qword [rax]
add rax, 0x18
mov qword [rbp + 0x30], rax
movzx eax, byte [0x180243871]
mov byte [rsp + 0x20], al
mov r9, rsi
mov r8, qword [rbp + 0x3c8]
lea rdx, [rbp + 0x28]
call fcn.18017c220
mov rax, qword [rsi]
mov rdx, qword [rax + 0x358]
mov rcx, rsi
call rdx
mov esi, eax
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call qword [rdx + 0x40]
test al, al
je 0x18015031d
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call qword [rdx + 0x48]
mov edx, eax
mov rcx, qword [rbp + 0x80]
call fcn.180100bc0
mov edi, eax
jmp 0x180150327
mov rcx, rbx
call fcn.1800bb320
mov edi, dword [rax]
mov rcx, rbx
call fcn.1800b6860
mov ecx, dword [rax]
mov dword [rbp + 0x2c], ecx
mov eax, dword [0x180243af4]
mov ebx, dword [rbp + 0x28]
bt eax, 0xb
jae 0x180150514
movdqa xmm0, xmmword [0x18020aa60]
movdqu xmmword [rsp + 0x58], xmm0
lea rax, [rsp + 0x58]
mov qword [rbp + 0x160], rax
lea rax, [rsp + 0x68]
mov qword [rbp + 0x168], rax
movaps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.18011a310
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.1801546b0
movdqa xmm0, xmmword [0x18020aa70]
movdqu xmmword [rsp + 0x58], xmm0
lea rax, [rsp + 0x58]
mov qword [rbp + 0x170], rax
lea rax, [rsp + 0x68]
mov qword [rbp + 0x178], rax
movaps xmm0, xmmword [rbp + 0x170]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.18011a310
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.1801546b0
mov dword [rbp + 0xb0], r13d
mov dword [rbp + 0xb4], 4
mov eax, 1
mov dword [rbp + 0xb8], eax
lea rax, [rbp + 0xb0]
mov qword [rbp + 0x100], rax
lea rax, [rbp + 0xbc]
mov qword [rbp + 0x108], rax
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.18011a310
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.1801546b0
mov dword [rbp + 0xc0], 0xe
mov dword [rbp + 0xc4], 0xd
mov eax, 1
mov dword [rbp + 0xc8], eax
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x110], rax
lea rax, [rbp + 0xcc]
mov qword [rbp + 0x118], rax
movaps xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.18011a310
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.1801546b0
mov dword [rbp + 0xd0], 0x11
mov dword [rbp + 0xd4], 0x10
mov eax, 1
mov dword [rbp + 0xd8], eax
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x120], rax
lea rax, [rbp + 0xdc]
mov qword [rbp + 0x128], rax
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.18011a310
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.1801546b0
mov eax, dword [0x180243af4]
bt eax, 0xa
jae 0x180150558
mov dword [rbp - 0x80], 0xff000000
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0x3d0]
mov r8d, dword [rsp + 0x50]
mov edx, dword [rbp + 0x3d8]
call fcn.18017d360
mov eax, dword [0x180243af4]
test al, 2
je 0x1801506c5
mov dword [rsp + 0x74], 0x3f800000
mov dword [rsp + 0x70], r13d
movd xmm6, esi
cvtdq2ps xmm6, xmm6
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
movss dword [rsp + 0x58], xmm0
lea r8, [rsp + 0x74]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x58]
call fcn.1800b83e0
movss xmm3, dword [rax]
mov r8d, dword [0x1802437fc]
lea rdx, [rbp + 0x24]
lea rcx, [0x1802437f8]
call fcn.18014f5b0
mov dword [rsp + 0x58], 7
mov dword [rbp - 0x7c], 0xff000000
mov r14d, dword [rbp + 0x3d8]
mov byte [rsp + 0x48], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x24]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm3
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, 2
mov r8d, dword [rsp + 0x50]
lea edx, [r14 - 6]
call fcn.18017d4a0
cmp edi, esi
jle 0x1801506b9
divss xmm6, xmm14
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
mulss xmm0, xmm15
mov dword [rsp + 0x58], 0x3f800000
mov dword [rsp + 0x70], r13d
mov eax, edi
sub eax, esi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
movss dword [rsp + 0x74], xmm1
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x74]
call fcn.1800b83e0
movss xmm2, dword [rax]
mov eax, dword [0x180243074]
mov dword [rbp + 0x24], eax
mov dword [rsp + 0x58], 7
mov dword [rbp - 0x78], r13d
mov byte [rsp + 0x48], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x24]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm2
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, 2
mov r8d, dword [rsp + 0x50]
lea edx, [r14 - 6]
call fcn.18017d4a0
mov r14d, 5
mov eax, dword [0x180243af4]
test al, 4
je 0x18015076c
mov dword [rsp + 0x58], 2
lea rcx, [0x180238f44]
cmp edi, esi
lea rax, [0x180243074]
cmovg rcx, rax
mov edx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x50]
add eax, edx
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov eax, edi
cmp esi, edi
cmovl eax, esi
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movd xmm0, esi
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm2, xmm1
subss xmm3, xmm2
subss xmm3, dword [0x18020a440]
cvttss2si r9d, xmm3
mov r8d, dword [rbp + 0x3d8]
sub r8d, r14d
sub r8d, 5
mov dword [rsp + 0x38], edi
lea rax, [0x1801b53bc]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rdx, qword [rbp + 0x50]
lea rcx, [0x18022e220]
call fcn.18017cee0
mov esi, dword [rbp + 0x2c]
cmp esi, 5
jne 0x1801508f5
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800cb2c0
mov rdi, rax
test rax, rax
je 0x1801508f5
mov ecx, dword [0x180243af4]
test cl, 8
je 0x180150849
mov rcx, rax
call fcn.1800bb520
cmp dword [rax], 0x3e6
jne 0x1801507b8
movaps xmm6, xmm10
jmp 0x1801507bc
movaps xmm6, xmm8
mov rcx, rdi
call fcn.18014fb70
movaps xmm0, xmm6
mulss xmm0, dword [rax]
movaps xmm1, xmm6
minss xmm1, xmm0
divss xmm1, xmm6
mov dword [rsp + 0x58], 3
mov dword [rbp - 0x74], 0xff000000
mov r14d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x50]
add r8d, 4
add r8d, r14d
mov byte [rsp + 0x48], r13b
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x38], rax
lea rax, [0x1802435f4]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm1
mov dword [rsp + 0x20], 2
mov r9d, dword [rbp + 0x3d0]
mov edx, dword [rbp + 0x3d8]
call fcn.18017d4a0
mov dword [rbp - 0x70], 7
mov ecx, dword [0x180243af4]
jmp 0x18015084e
mov r14d, dword [rsp + 0x68]
test cl, 0x10
je 0x1801508f5
mov dword [rsp + 0x58], 0x42c80000
mov dword [rsp + 0x70], r13d
mov rcx, rdi
call fcn.18014fb70
movss xmm0, dword [rax]
mulss xmm0, xmm8
movss dword [rbp + 0x90], xmm0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x90]
call fcn.1800b83e0
movss xmm2, dword [rax]
cvtps2pd xmm2, xmm2
mov dword [rsp + 0x74], r13d
mov r9d, dword [rsp + 0x50]
add r9d, r14d
mov r14d, dword [rbp + 0x3d8]
mov edi, dword [rbp + 0x3d0]
lea r8d, [r14 + 4]
add r8d, edi
movsd qword [rsp + 0x38], xmm2
lea rax, str._.f__
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x74]
mov qword [rsp + 0x28], rax
lea rax, [0x180238f44]
mov qword [rsp + 0x20], rax
mov rdx, qword [rbp + 0x50]
lea rcx, [0x18022e220]
call fcn.18017d100
jmp 0x180150902
mov r14d, dword [rbp + 0x3d8]
mov edi, dword [rbp + 0x3d0]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
movups xmmword [rbp + 0x1d0], xmm0
movups xmmword [rbp + 0x1e0], xmm0
movups xmmword [rbp + 0x1f0], xmm0
mov dword [rbp + 0x200], eax
mov rcx, qword [0x180234bb8]
mov rax, qword [rcx]
lea r8, [rbp + 0x180]
mov edx, r12d
call qword [rax + 0x40]
test al, al
je 0x180150d69
mov eax, edi
cdq
sub eax, edx
sar eax, 1
lea edi, [r14 + rax]
test byte [0x180243af4], 1
je 0x180150a02
mov r13d, dword [r15 + 0x20]
add r13d, 2
lea rdx, [rbp + 0x180]
lea rcx, [rbp - 0x10]
call fcn.180091850
nop
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x60]
call fcn.180180630
nop
mov rcx, rax
call fcn.1800e8130
mov dword [rsp + 0x58], 1
mov r14d, dword [rsp + 0x50]
mov r9d, r14d
sub r9d, r13d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [0x180238f44]
mov qword [rsp + 0x20], rax
mov r8d, edi
lea rdx, [r15 + 0x18]
lea rcx, [0x18022e220]
call fcn.18017d100
nop
lea rcx, [rbp + 0x60]
call fcn.1800f59a0
nop
lea rcx, [rbp - 0x10]
call fcn.180091c20
jmp 0x180150a07
mov r14d, dword [rsp + 0x50]
test dword [0x180243af4], 0x1000
je 0x180150aaf
lea rcx, [rbp - 0x10]
call fcn.1800919b0
nop
lea rcx, [rbp + 0xf0]
call fcn.180122fc0
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0xf0]
lea r8, [rbp - 0x10]
mov edx, dword [rbp + 0x1c8]
lea rcx, [0x180243fd0]
call fcn.180140fb0
test al, al
je 0x180150aa6
mov eax, dword [r15 + 0x20]
add eax, 2
add r13d, eax
lea rcx, [rbp - 0x10]
call fcn.18006cd70
mov dword [rsp + 0x58], 1
mov r9d, r14d
sub r9d, r13d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
mov r8d, edi
lea rdx, [r15 + 0x18]
lea rcx, [0x18022e220]
call fcn.18017cee0
nop
lea rcx, [rbp - 0x10]
call fcn.180091c20
test dword [0x180243af4], 0x2000
je 0x180150d69
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], 0
lea rdx, [rbp + 0x1c8]
lea rcx, [0x180244020]
call fcn.1801266c0
mov r14, qword [rax]
mov r15, qword [rax + 8]
cmp r14, r15
je 0x180150ba8
mov dword [rbp + 0x38], 0xffffffff
mov dword [rbp + 0x3c], 0
mov word [rbp + 0x40], 0x100
mov byte [rbp + 0x42], 0
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.180091890
mov rsi, rax
mov qword [rsp + 0x58], rax
cmp qword [rax + 0x10], 0
je 0x180150b93
mov rdx, rax
lea rcx, [0x180244060]
call fcn.1800e4990
test al, al
je 0x180150b93
mov r8, rsi
lea rdx, [rbp + 0x260]
lea rcx, [0x180244060]
call fcn.18012a7a0
mov rcx, qword [rax]
movsd xmm0, qword [rcx + 0x30]
movsd qword [rbp + 0x38], xmm0
mov edi, dword [rcx + 0x38]
mov dword [rbp + 0x40], edi
mov rcx, rsi
call fcn.180091c20
test dil, dil
je 0x180150b9b
lea r8, [rbp + 0x38]
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.180142020
nop
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x60]
call fcn.180126520
nop
lea rcx, [rbp - 0x10]
jmp 0x180150b96
mov rcx, rsi
call fcn.180091c20
add r14, 0x20
cmp r14, r15
jne 0x180150af2
mov dword [rsp + 0x58], r12d
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x270]
lea rcx, [0x18022e940]
call fcn.1800d9230
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x180150c2e
lea rdx, str.Friend
lea rcx, [rbp - 0x10]
call fcn.180091850
nop
lea rdx, [rbp - 0x10]
lea rcx, [0x180244060]
call fcn.180142000
mov rdi, rax
lea rcx, [rbp - 0x10]
call fcn.180091c20
cmp byte [rdi + 8], 0
je 0x180150c2e
mov r8, rdi
lea rcx, [rbp + 0x290]
call fcn.180154940
nop
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x60]
call fcn.180126520
nop
lea rcx, [rbp + 0x290]
call fcn.180091c20
mov rsi, qword [rbp + 0x68]
mov rcx, rsi
mov r14, qword [rbp + 0x60]
sub rcx, r14
movabs r15, 0x2aaaaaaaaaaaaaab
mov rax, r15
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180150cf8
mov rdx, rsi
mov rcx, r14
call fcn.180154990
mov rdi, r14
cmp r14, rsi
je 0x180150cf8
mov dword [rsp + 0x58], 0
mov r15d, dword [rbp + 0x3d0]
add r15d, dword [rbp + 0x3d8]
mov r12, qword [rbp + 0x30]
mov ebx, dword [rsp + 0x50]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x180150ca2
mov rcx, qword [rdi]
mov r9d, dword [rbp + 0x3c0]
add r9d, ebx
lea rax, [rdi + 0x20]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r8d, [r15 + 4]
mov rdx, r12
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r12 + 8]
add dword [rbp + 0x3c0], eax
add rdi, 0x30
cmp rdi, rsi
jne 0x180150c95
mov ebx, dword [rbp + 0x28]
movabs r15, 0x2aaaaaaaaaaaaaab
test r14, r14
je 0x180150d66
mov rdi, r14
cmp r14, rsi
je 0x180150d16
mov rcx, rdi
call fcn.180091c20
add rdi, 0x30
cmp rdi, rsi
jne 0x180150d05
mov rcx, qword [rbp + 0x70]
sub rcx, r14
mov rax, r15
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, r14
cmp rdx, 0x1000
jb 0x180150d5e
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18015235a
mov rcx, r14
call fcn.180184d0c
mov esi, dword [rbp + 0x2c]
mov edi, dword [rsp + 0x50]
test byte [0x180243af4], 0x20
je 0x180150dca
movss xmm0, dword [0x180238694]
mulss xmm0, xmm12
cvttss2si r9d, xmm0
mov dword [rsp + 0x58], 7
lea ecx, [rsi - 1]
mov r8d, edi
sub r8d, r13d
mov eax, dword [rbp + 0x3d0]
cdq
sub eax, edx
sar eax, 1
mov r13d, dword [rbp + 0x3d8]
add eax, r13d
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r9d
mov edx, eax
call fcn.18017d920
jmp 0x180150dd1
mov r13d, dword [rbp + 0x3d8]
test byte [0x180243af4], 0x40
je 0x180150e61
lea eax, [rsi - 1]
cmp eax, 8
ja 0x180150df6
movsxd rax, esi
lea rcx, str.Unknown_Class
mov rcx, qword [rcx + rax*8]
jmp 0x180150dfd
mov rcx, qword [str.Unknown_Class]
mov dword [rsp + 0x58], 0
mov r9d, dword [rbp + 0x3c0]
add r9d, edi
mov esi, dword [rbp + 0x3d0]
lea r8d, [rsi + 4]
add r8d, r13d
mov qword [rsp + 0x38], rcx
lea rax, [0x180204ff0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [0x180238f44]
mov qword [rsp + 0x20], rax
mov rdi, qword [rbp + 0x30]
mov rdx, rdi
lea rcx, [0x18022e220]
call fcn.18017d100
mov eax, dword [rdi + 8]
add dword [rbp + 0x3c0], eax
jmp 0x180150e67
mov esi, dword [rbp + 0x3d0]
mov r15, qword [rsp + 0x78]
test dword [0x180243af4], 0x200
je 0x180150f4b
mov r14, qword [rbp + 0x3c8]
cmp r15, r14
je 0x180150f4b
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x48]
mov rdi, rax
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x48]
movss xmm0, dword [rdi + 4]
subss xmm0, dword [rax + 4]
movss xmm1, dword [rdi]
subss xmm1, dword [rax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180150ed0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x180150ed8
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
cvttss2si ecx, xmm0
mov eax, 1
mov dword [rsp + 0x58], eax
mov r14d, dword [rsp + 0x68]
mov r12d, dword [rbp - 0x70]
lea r9d, [r12 + r14]
add r9d, dword [rsp + 0x50]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
lea r8d, [rax + r13]
mov dword [rsp + 0x38], ecx
lea rcx, [0x180205108]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
lea rcx, [0x180238f44]
mov qword [rsp + 0x20], rcx
mov r13, qword [rbp + 0x50]
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017d100
add r12d, dword [r13 + 8]
jmp 0x180150f58
mov r13, qword [rbp + 0x50]
mov r12d, dword [rbp - 0x70]
mov r14d, dword [rsp + 0x68]
mov rcx, r15
call fcn.1800d6ad0
mov r9, qword [0x180234ba0]
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x94], eax
lea rdx, [rbp + 0x94]
mov rcx, r9
call r8
mov rsi, rax
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1801511fc
test dword [0x180243af4], 0x100
je 0x180151110
mov edi, 4
mov eax, dword [0x18023327c]
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rax*8]
mov ecx, dword [rdi + rsi]
cmp dword [0x180245e50], ecx
jle 0x180150ff5
lea rcx, [0x180245e50]
call fcn.180184dbc
cmp dword [0x180245e50], 0xffffffff
jne 0x180150ff5
mov rax, qword [0x1802306c0]
mov qword [0x180245e48], rax
lea rcx, [0x180245e50]
call fcn.180184d50
mov eax, dword [rdi + rsi]
cmp dword [0x180245e54], eax
jle 0x18015102f
lea rcx, [0x180245e54]
call fcn.180184dbc
cmp dword [0x180245e54], 0xffffffff
jne 0x18015102f
mov rax, qword [0x180230698]
mov qword [0x180245e58], rax
lea rcx, [0x180245e54]
call fcn.180184d50
mov rsi, qword [rbp + 0x50]
mov rax, qword [rsi]
mov rdx, qword [rax + 0xa50]
mov rcx, rsi
call rdx
mov edi, eax
mov rcx, r15
call fcn.1800b6860
mov edx, dword [rax]
sub edx, 8
je 0x18015106a
cmp edx, 1
jne 0x18015108d
mov eax, edi
sub eax, 3
je 0x18015107a
cmp eax, edx
jne 0x18015108d
mov edi, 6
jmp 0x18015108d
mov ecx, edi
test edi, edi
je 0x180151088
sub ecx, 1
je 0x180151081
cmp ecx, 2
jne 0x18015108d
mov edi, 5
jmp 0x18015108d
mov edi, 4
jmp 0x18015108d
mov edi, 1
xor r8d, r8d
mov edx, edi
mov rcx, r15
call qword [0x180245e48]
test rax, rax
je 0x180151110
mov rcx, rax
call qword [0x180245e58]
mov rcx, rax
mov eax, 1
mov dword [rsp + 0x58], eax
lea r9d, [r12 + r14]
add r9d, dword [rsp + 0x50]
mov edi, dword [rbp + 0x3d0]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, dword [rbp + 0x3d8]
mov qword [rsp + 0x38], rcx
lea rcx, [0x180205110]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
lea rcx, [0x180238f44]
mov qword [rsp + 0x20], rcx
mov r8d, eax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
add r12d, dword [r13 + 8]
jmp 0x180151116
mov edi, dword [rbp + 0x3d0]
test byte [0x180243af4], 0x80
je 0x1801511fc
mov rcx, rsi
call fcn.1801753e0
mov r9, rax
test rax, rax
je 0x1801511fc
mov ecx, dword [rax + 0xa8]
sub ecx, dword [rax + 0xa4]
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
mov ecx, dword [rax + 0xb0]
sub ecx, dword [rax + 0xac]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x58], 0x3f400000
mov dword [rsp + 0x70], 0x3e800000
addss xmm1, xmm1
movd xmm4, edi
cvtdq2ps xmm4, xmm4
maxss xmm1, xmm5
movaps xmm0, xmm4
divss xmm0, xmm1
movss dword [rsp + 0x74], xmm0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x74]
call fcn.1800b83e0
movss xmm3, dword [0x180238694]
mulss xmm3, dword [rax]
lea eax, [r12 + r14]
mov r12d, dword [rsp + 0x50]
lea ecx, [r12 + 1]
add ecx, eax
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
mulss xmm4, xmm9
mov esi, dword [rbp + 0x3d8]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm4, xmm0
mulss xmm5, xmm9
mulss xmm5, xmm3
subss xmm4, xmm5
mov eax, dword [0x180238f44]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r9
movaps xmm1, xmm4
call fcn.18017dac0
jmp 0x180151207
mov r12d, dword [rsp + 0x50]
mov esi, dword [rbp + 0x3d8]
test dword [0x180243af4], 0x20000
je 0x1801512b9
mov rax, qword [r15 + 0x10]
lea rcx, [r15 + 0x10]
call qword [rax + 0x40]
mov r14, qword [rbp + 0x3c8]
test al, al
jne 0x1801512c0
cmp r15, r14
je 0x1801512c0
mov qword [rsp + 0x78], r15
lea rdx, [rsp + 0x78]
lea rcx, [0x180243f80]
call fcn.180154920
mov edi, dword [rbp + 0x3d0]
mov r13, qword [rbp + 0x30]
cmp byte [rax], 0
je 0x1801512ca
mov dword [rsp + 0x58], 0
mov dword [rbp - 0x6c], 0xff5f5fff
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rdi + 4]
add r8d, esi
lea rax, str.LAGCOMP
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
jmp 0x1801512ca
mov r14, qword [rbp + 0x3c8]
mov r13, qword [rbp + 0x30]
mov edi, dword [rbp + 0x3d0]
test dword [0x180243af4], 0x40000
je 0x180151398
cmp r15, r14
je 0x180151398
mov rcx, qword [0x180234bb8]
mov rax, qword [rcx]
call qword [rax + 0x240]
test rax, rax
je 0x180151398
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
test al, al
jne 0x180151398
mov rax, qword [r15 + 0x10]
lea rcx, [r15 + 0x10]
call qword [rax + 0x48]
mov edx, eax
mov rcx, qword [rbp + 0x80]
call fcn.1801361b0
mov r10d, eax
test eax, eax
je 0x180151398
lea ecx, [rax - 6]
cmp ecx, 0xc1
jbe 0x180151398
mov dword [rsp + 0x58], 0
call fcn.1801804c0
mov dword [rsp + 0x70], eax
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, edi
mov dword [rsp + 0x38], r10d
lea rax, str._dMS
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
test dword [0x180243af4], 0x80000
je 0x180151667
cmp r15, r14
je 0x180151667
mov rax, qword [r15 + 0x10]
lea rcx, [r15 + 0x10]
call qword [rax + 0x48]
mov r14d, eax
mov eax, 4
mov esi, eax
mov edi, eax
mov eax, dword [0x18023327c]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov edx, dword [rsi + rcx]
cmp dword [0x1802351d8], edx
jle 0x180151496
lea rcx, [0x1802351d8]
call fcn.180184dbc
mov edi, esi
cmp dword [0x1802351d8], 0xffffffff
jne 0x180151496
mov rcx, qword [0x180234b78]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x180151482
nop word [rax + rax]
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180151431
xor edx, edx
test rcx, rcx
je 0x180151474
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdx + r8]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180151450
cmp r9d, 0x3369e751
je 0x180151638
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180151420
mov edi, 4
xor eax, eax
mov dword [0x1802351b4], eax
lea rcx, [0x1802351d8]
call fcn.180184d50
lea eax, [r14*4]
movsxd rcx, eax
movsxd rdx, dword [0x1802351b4]
mov rax, qword [rbp + 0x80]
add rax, rcx
mov esi, dword [rdx + rax]
mov rax, qword [r15 + 0x10]
lea rcx, [r15 + 0x10]
call qword [rax + 0x48]
mov r14d, eax
mov eax, dword [0x18023327c]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov edx, dword [rdi + rcx]
cmp dword [0x1802351b0], edx
jle 0x180151581
lea rcx, [0x1802351b0]
call fcn.180184dbc
cmp dword [0x1802351b0], 0xffffffff
jne 0x180151581
mov rcx, qword [0x180234b78]
mov rdx, qword [rcx]
call qword [rdx + 0x40]
mov r10, rax
test rax, rax
je 0x18015156d
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180151524
xor edx, edx
test rcx, rcx
je 0x180151564
nop word [rax + rax]
movsx eax, byte [rdx + r8]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180151540
cmp r9d, 0x3369e751
je 0x180151652
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180151513
xor eax, eax
mov dword [0x1802351c0], eax
lea rcx, [0x1802351b0]
call fcn.180184d50
lea eax, [r14*4]
movsxd rcx, eax
movsxd rdx, dword [0x1802351c0]
mov rax, qword [rbp + 0x80]
add rax, rcx
mov r10d, dword [rdx + rax]
cmp esi, 0x14
jl 0x180151667
mov ecx, r10d
cmp r10d, 1
mov eax, 1
cmovl ecx, eax
mov eax, esi
cdq
idiv ecx
mov r14d, dword [rbp + 0x3d0]
cmp eax, 0xa
jl 0x18015166e
mov dword [rsp + 0x58], 0
mov dword [rbp - 0x68], 0xff5f5fff
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
mov r8d, dword [rbp + 0x3d8]
add r8d, 4
add r8d, r14d
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], esi
lea rax, str.HIGH_K_D___d__d_
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
jmp 0x18015166e
lea r8, str.m_iScore
mov rdx, qword [r10 + 0x18]
call fcn.180184950
mov edi, 4
jmp 0x180151484
lea r8, str.m_iDeaths
mov rdx, qword [r10 + 0x18]
call fcn.180184950
jmp 0x18015156f
mov r14d, dword [rbp + 0x3d0]
mov esi, dword [rbp + 0x3d8]
mov dword [rbp - 0x10], esi
mov dword [rbp - 0xc], r14d
mov dword [rbp - 8], r12d
lea rax, [rbp + 0x3c0]
mov qword [rbp], rax
mov qword [rbp + 8], r13
test dword [0x180243af4], 0x4000
je 0x180151d13
mov rcx, r15
call fcn.1800bbc10
test al, al
je 0x180151713
mov rcx, r15
call fcn.1800d6ad0
mov r9, qword [0x180234ba0]
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x98], eax
lea rdx, [rbp + 0x98]
mov rcx, r9
call r8
test rax, rax
je 0x180151713
mov rcx, rax
call fcn.1800b55c0
cmp eax, 0x4f
jne 0x1801516fb
mov dword [rbp - 0x64], 0xff57cafe
mov r8d, dword [rbp - 0x64]
lea rdx, [0x1802050e8]
jmp 0x18015170a
call fcn.1801804c0
mov r8d, eax
lea rdx, [0x1802050c4]
lea rcx, [rbp - 0x10]
call fcn.180152370
mov edx, 0x4e
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151746
mov edx, 0x1f
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151746
mov edx, 0x13
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x1801517b2
mov rcx, r15
call fcn.1800d6ad0
mov r9, qword [0x180234ba0]
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x9c], eax
lea rdx, [rbp + 0x9c]
mov rcx, r9
call r8
test rax, rax
je 0x1801517b2
mov rcx, rax
call fcn.1800bb520
cmp dword [rax], 0xe8
jne 0x180151797
call fcn.1801804c0
mov r8d, eax
lea rdx, [0x1802050c4]
jmp 0x1801517a9
mov dword [rbp - 0x60], 0xff57cafe
mov r8d, dword [rbp - 0x60]
lea rdx, [0x1802050e8]
lea rcx, [rbp - 0x10]
call fcn.180152370
mov rax, qword [r15]
mov rdx, qword [rax + 0x358]
mov rcx, r15
call rdx
mov edi, eax
mov rcx, r15
call fcn.1800bb320
cmp dword [rax], edi
jg 0x1801517fd
mov edx, 0x15
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x1801517fd
mov edx, 0x1c
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x1801517fd
mov rcx, r15
call fcn.18014fc70
test al, al
je 0x180151861
mov eax, dword [0x180243074]
mov dword [rbp + 0x3d8], eax
xor edi, edi
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x1802050cc]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
jmp 0x180151863
xor edi, edi
mov edx, 5
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x1801518d5
mov edx, 0x33
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x1801518d5
mov edx, 0x34
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x1801518d5
mov edx, 0x39
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x1801518d5
mov edx, 0xe
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151935
mov dword [rbp - 0x5c], 0xff57cafe
mov r8d, dword [rbp - 0x5c]
lea rdx, [0x180205150]
lea rcx, [rbp - 0x10]
call fcn.180152370
jmp 0x180151935
mov eax, dword [0x1802435f4]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, str.UBER
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x3a
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151989
mov edx, 0x43
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151989
mov edx, 0x3d
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x1801519ed
mov dword [rbp - 0x58], 0xff6c6bff
mov r8d, dword [rbp - 0x58]
lea rdx, [0x180205140]
lea rcx, [rbp - 0x10]
call fcn.180152370
jmp 0x1801519ed
mov dword [rbp - 0x54], 0xff6c6bff
mov eax, dword [rbp - 0x54]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x180205138]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x3b
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151a41
mov edx, 0x44
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151a41
mov edx, 0x3e
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151aa5
mov dword [rbp - 0x50], 0xff6c6bff
mov r8d, dword [rbp - 0x50]
lea rdx, [0x18020512c]
lea rcx, [rbp - 0x10]
call fcn.180152370
jmp 0x180151aa5
mov dword [rbp - 0x4c], 0xff6c6bff
mov eax, dword [rbp - 0x4c]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x180205124]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x3c
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151af9
mov edx, 0x45
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151af9
mov edx, 0x3f
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151b5d
mov dword [rbp - 0x48], 0xff6c6bff
mov r8d, dword [rbp - 0x48]
lea rdx, [0x18020511c]
lea rcx, [rbp - 0x10]
call fcn.180152370
jmp 0x180151b5d
mov dword [rbp - 0x44], 0xff6c6bff
mov eax, dword [rbp - 0x44]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x180205114]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x10
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151bc8
mov dword [rbp + 0x3d8], ebx
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, str.BANNER
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x1a
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151c33
mov dword [rbp + 0x3d8], ebx
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, str.BATTALIONS
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x1d
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151c9e
mov dword [rbp + 0x3d8], ebx
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, str.CONCH
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x51
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151d13
mov dword [rbp - 0x40], 0xff57cafe
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], edi
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x180205180]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
test dword [0x180243af4], 0x8000
je 0x180151f0a
mov edx, 0x18
mov rcx, r15
call fcn.1800b6fc0
xor ebx, ebx
test al, al
je 0x180151d9a
mov dword [rbp - 0x3c], 0xff57cafe
mov eax, dword [rbp - 0x3c]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], ebx
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x180205168]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x1e
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x180151dbc
mov edx, 0x30
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151e20
mov dword [rbp - 0x38], 0xff57cafe
mov eax, dword [rbp - 0x38]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], ebx
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, str.MARKED
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x16
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151e95
mov dword [rbp - 0x34], 0xff57cafe
mov eax, dword [rbp - 0x34]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], ebx
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x180205158]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 0x1b
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151f0a
mov dword [rbp - 0x30], 0xff57cafe
mov eax, dword [rbp - 0x30]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], ebx
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x180205160]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
test dword [0x180243af4], 0x10000
je 0x1801522c9
cmp byte [0x18023c691], 0
je 0x180151f4f
mov edx, 7
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x180151f4f
mov dword [rbp - 0x2c], 0xffc864ff
mov r8d, dword [rbp - 0x2c]
lea rdx, [0x1802051e8]
lea rcx, [rbp - 0x10]
call fcn.180152370
mov rcx, r15
call fcn.1800b56d0
cmp byte [rax], 0
je 0x180151fc4
mov dword [rbp - 0x28], 0xff57cafe
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], 0
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x1802051f0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
xor edx, edx
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x18015208c
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x18015208c
mov rcx, rbx
call fcn.1800b55c0
cmp eax, 0x12
jne 0x18015200b
mov dword [rbp - 0x24], 0xff808080
mov r8d, dword [rbp - 0x24]
lea rdx, [0x1802051dc]
lea rcx, [rbp - 0x10]
call fcn.180152370
mov rcx, rbx
call fcn.1800b55c0
cmp eax, 0x3d
jne 0x180152064
mov rax, qword [0x180234bf8]
movss xmm6, dword [rax + 0xc]
mov rcx, rbx
call fcn.1800cb0c0
subss xmm6, dword [rax]
lea rcx, [rbp - 0x10]
comiss xmm6, xmm7
jb 0x18015204d
mov dword [rbp - 0x20], 0xff57cafe
mov r8d, dword [rbp - 0x20]
lea rdx, str.CHARGED
jmp 0x18015205f
mov dword [rbp - 0x1c], 0xff57cafe
mov r8d, dword [rbp - 0x1c]
lea rdx, [0x1802051c8]
call fcn.180152370
mov rcx, rbx
call fcn.1800b55c0
cmp eax, 0x4f
jne 0x18015208c
mov dword [rbp + 0x20], 0xff57cafe
mov r8d, dword [rbp + 0x20]
lea rdx, [0x1802051c8]
lea rcx, [rbp - 0x10]
call fcn.180152370
mov edi, 1
mov edx, edi
mov rcx, r15
call fcn.1800b6fc0
xor ebx, ebx
test al, al
je 0x180152105
mov dword [rbp - 0x18], 0xff57cafe
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], ebx
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x1802051d4]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
mov edx, 4
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x18015214d
mov edx, 9
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x18015214d
mov edx, 0x40
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x18015214d
mov edx, 0x42
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x18015223c
mov ebx, dword [0x180243674]
mov rcx, r15
call fcn.1800b70b0
lea rax, str.CLOAK_:.0f__
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], 0xe
movss dword [rbp + 0x138], xmm0
movabs rax, 0x7000000000000000
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x140], rdi
lea rax, [rbp + 0x130]
mov qword [rbp + 0x148], rax
movaps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x60], xmm0
movaps xmm1, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x50], xmm1
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x10]
call fcn.1800a98a0
or dword [rsp + 0x6c], 4
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova rcx, qword [rbp - 0x10]
mov dword [rbp + 0x3d8], ebx
xor ebx, ebx
mov dword [rbp + 0x3d0], ebx
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3c0], eax
lea rcx, [rbp - 0x10]
call fcn.180091c20
mov edx, 2
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x18015226f
mov edx, 0x2f
mov rcx, r15
call fcn.1800b6fc0
test al, al
jne 0x18015226f
mov edx, 3
mov rcx, r15
call fcn.1800b6fc0
test al, al
je 0x1801522c9
mov dword [rbp - 0x14], 0xff57cafe
mov eax, dword [rbp - 0x14]
mov dword [rbp + 0x3d8], eax
mov dword [rbp + 0x3d0], ebx
mov r9d, dword [rbp + 0x3c0]
add r9d, r12d
lea r8d, [rsi + 4]
add r8d, r14d
lea rax, [0x1802051b8]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3d8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18022e220]
call fcn.18017cee0
mov r14d, dword [rsp + 0x6c]
mov r15, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0xe0]
add rax, 8
mov qword [rbp + 0xe0], rax
cmp rax, qword [rbp + 0xe8]
jne 0x18014ff60
mov rcx, qword [0x180234c30]
mov rax, qword [rcx]
movaps xmm1, xmm7
call qword [rax + 0x360]
lea r11, [rsp + 0x478]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3