Function at 0x180158580
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 - 0x3c8]
sub rsp, 0x488
vmovaps xmmword [rax - 0x58], xmm6
vmovaps xmmword [rax - 0x68], xmm7
vmovaps xmmword [rax - 0x78], xmm8
vmovaps xmmword [rax - 0x88], xmm9
vmovaps xmmword [rax - 0x98], xmm10
vmovaps xmmword [rax - 0xa8], xmm11
vmovaps xmmword [rax - 0xb8], xmm12
vmovaps xmmword [rax - 0xc8], xmm13
vmovaps xmmword [rax - 0xd8], xmm14
vmovaps xmmword [rax - 0xe8], xmm15
mov r15, rdx
xor ebx, ebx
mov esi, ebx
mov dword [rsp + 0x6c], ebx
mov dword [rbp + 0x3d0], ebx
cmp dword [0x1802531a4], ebx
je 0x18015ac74
mov rax, qword [0x18023d8f0]
mov qword [rbp + 0x88], rax
test rax, rax
je 0x18015ac74
mov dword [rbp + 0x3d0], ebx
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x60]
lea rcx, [0x18023d900]
call fcn.1800c8090
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0xe8], rax
mov rcx, qword [rcx + 0x20]
mov qword [rbp + 0xf0], rcx
vmovss xmm8, dword [0x180218a50]
cmp rax, rcx
je 0x18015ac5f
vmovss xmm14, dword [0x180219380]
vmovss xmm15, dword [0x180219180]
vmovss xmm7, dword [0x1802192b0]
vmovss xmm12, dword [0x180218c54]
vxorps xmm9, xmm9, xmm9
vmovss xmm10, dword [0x180218c08]
vmovss xmm13, dword [0x180218b4c]
vmovss xmm11, dword [0x1802189f4]
nop dword [rax]
nop dword [rax + rax]
mov r14, qword [rax]
mov qword [rsp + 0x78], r14
lea rdi, [r14 + 0x10]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x48]
mov r12d, eax
mov rcx, r14
call fcn.1800bcf40
cmp byte [rax], 0
jne 0x18015ac40
mov rcx, r14
call fcn.1800bd250
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x18015ac40
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x40]
test al, al
je 0x180158790
cmp dword [0x180253124], 0
je 0x180158770
cmp byte [0x180253221], 0
je 0x18015876c
lea rdx, str.Default
lea rcx, [rbp]
call fcn.180098a60
nop
or esi, 1
mov dword [rsp + 0x6c], esi
mov dword [rbp + 0x3d0], esi
mov dword [rbp + 0x3e0], r12d
lea r8, [rbp + 0x3e0]
lea rdx, [rbp + 0x290]
lea rcx, [0x18023da00]
call fcn.1800c82d0
mov rcx, qword [rax]
mov ebx, dword [rcx + 0x14]
lea rdx, [rbp]
lea rcx, [0x180253710]
call fcn.180149f60
cmp ebx, dword [rax + 4]
jle 0x180158770
xor bl, bl
jmp 0x180158772
mov bl, 1
test sil, 1
je 0x180158788
and esi, 0xfffffffe
mov dword [rsp + 0x6c], esi
lea rcx, [rbp]
call fcn.180098e30
test bl, bl
jne 0x18015ac40
mov rcx, qword [0x180243ed8]
mov rax, qword [rcx]
call qword [rax + 0x60]
cmp r12d, eax
je 0x1801588db
test byte [0x1802533a4], 8
je 0x1801587dd
mov dword [rbp + 0x3d0], r12d
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x220]
lea rcx, [0x18023d980]
call fcn.1800e0860
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
jne 0x180158879
test byte [0x1802533a4], 0x10
je 0x18015887d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp], xmm0
mov qword [rbp + 0x10], 7
mov qword [rbp + 0x18], 0xf
mov rax, qword [str.Default]
mov dword [rbp], eax
movzx eax, word [0x18020a7dc]
mov word [rbp + 4], ax
movzx eax, byte [0x18020a7de]
mov byte [rbp + 6], al
mov byte [rbp + 7], 0
or esi, 2
mov dword [rsp + 0x6c], esi
mov dword [rbp + 0x3d0], esi
mov dword [rbp + 0x3e0], r12d
lea r8, [rbp + 0x3e0]
lea rdx, [rbp + 0x2d0]
lea rcx, [0x18023da00]
call fcn.1800c82d0
mov rcx, qword [rax]
mov ebx, dword [rcx + 0x14]
lea r8, [rbp]
lea rdx, [rbp + 0x230]
lea rcx, [0x180253710]
call fcn.180149fc0
mov rcx, qword [rax]
cmp ebx, dword [rcx + 0x34]
jle 0x18015887d
xor bl, bl
jmp 0x18015887f
mov bl, 1
test sil, 2
je 0x180158895
and esi, 0xfffffffd
mov dword [rsp + 0x6c], esi
lea rcx, [rbp]
call fcn.180098e30
test bl, bl
je 0x180158900
test byte [0x1802533a4], 1
jne 0x1801588bc
mov rcx, r14
call fcn.1800bdde0
mov ebx, dword [rax]
mov rcx, r15
call fcn.1800bdde0
cmp ebx, dword [rax]
jne 0x18015ac40
test byte [0x1802533a4], 2
jne 0x180158900
mov rcx, r14
call fcn.1800bdde0
mov ebx, dword [rax]
mov rcx, r15
call fcn.1800bdde0
cmp ebx, dword [rax]
jmp 0x1801588fa
test byte [0x1802533a4], 4
je 0x18015ac40
mov rcx, qword [0x180243ee0]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
test eax, eax
je 0x18015ac40
mov rax, qword [0x180243f50]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x360]
mov rax, qword [r14 + 0x10]
mov rcx, rdi
call qword [rax + 0x40]
mov ecx, dword [0x180253324]
test al, al
cmovne ecx, dword [0x180253124]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vdivss xmm1, xmm0, xmm12
mov rcx, qword [0x180243f50]
call rbx
xor ebx, ebx
mov dword [rbp + 0x3e0], ebx
mov dword [rsp + 0x50], ebx
mov dword [rbp + 0x3e8], ebx
mov dword [rsp + 0x68], ebx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
lea r8, [rbp + 0x3e0]
mov rdx, r14
call fcn.1801583c0
test al, al
je 0x18015ac40
mov esi, ebx
mov dword [rbp + 0x3d0], ebx
mov dword [rbp - 0x6c], 2
mov r13d, ebx
mov dword [rbp + 0xa8], 2
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0x240]
call fcn.18018b050
mov rax, qword [rax]
add rax, 0x18
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x90], ebx
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x250]
call fcn.18018b050
mov r15, qword [rax]
add r15, 0x18
mov eax, 1
mov dword [rbp + 0xb0], eax
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0x260]
call fcn.18018b050
mov rax, qword [rax]
add rax, 0x18
mov qword [rbp + 0x38], rax
movzx eax, byte [0x180252f21]
mov byte [rsp + 0x20], al
mov r9, r14
mov r8, qword [rbp + 0x3d8]
lea rdx, [rbp + 0x34]
call fcn.180187840
mov rax, qword [r14]
mov rdx, qword [rax + 0x358]
mov rcx, r14
call rdx
mov r14d, eax
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call qword [rdx + 0x40]
test al, al
je 0x180158a6a
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call qword [rdx + 0x48]
mov edx, eax
mov rcx, qword [rbp + 0x88]
call fcn.180108360
mov edi, eax
jmp 0x180158a74
mov rcx, rbx
call fcn.1800c2d50
mov edi, dword [rax]
mov rcx, rbx
call fcn.1800be2e0
mov ecx, dword [rax]
mov dword [rbp - 0x70], ecx
mov eax, dword [0x1802531a4]
mov ebx, dword [rbp + 0x34]
bt eax, 0xb
jae 0x180158c65
vmovdqu xmm0, xmmword [0x1802190b0]
vmovdqu xmmword [rsp + 0x58], xmm0
lea rax, [rsp + 0x58]
mov qword [rbp + 0x170], rax
lea rax, [rsp + 0x68]
mov qword [rbp + 0x178], rax
vmovups xmm0, xmmword [rbp + 0x170]
vmovdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp]
call fcn.180121d10
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.18015d1e0
vmovdqu xmm0, xmmword [0x1802190c0]
vmovdqu xmmword [rsp + 0x58], xmm0
lea rax, [rsp + 0x58]
mov qword [rbp + 0x180], rax
lea rax, [rsp + 0x68]
mov qword [rbp + 0x188], rax
vmovups xmm0, xmmword [rbp + 0x180]
vmovdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp]
call fcn.180121d10
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.18015d1e0
mov dword [rbp + 0xb8], esi
mov dword [rbp + 0xbc], 4
mov eax, 1
mov dword [rbp + 0xc0], eax
lea rax, [rbp + 0xb8]
mov qword [rbp + 0x110], rax
lea rax, [rbp + 0xc4]
mov qword [rbp + 0x118], rax
vmovups xmm0, xmmword [rbp + 0x110]
vmovdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp]
call fcn.180121d10
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.18015d1e0
mov dword [rbp + 0xc8], 0xe
mov dword [rbp + 0xcc], 0xd
mov eax, 1
mov dword [rbp + 0xd0], eax
lea rax, [rbp + 0xc8]
mov qword [rbp + 0x120], rax
lea rax, [rbp + 0xd4]
mov qword [rbp + 0x128], rax
vmovups xmm0, xmmword [rbp + 0x120]
vmovdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp]
call fcn.180121d10
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.18015d1e0
mov dword [rbp + 0xd8], 0x11
mov dword [rbp + 0xdc], 0x10
mov eax, 1
mov dword [rbp + 0xe0], eax
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x130], rax
lea rax, [rbp + 0xe4]
mov qword [rbp + 0x138], rax
vmovups xmm0, xmmword [rbp + 0x130]
vmovdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [rbp]
call fcn.180121d10
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.18015d1e0
mov eax, dword [0x1802531a4]
bt eax, 0xa
jae 0x180158ca9
mov dword [rbp - 0x80], 0xff000000
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x34]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0x3e8]
mov r8d, dword [rsp + 0x50]
mov edx, dword [rbp + 0x3e0]
call fcn.180188a20
mov eax, dword [0x1802531a4]
test al, 2
je 0x180158e2a
vmovss dword [rsp + 0x74], xmm8
vmovss dword [rsp + 0x70], xmm9
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm7, xmm7, r14d
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edi
vdivss xmm1, xmm0, xmm7
vmovss dword [rsp + 0x58], xmm1
lea r8, [rsp + 0x74]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x58]
call fcn.1800bfea0
vmovss xmm6, dword [rax]
vmovaps xmm3, xmm6
mov r8d, dword [0x180252eac]
lea rdx, [rbp + 0x30]
lea rcx, [0x180252ea8]
call fcn.180157cd0
mov dword [rsp + 0x58], 7
mov dword [rbp - 0x7c], 0xff000000
mov esi, dword [rbp + 0x3e0]
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 + 0x30]
mov qword [rsp + 0x30], rax
vmovss dword [rsp + 0x28], xmm6
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, 2
mov r8d, dword [rsp + 0x50]
lea edx, [rsi - 6]
call fcn.180188b60
cmp edi, r14d
jle 0x180158e17
vdivss xmm0, xmm7, dword [0x180218b28]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 1
vmulss xmm2, xmm1, dword [0x180218b0c]
vmovss dword [rsp + 0x58], xmm8
vmovss dword [rsp + 0x70], xmm9
mov eax, edi
sub eax, r14d
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vdivss xmm1, xmm0, xmm2
vmovss dword [rsp + 0x74], xmm1
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x74]
call fcn.1800bfea0
vmovss xmm0, dword [rax]
mov eax, dword [0x1802526a4]
mov dword [rbp + 0x30], 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 + 0x30]
mov qword [rsp + 0x30], rax
vmovss dword [rsp + 0x28], xmm0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, 2
mov r8d, dword [rsp + 0x50]
lea edx, [rsi - 6]
call fcn.180188b60
mov esi, 5
mov eax, dword [0x1802531a4]
vmovss xmm7, dword [0x1802192b0]
test al, 4
je 0x180158ed8
mov dword [rsp + 0x58], 2
lea rcx, [0x180248274]
cmp edi, r14d
lea rax, [0x1802526a4]
cmovg rcx, rax
mov eax, dword [rsp + 0x50]
add eax, dword [rsp + 0x68]
vxorps xmm3, xmm3, xmm3
vcvtsi2ss xmm3, xmm3, eax
mov eax, edi
cmp r14d, edi
cmovl eax, r14d
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, r14d
vdivss xmm2, xmm1, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [rsp + 0x68]
vmulss xmm2, xmm2, xmm1
vsubss xmm0, xmm3, xmm2
vsubss xmm3, xmm0, dword [0x180218a98]
vcvttss2si r9d, xmm3
mov r8d, dword [rbp + 0x3e0]
sub r8d, esi
sub r8d, 5
mov dword [rsp + 0x38], edi
lea rax, [0x1801c17d4]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rdx, qword [rbp + 0x40]
lea rcx, [0x18023d260]
call fcn.1801885a0
mov esi, dword [rbp - 0x70]
mov r14, qword [rsp + 0x78]
cmp esi, 5
jne 0x180159060
mov edx, 1
mov rcx, r14
call fcn.1800d29f0
mov rdi, rax
test rax, rax
je 0x180159060
mov ecx, dword [0x1802531a4]
test cl, 8
je 0x180158fbb
mov rcx, rax
call fcn.1800c2f50
mov ecx, 0x3e6
vmovd xmm1, ecx
vmovd xmm0, dword [rax]
vpcmpeqd xmm2, xmm0, xmm1
vmovss xmm0, dword [0x180218c70]
vblendvps xmm6, xmm10, xmm0, xmm2
mov rcx, rdi
call fcn.1801582a0
vmulss xmm0, xmm6, dword [rax]
vminss xmm1, xmm6, xmm0
vdivss xmm2, xmm1, xmm6
mov dword [rsp + 0x58], 3
mov dword [rbp - 0x74], 0xff000000
mov eax, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x50]
add eax, 4
add r8d, eax
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, [0x180252ca4]
mov qword [rsp + 0x30], rax
vmovss dword [rsp + 0x28], xmm2
mov dword [rsp + 0x20], 2
mov r9d, dword [rbp + 0x3e8]
mov edx, dword [rbp + 0x3e0]
call fcn.180188b60
mov dword [rbp - 0x6c], 7
mov ecx, dword [0x1802531a4]
test cl, 0x10
je 0x180159060
vmovss dword [rsp + 0x58], xmm10
vmovss dword [rsp + 0x70], xmm9
mov rcx, rdi
call fcn.1801582a0
vmulss xmm1, xmm10, dword [rax]
vmovss dword [rbp + 0x98], xmm1
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x98]
call fcn.1800bfea0
vmovss xmm0, dword [rax]
vcvtss2sd xmm0, xmm0, xmm0
mov dword [rsp + 0x74], r13d
mov r9d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x50]
add r9d, edi
mov r8d, dword [rbp + 0x3e0]
mov ecx, dword [rbp + 0x3e8]
add ecx, 4
add r8d, ecx
vmovsd qword [rsp + 0x38], xmm0
lea rax, str._.f__
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x74]
mov qword [rsp + 0x28], rax
lea rax, [0x180248274]
mov qword [rsp + 0x20], rax
mov rdx, qword [rbp + 0x40]
lea rcx, [0x18023d260]
call fcn.1801887c0
jmp 0x180159064
mov edi, dword [rsp + 0x50]
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp + 0x190], ymm0
vmovups ymmword [rbp + 0x1b0], ymm0
vmovups ymmword [rbp + 0x1d0], ymm0
vmovups ymmword [rbp + 0x1f0], ymm0
mov dword [rbp + 0x210], eax
mov rcx, qword [0x180243ed8]
mov rax, qword [rcx]
lea r8, [rbp + 0x190]
mov edx, r12d
vzeroupper
call qword [rax + 0x40]
test al, al
je 0x1801595a7
mov eax, dword [rbp + 0x3e8]
cdq
sub eax, edx
sar eax, 1
mov esi, eax
add esi, dword [rbp + 0x3e0]
test byte [0x1802531a4], 1
je 0x180159242
mov r13d, dword [r15 + 8]
add r13d, 2
cmp byte [0x18024d6d1], 0
je 0x1801591c7
mov rcx, qword [0x180243ed8]
mov rax, qword [rcx]
call qword [rax + 0x60]
cmp r12d, eax
jne 0x180159109
lea rax, [0x180212a54]
mov qword [rbp + 0x80], rax
jmp 0x180159184
mov edx, r12d
call fcn.180148390
test al, al
je 0x180159125
lea rax, [0x18020a120]
mov qword [rbp + 0x80], rax
jmp 0x180159184
mov rcx, r14
call fcn.1800bdde0
mov edi, dword [rax]
mov rcx, qword [rbp + 0x3d8]
call fcn.1800bdde0
cmp edi, dword [rax]
je 0x18015914f
lea rax, [0x18020a110]
mov qword [rbp + 0x80], rax
jmp 0x180159180
mov rcx, r14
call fcn.1800bdde0
mov edi, dword [rax]
mov rcx, qword [rbp + 0x3d8]
call fcn.1800bdde0
lea rcx, [0x180212a30]
cmp edi, dword [rax]
cmovne rcx, qword [rbp + 0x80]
mov rax, rcx
mov qword [rbp + 0x80], rcx
mov edi, dword [rsp + 0x50]
mov r14d, 1
mov dword [rsp + 0x58], r14d
mov r9d, edi
sub r9d, r13d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [0x180248274]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov rdx, r15
lea rcx, [0x18023d260]
call fcn.1801885a0
jmp 0x180159248
lea rdx, [rbp + 0x190]
lea rcx, [rbp]
call fcn.180098a60
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x60]
call fcn.18018bd40
nop
mov rcx, rax
call fcn.1800ef8b0
mov r14d, 1
mov dword [rsp + 0x58], r14d
mov r9d, edi
sub r9d, r13d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [0x180248274]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov rdx, r15
lea rcx, [0x18023d260]
call fcn.1801887c0
nop
lea rcx, [rbp + 0x60]
call fcn.1800fd1d0
nop
lea rcx, [rbp]
call fcn.180098e30
jmp 0x180159248
mov r14d, 1
test dword [0x1802531a4], 0x1000
je 0x1801592e9
lea rcx, [rbp]
call fcn.180098bc0
nop
lea rcx, [rbp + 0xf8]
call fcn.18012adf0
mov dword [rsp + 0x20], r14d
lea r9, [rbp + 0xf8]
lea r8, [rbp]
mov edx, dword [rbp + 0x1d8]
lea rcx, [0x180253680]
call fcn.180148f30
test al, al
je 0x1801592e0
mov eax, dword [r15 + 8]
add eax, 2
add r13d, eax
lea rcx, [rbp]
call fcn.1800720c0
mov dword [rsp + 0x58], r14d
mov r9d, edi
sub r9d, r13d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov rdx, r15
lea rcx, [0x18023d260]
call fcn.1801885a0
nop
lea rcx, [rbp]
call fcn.180098e30
test dword [0x1802531a4], 0x2000
je 0x1801595a4
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], 0
lea rdx, [rbp + 0x1d8]
lea rcx, [0x1802536d0]
call fcn.18012e470
mov r14, qword [rax]
mov r15, qword [rax + 8]
cmp r14, r15
je 0x1801593e6
nop dword [rax]
mov dword [rbp + 0x50], 0xffffffff
mov dword [rbp + 0x54], 0
mov word [rbp + 0x58], 0x100
mov byte [rbp + 0x5a], 0
mov rdx, r14
lea rcx, [rbp]
call fcn.180098aa0
mov rsi, rax
mov qword [rsp + 0x58], rax
cmp qword [rax + 0x10], 0
je 0x1801593d1
mov rdx, rax
lea rcx, [0x180253710]
call fcn.1800ec0f0
test al, al
je 0x1801593d1
mov r8, rsi
lea rdx, [rbp + 0x270]
lea rcx, [0x180253710]
call fcn.1801325a0
mov rcx, qword [rax]
vmovsd xmm0, qword [rcx + 0x30]
vmovsd qword [rbp + 0x50], xmm0
mov edi, dword [rcx + 0x38]
mov dword [rbp + 0x58], edi
mov rcx, rsi
call fcn.180098e30
test dil, dil
je 0x1801593d9
lea r8, [rbp + 0x50]
mov rdx, r14
lea rcx, [rbp]
call fcn.180149f80
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x60]
call fcn.18012e2c0
nop
lea rcx, [rbp]
jmp 0x1801593d4
mov rcx, rsi
call fcn.180098e30
add r14, 0x20
cmp r14, r15
jne 0x180159330
mov dword [rsp + 0x58], r12d
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x280]
lea rcx, [0x18023d980]
call fcn.1800e0860
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x18015946c
lea rdx, [0x18020a120]
lea rcx, [rbp]
call fcn.180098a60
nop
lea rdx, [rbp]
lea rcx, [0x180253710]
call fcn.180149f60
mov rdi, rax
lea rcx, [rbp]
call fcn.180098e30
cmp byte [rdi + 8], 0
je 0x18015946c
mov r8, rdi
lea rcx, [rbp + 0x2a0]
call fcn.18015d480
nop
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x60]
call fcn.18012e2c0
nop
lea rcx, [rbp + 0x2a0]
call fcn.180098e30
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 0x180159536
mov rdx, rsi
mov rcx, r14
call fcn.18015d4e0
mov rdi, r14
cmp r14, rsi
je 0x180159536
mov dword [rsp + 0x58], 0
mov r15d, dword [rbp + 0x3e8]
add r15d, dword [rbp + 0x3e0]
mov r12, qword [rbp + 0x38]
mov ebx, dword [rsp + 0x50]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1801594e0
mov rcx, qword [rdi]
mov r9d, dword [rbp + 0x3d0]
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, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r12 + 8]
add dword [rbp + 0x3d0], eax
add rdi, 0x30
cmp rdi, rsi
jne 0x1801594d3
mov ebx, dword [rbp + 0x34]
movabs r15, 0x2aaaaaaaaaaaaaab
test r14, r14
je 0x1801595a4
mov rdi, r14
cmp r14, rsi
je 0x180159554
mov rcx, rdi
call fcn.180098e30
add rdi, 0x30
cmp rdi, rsi
jne 0x180159543
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 0x18015959c
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18015acd1
mov rcx, r14
call fcn.18019051c
mov esi, dword [rbp - 0x70]
mov r12d, dword [rsp + 0x50]
mov edi, dword [rbp + 0x3e0]
test byte [0x1802531a4], 0x20
je 0x1801595ff
vmulss xmm1, xmm13, dword [0x1802479c4]
vcvttss2si r9d, xmm1
mov dword [rsp + 0x58], 7
lea ecx, [rsi - 1]
mov r8d, r12d
sub r8d, r13d
mov eax, dword [rbp + 0x3e8]
cdq
sub eax, edx
sar eax, 1
add eax, edi
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r9d
mov edx, eax
call fcn.180188ff0
test byte [0x1802531a4], 0x40
je 0x18015968f
lea eax, [rsi - 1]
cmp eax, 8
ja 0x180159624
movsxd rax, esi
lea rcx, str.Unknown_Class
mov rcx, qword [rcx + rax*8]
jmp 0x18015962b
mov rcx, qword [str.Unknown_Class]
mov dword [rsp + 0x58], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, r12d
mov esi, dword [rbp + 0x3e8]
lea r8d, [rsi + 4]
add r8d, edi
mov qword [rsp + 0x38], rcx
lea rax, [0x180212a40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [0x180248274]
mov qword [rsp + 0x20], rax
mov rdi, qword [rbp + 0x38]
mov rdx, rdi
lea rcx, [0x18023d260]
call fcn.1801887c0
mov eax, dword [rdi + 8]
add dword [rbp + 0x3d0], eax
jmp 0x180159695
mov esi, dword [rbp + 0x3e8]
mov r15, qword [rsp + 0x78]
test dword [0x1802531a4], 0x200
je 0x1801597a4
mov r14, qword [rbp + 0x3d8]
cmp r15, r14
je 0x1801597a4
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]
vmovss xmm0, dword [rdi + 4]
vsubss xmm4, xmm0, dword [rax + 4]
vmovss xmm1, dword [rdi]
vsubss xmm2, xmm1, dword [rax]
vmulss xmm3, xmm2, xmm2
vmulss xmm0, xmm4, xmm4
vaddss xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
ja 0x1801596fd
vsqrtss xmm0, xmm0, xmm0
jmp 0x180159702
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vdivss xmm0, xmm0, dword [0x180218b98]
vmovaps xmm3, xmm14
vmovaps xmm2, xmm3
vandnps xmm3, xmm3, xmm0
vandps xmm2, xmm2, xmm0
vroundps xmm0, xmm3, 0
vsubss xmm3, xmm3, xmm0
vcmpeqss xmm3, xmm3, xmm15
vandps xmm3, xmm3, xmm7
vaddss xmm3, xmm3, xmm0
vorps xmm3, xmm3, xmm2
vcvttss2si ecx, xmm3
mov eax, 1
mov dword [rsp + 0x58], eax
mov r14d, dword [rsp + 0x68]
mov r13d, dword [rbp - 0x6c]
lea r9d, [r14 + r13]
add r9d, r12d
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, dword [rbp + 0x3e0]
mov dword [rsp + 0x38], ecx
lea rcx, [0x180212a20]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
lea rcx, [0x180248274]
mov qword [rsp + 0x20], rcx
mov r8d, eax
mov r12, qword [rbp + 0x40]
mov rdx, r12
lea rcx, [0x18023d260]
call fcn.1801887c0
add r13d, dword [r12 + 8]
jmp 0x1801597b1
mov r13d, dword [rbp - 0x6c]
mov r12, qword [rbp + 0x40]
mov r14d, dword [rsp + 0x68]
mov rcx, r15
call fcn.1800de120
mov r9, qword [0x180243ec0]
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
mov qword [rbp + 0x40], rax
test rax, rax
je 0x180159a87
test dword [0x1802531a4], 0x100
je 0x18015998d
mov edi, 4
mov eax, dword [0x18024256c]
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rax*8]
mov ecx, dword [rdi + rsi]
cmp dword [0x180255500], ecx
jle 0x18015984b
lea rcx, [0x180255500]
call fcn.1801905cc
cmp dword [0x180255500], 0xffffffff
jne 0x18015984b
mov rax, qword [0x18023f700]
mov qword [0x180255508], rax
lea rcx, [0x180255500]
call fcn.180190560
mov eax, dword [rdi + rsi]
cmp dword [0x180255510], eax
jle 0x180159885
lea rcx, [0x180255510]
call fcn.1801905cc
cmp dword [0x180255510], 0xffffffff
jne 0x180159885
mov rax, qword [0x18023f6d8]
mov qword [0x1802554f8], rax
lea rcx, [0x180255510]
call fcn.180190560
mov rcx, qword [rbp + 0x40]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xa50]
call rdx
mov edi, eax
mov rcx, r15
call fcn.1800be2e0
mov edx, dword [rax]
sub edx, 8
je 0x180159954
cmp edx, 1
jne 0x1801598cb
mov eax, edi
sub eax, 3
je 0x1801598c6
mov esi, 1
cmp eax, esi
jne 0x1801598d0
mov edi, 6
jmp 0x1801598d0
mov edi, 5
mov esi, 1
xor r8d, r8d
mov edx, edi
mov rcx, r15
call qword [0x180255508]
test rax, rax
je 0x18015998d
mov rcx, rax
call qword [0x1802554f8]
mov rcx, rax
mov dword [rsp + 0x58], esi
lea r9d, [r14 + r13]
add r9d, dword [rsp + 0x50]
mov esi, dword [rbp + 0x3e8]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov edi, dword [rbp + 0x3e0]
lea r8d, [rdi + rax]
mov qword [rsp + 0x38], rcx
lea rcx, [0x180212a28]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
lea rcx, [0x180248274]
mov qword [rsp + 0x20], rcx
mov rdx, r12
lea rcx, [0x18023d260]
call fcn.1801885a0
add r13d, dword [r12 + 8]
jmp 0x180159999
mov ecx, edi
test edi, edi
je 0x180159981
sub ecx, 1
je 0x180159977
mov esi, 1
cmp ecx, 2
jne 0x1801598d0
mov edi, 5
jmp 0x1801598d0
mov edi, 4
jmp 0x1801598cb
mov esi, 1
mov edi, esi
jmp 0x1801598d0
mov esi, dword [rbp + 0x3e8]
mov edi, dword [rbp + 0x3e0]
mov r12, qword [rbp + 0x40]
test byte [0x1802531a4], 0x80
je 0x180159a8a
mov rcx, r12
call fcn.180180a10
mov r9, rax
test rax, rax
je 0x180159a8a
mov ecx, dword [rax + 0xa8]
sub ecx, dword [rax + 0xa4]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm7, xmm7, ecx
mov ecx, dword [rax + 0xb0]
sub ecx, dword [rax + 0xac]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmovss xmm1, dword [0x180218a1c]
vmovss dword [rsp + 0x58], xmm1
vmovss xmm1, dword [0x1802189b8]
vmovss dword [rsp + 0x70], xmm1
vaddss xmm0, xmm0, xmm0
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, esi
vmaxss xmm0, xmm0, xmm7
vdivss xmm1, xmm6, xmm0
vmovss dword [rsp + 0x74], xmm1
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x74]
call fcn.1800bfea0
vmovss xmm0, dword [0x1802479c4]
vmulss xmm3, xmm0, dword [rax]
lea eax, [r14 + r13]
mov r14d, dword [rsp + 0x50]
lea ecx, [r14 + 1]
add ecx, eax
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, ecx
vmulss xmm1, xmm6, xmm11
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edi
vaddss xmm5, xmm1, xmm0
vmulss xmm1, xmm7, xmm11
vmulss xmm4, xmm1, xmm3
vsubss xmm1, xmm5, xmm4
mov eax, dword [0x180248274]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r9
call fcn.180189190
jmp 0x180159a8f
mov r12, rax
mov r14d, dword [rsp + 0x50]
test dword [0x1802531a4], 0x20000
je 0x180159b4c
mov rax, qword [r15 + 0x10]
lea rcx, [r15 + 0x10]
call qword [rax + 0x40]
test al, al
mov rax, qword [rbp + 0x3d8]
jne 0x180159b53
cmp r15, rax
je 0x180159b53
mov qword [rbp + 0x40], r15
lea rdx, [rbp + 0x40]
lea rcx, [0x180253630]
call fcn.18015d460
mov edi, dword [rbp + 0x3e0]
mov esi, dword [rbp + 0x3e8]
mov r13, qword [rbp + 0x38]
cmp byte [rax], 0
je 0x180159b43
mov dword [rsp + 0x58], 0
mov dword [rbp - 0x68], 0xff5f5fff
mov r9d, dword [rbp + 0x3d0]
add r9d, r14d
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 - 0x68]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov rax, qword [rbp + 0x3d8]
jmp 0x180159b63
mov rax, qword [rbp + 0x3d8]
mov r13, qword [rbp + 0x38]
mov edi, dword [rbp + 0x3e0]
mov esi, dword [rbp + 0x3e8]
test dword [0x1802531a4], 0x40000
je 0x180159c31
cmp r15, rax
je 0x180159c31
mov rcx, qword [0x180243ed8]
mov rax, qword [rcx]
call qword [rax + 0x240]
test rax, rax
je 0x180159c31
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
test al, al
jne 0x180159c31
mov rax, qword [r15 + 0x10]
lea rcx, [r15 + 0x10]
call qword [rax + 0x48]
mov edx, eax
mov rcx, qword [rbp + 0x88]
call fcn.18013dea0
mov r10d, eax
test eax, eax
je 0x180159c31
lea ecx, [rax - 6]
cmp ecx, 0xc1
jbe 0x180159c31
mov dword [rsp + 0x58], 0
call fcn.18018bbd0
mov dword [rsp + 0x70], eax
mov r9d, dword [rbp + 0x3d0]
add r9d, r14d
lea r8d, [rdi + 4]
add r8d, esi
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, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
test dword [0x1802531a4], 0x80000
je 0x180159f08
cmp r15, qword [rbp + 0x3d8]
je 0x180159f08
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 [0x18024256c]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov edx, dword [rsi + rcx]
cmp dword [0x180244500], edx
jle 0x180159d36
lea rcx, [0x180244500]
call fcn.1801905cc
mov edi, esi
cmp dword [0x180244500], 0xffffffff
jne 0x180159d36
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x180159d22
nop word [rax + rax]
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180159cd1
xor edx, edx
test rcx, rcx
je 0x180159d14
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 0x180159cf0
cmp r9d, 0x3369e751
je 0x180159ed9
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180159cc0
mov edi, 4
xor eax, eax
mov dword [0x1802444dc], eax
lea rcx, [0x180244500]
call fcn.180190560
lea eax, [r14*4]
movsxd rcx, eax
movsxd rdx, dword [0x1802444dc]
mov rax, qword [rbp + 0x88]
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 [0x18024256c]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov edx, dword [rdi + rcx]
cmp dword [0x1802444d8], edx
jle 0x180159e21
lea rcx, [0x1802444d8]
call fcn.1801905cc
cmp dword [0x1802444d8], 0xffffffff
jne 0x180159e21
mov rcx, qword [0x180243e98]
mov rdx, qword [rcx]
call qword [rdx + 0x40]
mov r10, rax
test rax, rax
je 0x180159e0d
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180159dc4
xor edx, edx
test rcx, rcx
je 0x180159e04
nop word [rax + rax]
movsx eax, byte [rdx + r8]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180159de0
cmp r9d, 0x3369e751
je 0x180159ef3
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180159db3
xor eax, eax
mov dword [0x1802444ec], eax
lea rcx, [0x1802444d8]
call fcn.180190560
lea eax, [r14*4]
movsxd rcx, eax
movsxd rdx, dword [0x1802444ec]
mov rax, qword [rbp + 0x88]
add rax, rcx
mov r10d, dword [rdx + rax]
cmp esi, 0x14
jl 0x180159f08
mov ecx, r10d
cmp r10d, 1
mov eax, 1
cmovl ecx, eax
mov eax, esi
cdq
idiv ecx
mov r14d, dword [rbp + 0x3e0]
mov edi, dword [rbp + 0x3e8]
cmp eax, 0xa
jl 0x180159f15
mov dword [rsp + 0x58], 0
mov dword [rbp - 0x64], 0xff5f5fff
mov r9d, dword [rbp + 0x3d0]
add r9d, dword [rsp + 0x50]
lea r8d, [r14 + 4]
add r8d, edi
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 - 0x64]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
jmp 0x180159f15
lea r8, str.m_iScore
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov edi, 4
jmp 0x180159d24
lea r8, str.m_iDeaths
mov rdx, qword [r10 + 0x18]
call fcn.180190160
jmp 0x180159e0f
mov r14d, dword [rbp + 0x3e0]
mov edi, dword [rbp + 0x3e8]
mov dword [rbp], r14d
mov dword [rbp + 4], edi
mov esi, dword [rsp + 0x50]
mov dword [rbp + 8], esi
lea rax, [rbp + 0x3d0]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], r13
test dword [0x1802531a4], 0x4000
je 0x18015a5e3
mov rcx, r15
call fcn.1800c3640
test al, al
je 0x180159fb7
mov rcx, r15
call fcn.1800de120
mov r9, qword [0x180243ec0]
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0xa0], eax
lea rdx, [rbp + 0xa0]
mov rcx, r9
call r8
test rax, rax
je 0x180159fb7
mov rcx, rax
call fcn.1800bd040
cmp eax, 0x4f
jne 0x180159f9f
mov dword [rbp - 0x60], 0xff57cafe
mov r8d, dword [rbp - 0x60]
lea rdx, [0x180212af0]
jmp 0x180159fae
call fcn.18018bbd0
mov r8d, eax
lea rdx, [0x180212ac8]
lea rcx, [rbp]
call fcn.18015ace0
mov edx, 0x4e
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x180159fea
mov edx, 0x1f
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x180159fea
mov edx, 0x13
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a056
mov rcx, r15
call fcn.1800de120
mov r9, qword [0x180243ec0]
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0xa4], eax
lea rdx, [rbp + 0xa4]
mov rcx, r9
call r8
test rax, rax
je 0x18015a056
mov rcx, rax
call fcn.1800c2f50
cmp dword [rax], 0xe8
jne 0x18015a03b
call fcn.18018bbd0
mov r8d, eax
lea rdx, [0x180212ac8]
jmp 0x18015a04d
mov dword [rbp - 0x5c], 0xff57cafe
mov r8d, dword [rbp - 0x5c]
lea rdx, [0x180212af0]
lea rcx, [rbp]
call fcn.18015ace0
mov rax, qword [r15]
mov rdx, qword [rax + 0x358]
mov rcx, r15
call rdx
mov edi, eax
mov rcx, r15
call fcn.1800c2d50
cmp dword [rax], edi
jg 0x18015a0a1
mov edx, 0x15
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a0a1
mov edx, 0x1c
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a0a1
mov rcx, r15
call fcn.1801583a0
test al, al
je 0x18015a109
mov eax, dword [0x1802526a4]
mov dword [rsp + 0x58], eax
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
mov edi, dword [rbp + 0x3e8]
lea r8d, [rdi + 4]
add r8d, r14d
lea rax, [0x180212ad0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
jmp 0x18015a10f
mov edi, dword [rbp + 0x3e8]
mov edx, 5
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a185
mov edx, 0x33
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a185
mov edx, 0x34
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a185
mov edx, 0x39
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a185
mov edx, 0xe
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a1e9
mov dword [rbp - 0x58], 0xff57cafe
mov r8d, dword [rbp - 0x58]
lea rdx, [0x180212ac0]
lea rcx, [rbp]
call fcn.18015ace0
jmp 0x18015a1e9
mov eax, dword [0x180252ca4]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, str.UBER
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x3a
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a23d
mov edx, 0x43
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a23d
mov edx, 0x3d
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a2a5
mov dword [rbp - 0x54], 0xff6c6bff
mov r8d, dword [rbp - 0x54]
lea rdx, [0x180212b50]
lea rcx, [rbp]
call fcn.18015ace0
jmp 0x18015a2a5
mov dword [rbp - 0x50], 0xff6c6bff
mov eax, dword [rbp - 0x50]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b48]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x3b
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a2f9
mov edx, 0x44
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a2f9
mov edx, 0x3e
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a361
mov dword [rbp - 0x4c], 0xff6c6bff
mov r8d, dword [rbp - 0x4c]
lea rdx, [0x180212b3c]
lea rcx, [rbp]
call fcn.18015ace0
jmp 0x18015a361
mov dword [rbp - 0x48], 0xff6c6bff
mov eax, dword [rbp - 0x48]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b34]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x3c
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a3b5
mov edx, 0x45
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a3b5
mov edx, 0x3f
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a41d
mov dword [rbp - 0x44], 0xff6c6bff
mov r8d, dword [rbp - 0x44]
lea rdx, [0x180212b2c]
lea rcx, [rbp]
call fcn.18015ace0
jmp 0x18015a41d
mov dword [rbp - 0x40], 0xff6c6bff
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b24]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x10
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a48c
mov dword [rbp + 0x3e8], ebx
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, str.BANNER
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x1a
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a4fb
mov dword [rbp + 0x3e8], ebx
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, str.BATTALIONS
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x1d
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a56a
mov dword [rbp + 0x3e8], ebx
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, str.CONCH
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x51
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a5e3
mov dword [rbp - 0x3c], 0xff57cafe
mov eax, dword [rbp - 0x3c]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], 0
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b90]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
test dword [0x1802531a4], 0x8000
je 0x18015a871
mov edx, 0x18
mov rcx, r15
call fcn.1800bea50
xor ebx, ebx
test al, al
je 0x18015a66a
mov dword [rbp - 0x38], 0xff57cafe
mov eax, dword [rbp - 0x38]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b78]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x1e
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a68c
mov edx, 0x30
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a6f0
mov dword [rbp - 0x34], 0xff57cafe
mov eax, dword [rbp - 0x34]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, str.MARKED
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x16
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a712
mov edx, 0x7c
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a776
mov dword [rbp - 0x30], 0xff57cafe
mov eax, dword [rbp - 0x30]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b68]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x19
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015a798
mov edx, 0x70
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a7fc
mov dword [rbp - 0x2c], 0xff57cafe
mov eax, dword [rbp - 0x2c]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b70]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 0x1b
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a871
mov dword [rbp - 0x28], 0xff57cafe
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212b58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
test dword [0x1802531a4], 0x10000
je 0x18015ac2d
cmp byte [0x18024b9c1], 0
je 0x18015a8b6
mov edx, 7
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a8b6
mov dword [rbp - 0x24], 0xffc864ff
mov r8d, dword [rbp - 0x24]
lea rdx, [0x180212b60]
lea rcx, [rbp]
call fcn.18015ace0
mov rcx, r15
call fcn.1800bd150
xor ebx, ebx
cmp byte [rax], bl
je 0x18015a928
mov dword [rbp - 0x20], 0xff57cafe
mov eax, dword [rbp - 0x20]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212bf4]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
xor edx, edx
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015a9ee
test r12, r12
je 0x18015a9ee
mov rcx, r12
call fcn.1800bd040
cmp eax, 0x12
jne 0x18015a96b
mov dword [rbp - 0x1c], 0xff808080
mov r8d, dword [rbp - 0x1c]
lea rdx, [0x180212bf8]
lea rcx, [rbp]
call fcn.18015ace0
mov rcx, r12
call fcn.1800bd040
cmp eax, 0x3d
jne 0x18015a9c6
mov rax, qword [0x180243f18]
vmovss xmm6, dword [rax + 0xc]
mov rcx, r12
call fcn.1800d27f0
vsubss xmm0, xmm6, dword [rax]
lea rcx, [rbp]
vcomiss xmm0, xmm8
jb 0x18015a9af
mov dword [rbp - 0x18], 0xff57cafe
mov r8d, dword [rbp - 0x18]
lea rdx, str.CHARGED
jmp 0x18015a9c1
mov dword [rbp - 8], 0xff57cafe
mov r8d, dword [rbp - 8]
lea rdx, [0x180212be8]
call fcn.18015ace0
mov rcx, r12
call fcn.1800bd040
cmp eax, 0x4f
jne 0x18015a9ee
mov dword [rbp - 0x14], 0xff57cafe
mov r8d, dword [rbp - 0x14]
lea rdx, [0x180212be8]
lea rcx, [rbp]
call fcn.18015ace0
mov r12d, 1
mov edx, r12d
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015aa67
mov dword [rbp - 0x10], 0xff57cafe
mov eax, dword [rbp - 0x10]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212bc8]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
mov edx, 4
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015aaaf
mov edx, 9
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015aaaf
mov edx, 0x40
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015aaaf
mov edx, 0x42
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015aba0
mov ebx, dword [0x180252d24]
mov rcx, r15
call fcn.1800beb50
lea rax, str.CLOAK_:.0f__
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], 0xe
vmovss dword [rbp + 0x148], xmm0
movabs rax, 0x7000000000000000
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x150], r12
lea rax, [rbp + 0x140]
mov qword [rbp + 0x158], rax
vmovups xmm0, xmmword [rbp + 0x150]
vmovdqa xmmword [rbp + 0x60], xmm0
vmovups xmm1, xmmword [rbp + 0x160]
vmovdqa xmmword [rbp + 0x40], xmm1
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x40]
lea rcx, [rbp]
call fcn.1800b12c0
or dword [rsp + 0x6c], 4
lea rcx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rcx, qword [rbp]
mov dword [rbp + 0x3e8], ebx
xor ebx, ebx
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
mov eax, dword [r13 + 8]
add dword [rbp + 0x3d0], eax
lea rcx, [rbp]
call fcn.180098e30
mov edx, 2
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015abd3
mov edx, 0x2f
mov rcx, r15
call fcn.1800bea50
test al, al
jne 0x18015abd3
mov edx, 3
mov rcx, r15
call fcn.1800bea50
test al, al
je 0x18015ac2d
mov dword [rbp - 0xc], 0xff57cafe
mov eax, dword [rbp - 0xc]
mov dword [rbp + 0x3e8], eax
mov dword [rbp + 0x3e0], ebx
mov r9d, dword [rbp + 0x3d0]
add r9d, esi
lea r8d, [r14 + 4]
add r8d, edi
lea rax, [0x180212ba0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [0x18023d260]
call fcn.1801885a0
vmovss xmm7, dword [0x1802192b0]
mov esi, dword [rsp + 0x6c]
mov r15, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0xe8]
add rax, 8
mov qword [rbp + 0xe8], rax
cmp rax, qword [rbp + 0xf0]
jne 0x1801586b0
mov rcx, qword [0x180243f50]
mov rax, qword [rcx]
vmovaps xmm1, xmm8
call qword [rax + 0x360]
lea r11, [rsp + 0x488]
vmovaps xmm6, xmmword [r11 - 0x18]
vmovaps xmm7, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x38]
vmovaps xmm9, xmmword [r11 - 0x48]
vmovaps xmm10, xmmword [r11 - 0x58]
vmovaps xmm11, xmmword [r11 - 0x68]
vmovaps xmm12, xmmword [r11 - 0x78]
vmovaps xmm13, xmmword [r11 - 0x88]
vmovaps xmm14, xmmword [r11 - 0x98]
vmovaps 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