Function at 0x1401c7580
Capabilities:
Encode data using xor
Hash data using sha256
Parse pe header

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5b8]
sub rsp, 0x678
mov qword [rbp + 8], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
mov rax, qword [0x14041da10]
xor rax, rsp
mov qword [rbp + 0x520], rax
mov dword [rbp - 0x38], r9d
mov r10, r8
mov qword [rbp - 0x50], r8
mov r14, rdx
mov qword [rbp], rdx
mov rbx, rcx
mov qword [rbp - 0x80], rcx
mov r12, qword [rcx + 0xc0]
mov qword [rsp + 0x70], r12
mov rax, qword [r8]
lea r9, [rsp + 0x44]
mov r8d, 0x10000
mov rdx, r12
mov rcx, r10
call qword [rax + 8]
test al, al
je 0x1401c87e4
mov r15d, dword [rsp + 0x44]
mov dword [rsp + 0x48], r15d
movzx eax, word [r12]
mov ecx, 0x5253
mov esi, 0x5a4d
cmp ax, cx
jne 0x1401c7637
mov word [r12], si
jmp 0x1401c7711
cmp ax, si
je 0x1401c7711
xor r8d, r8d
lea rdx, str..COM
lea rcx, [r14 + 8]
call fcn.140202750
test al, al
je 0x1401c76a0
mov r8d, r15d
mov rdx, r12
call fcn.1401c9460
test al, al
jne 0x1401c7673
or qword [r14 + 0x40], 0x900000
jmp 0x1401c76fd
cmp r15d, 8
jbe 0x1401c76fd
mov r8d, 8
lea rdx, str._script_
mov rcx, r12
call fcn.1402c22b4
test eax, eax
jne 0x1401c76fd
or qword [r14 + 0x40], 0x900000
jmp 0x1401c76fd
cmp r15d, 2
jbe 0x1401c76fd
cmp byte [r12], 0x50
jne 0x1401c76fd
cmp byte [r12 + 1], 0x4b
jne 0x1401c76fd
lea rdx, [r14 + 8]
lea rcx, [rbp + 0x4f0]
call fcn.1400d5970
nop
xor r8d, r8d
lea rdx, str.jar_cache
lea rcx, [rbp + 0x4f0]
call fcn.140205020
test al, al
je 0x1401c76e8
or qword [r14 + 0x40], 0x100000
cmp dword [rbp + 0x4f8], 0
jle 0x1401c76fd
mov rcx, qword [rbp + 0x4f0]
call fcn.1402bd0e0
mov eax, dword [r14 + 0x40]
shr rax, 0x14
test al, 1
je 0x1401c87e2
mov rbx, qword [rbp - 0x80]
xor r13d, r13d
mov qword [rbp + 0x10], r13
movups xmm0, xmmword [0x14032eb00]
movups xmmword [rbp + 0x18], xmm0
movups xmm1, xmmword [0x14032eb10]
movups xmmword [rbp + 0x28], xmm1
lea r8, [rbp + 0x10]
mov edx, dword [rsp + 0x44]
mov rcx, r12
call fcn.14018f300
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x80], xmm0
movaps xmm1, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x90], xmm1
movaps xmm0, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0xa0], xmm0
movaps xmm1, xmmword [rbp + 0x40]
movaps xmmword [rbp + 0xb0], xmm1
movaps xmm0, xmmword [rbp + 0x50]
movaps xmmword [rbp + 0xc0], xmm0
movaps xmm1, xmmword [rbp + 0x60]
movaps xmmword [rbp + 0xd0], xmm1
movsd xmm0, qword [rbp + 0x70]
movsd qword [rbp + 0xe0], xmm0
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x500]
call fcn.14018f3f0
mov rdi, qword [r14 + 0x40]
mov rax, rdi
shr rax, 0x27
test al, 1
jne 0x1401c77f1
mov rax, qword [rbx + 8]
mov rbx, qword [rax + 0x4e8]
lea r8, [rbp + 0x500]
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.14011cbd0
mov rax, qword [rbx]
cmp qword [rbp - 0x60], rax
je 0x1401c77f1
movabs rax, 0x1000000000
or rdi, rax
movabs rax, 0xffffffbffffffffc
and rdi, rax
mov qword [r14 + 0x40], rdi
mov rax, qword [r14 + 0x40]
mov rdi, rax
shr rdi, 0x24
not dil
and dil, 1
mov qword [rbp - 0x60], rdi
mov edi, 0x100
cmp word [r12], si
jne 0x1401c85ab
mov dword [rbp - 0x54], r13d
mov esi, r13d
mov qword [rbp - 0x68], rsi
mov edi, r13d
mov dword [rsp + 0x68], r13d
mov r15, r13
shr rax, 0x17
test al, 1
jne 0x1401c85a1
movsxd rax, dword [r12 + 0x3c]
cmp rax, 0x40
jae 0x1401c787a
mov rax, qword [r12]
cmp rax, qword [str.MZfarbrauschPE]
jne 0x1401c786d
mov eax, dword [r12 + 8]
cmp eax, dword [0x140368cb8]
jne 0x1401c786d
movzx eax, word [r12 + 0xc]
cmp ax, word [0x140368cbc]
je 0x1401c787a
mov edx, 2
mov rcx, r14
call fcn.1401c6010
movsxd rcx, dword [r12 + 0x3c]
mov r10d, 1
test ecx, ecx
jns 0x1401c78aa
lea edx, [r10 + 1]
mov rcx, r14
call fcn.1401c6010
or qword [r14 + 0x40], 0x100000
mov r12, qword [rbp - 0x60]
mov qword [rbp - 0x78], r12
jmp 0x1401c7f4e
mov r8d, dword [rsp + 0x48]
lea rax, [rcx + 0xe0]
cmp rax, r8
jbe 0x1401c78df
mov ebx, 0x2000
mov edx, ebx
mov rcx, r14
call fcn.1401c6010
or qword [r14 + 0x40], 0x100000
mov r12, qword [rbp - 0x60]
mov qword [rbp - 0x78], r12
jmp 0x1401c7f4e
add r12, rcx
mov qword [rbp - 0x78], r12
mov eax, 0x454e
cmp word [r12], ax
jne 0x1401c78ff
or qword [r14 + 0x40], 0x500000
jmp 0x1401c7f4e
movzx eax, word [r12 + 0x14]
add eax, ecx
movsxd rdx, eax
movzx eax, word [r12 + 6]
lea rcx, [rax + rax*4]
lea rax, [rdx + rcx*8]
cmp rax, r8
jbe 0x1401c792a
or qword [r14 + 0x40], 0x100000
jmp 0x1401c7f4e
cmp dword [r12], 0x4550
jne 0x1401c7f4e
or qword [r14 + 0x40], 0x300000
mov ebx, 0x2000
test word [r12 + 0x16], bx
je 0x1401c795b
mov rcx, r14
call fcn.1401c60d0
mov r10d, 1
mov rdx, r13
mov qword [rbp - 0x30], rdx
mov r8, r13
mov qword [rbp - 0x48], r13
movzx eax, word [r12 + 0x14]
add rax, 0x18
add rax, r12
mov qword [rsp + 0x78], rax
lea rax, [r12 + 0x18]
mov ecx, 0x20b
cmp word [rax], cx
jne 0x1401c79e9
or qword [r14 + 0x40], 0x800
mov rcx, qword [r14 + 0x40]
mov r8, rax
mov qword [rbp - 0x48], rax
mov esi, dword [rax + 0x6c]
mov r15d, dword [rax + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rbp - 0x58], eax
cmp word [r8 + 0x44], 3
sete al
test al, al
je 0x1401c79be
bts rcx, 0x19
jmp 0x1401c79c3
btr rcx, 0x19
mov qword [r14 + 0x40], rcx
cmp word [r8 + 0x44], 1
sete al
test al, al
je 0x1401c79da
or qword [r14 + 0x40], rbx
jmp 0x1401c79e2
and qword [r14 + 0x40], 0xffffffffffffdfff
test byte [r8 + 0x46], 0x40
jmp 0x1401c7a39
mov rdx, rax
mov qword [rbp - 0x30], rax
mov esi, dword [rax + 0x5c]
mov r15d, dword [rax + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rbp - 0x58], eax
cmp word [rdx + 0x44], 3
sete al
test al, al
je 0x1401c7a13
or qword [r14 + 0x40], 0x2000000
jmp 0x1401c7a1b
and qword [r14 + 0x40], 0xfffffffffdffffff
cmp word [rdx + 0x44], 1
sete al
test al, al
je 0x1401c7a2d
or qword [r14 + 0x40], rbx
jmp 0x1401c7a35
and qword [r14 + 0x40], 0xffffffffffffdfff
test byte [rdx + 0x46], 0x40
je 0x1401c7a43
or qword [r14 + 0x40], 0x4000
mov r13d, 4
test esi, esi
je 0x1401c7c26
lea r9, [0x140000000]
nop dword [rax + rax]
mov eax, dword [r14 + 0x40]
shr rax, 0xb
mov ecx, edi
test al, 1
je 0x1401c7a78
add rcx, 0xe
lea rcx, [r8 + rcx*8]
jmp 0x1401c7a80
add rcx, 0xc
lea rcx, [rdx + rcx*8]
mov ebx, dword [rcx]
test ebx, ebx
je case.0x1401c7ab3.7
cmp edi, r13d
je 0x1401c7a9d
mov ecx, dword [rcx + 4]
add ecx, ebx
cmp ecx, r15d
ja 0x1401c7c19
cmp edi, 0xe
ja case.0x1401c7ab3.7
mov eax, edi
mov ecx, dword [r9 + rax*4 + 0x1c8820]
add rcx, r9
jmp rcx
mov edx, r10d
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 2
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, r13d
mov rcx, r14
call fcn.1401c61c0
movzx eax, word [r12 + 6]
xor r9d, r9d
mov edx, r9d
mov r8d, eax
test eax, eax
jle 0x1401c7b55
mov rcx, qword [rsp + 0x78]
add rcx, 8
nop
mov r12d, dword [rcx]
test r12d, r12d
jne 0x1401c7b0c
mov r12d, dword [rcx + 8]
mov eax, dword [rcx + 4]
cmp ebx, eax
jb 0x1401c7b1a
add eax, r12d
cmp ebx, eax
jb 0x1401c7b28
inc rdx
add rcx, 0x28
cmp rdx, r8
jge 0x1401c7b55
jmp 0x1401c7b00
sub ebx, dword [rcx + 4]
sub r12d, ebx
mov dword [rsp + 0x68], r12d
mov eax, dword [rcx + 0xc]
mov r12d, ebx
mov rcx, qword [rsp + 0x70]
add rax, rcx
add r12, rax
je 0x1401c7b55
sub r12d, ecx
mov qword [rbp - 0x68], r12
jne 0x1401c7bf5
jmp 0x1401c7b59
mov dword [rbp - 0x68], r9d
mov dword [rsp + 0x68], r9d
jmp 0x1401c7bf5
mov edx, 8
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 0x10
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 0x20
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
test byte [r12 + 0x16], 0xc
jne case.0x1401c7ab3.7
mov edx, 0x40
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 0x80
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 0x100
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 0x200
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 0x400
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov edx, 0x800
mov rcx, r14
call fcn.1401c61c0
jmp 0x1401c7bf9
mov r12, qword [rbp - 0x78]
lea r9, [0x140000000]
inc edi
cmp edi, esi
jae 0x1401c7c26
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x48]
mov r10d, 1
jmp 0x1401c7a60
mov edx, 8
mov rcx, r14
call fcn.1401c6010
mov eax, 0xe0
cmp word [r12 + 0x14], ax
jae 0x1401c7c43
mov edx, r13d
mov rcx, r14
call fcn.1401c6010
jmp 0x1401c7f41
mov eax, dword [r14 + 0x40]
shr rax, 0xb
mov r15d, 1
test r15b, al
mov rax, qword [rbp - 0x48]
jne 0x1401c7c5e
mov rax, qword [rbp - 0x30]
cmp dword [rax + 0x40], 0
jne 0x1401c7c6f
mov edx, r15d
mov rcx, r14
call fcn.1401c6010
xor edi, edi
mov dword [rbp - 0x70], edi
movzx ebx, word [r12 + 6]
mov rcx, qword [rsp + 0x78]
test ebx, ebx
jne 0x1401c7c9d
cmp byte [rcx], 0x2e
jne 0x1401c7c9d
mov ebx, r15d
mov edx, 0x100
mov rcx, r14
call fcn.1401c6010
mov rcx, qword [rsp + 0x78]
mov qword [rbp - 0x20], rdi
movsxd rax, ebx
mov qword [rbp - 0x10], rax
test ebx, ebx
jle 0x1401c7f28
lea r12, [rcx + 0x24]
lea r13, [rbp + 0x4f0]
sub r13, rcx
jmp 0x1401c7cc2
xor edi, edi
xor sil, sil
mov rdx, rdi
lea rcx, [r12 - 0x24]
nop dword [rax]
movzx eax, byte [rcx]
test al, al
je 0x1401c7cf1
movzx esi, sil
cmp al, 0x80
cmovae esi, r15d
mov byte [rcx + r13], al
inc rdx
inc rcx
cmp rdx, 8
jl 0x1401c7cd0
cmp rdx, 9
jae 0x1401c7f22
mov byte [rbp + rdx + 0x4f0], 0
mov r15d, dword [r12 - 0x14]
xor dil, dil
lea rdx, str..reloc
lea rcx, [rbp + 0x4f0]
call fcn.1402bdb98
test eax, eax
jne 0x1401c7d3a
mov dil, 1
mov eax, dword [r12]
test al, 0x20
jne 0x1401c7d33
bt eax, 0x1d
jae 0x1401c7d6b
mov edx, 0x200
jmp 0x1401c7d63
lea rdx, [0x140368ca0]
lea rcx, [rbp + 0x4f0]
call fcn.1402bdb98
test eax, eax
jne 0x1401c7d6b
mov dil, 1
test dword [r12], 0x20000000
je 0x1401c7d6b
mov edx, 0x400
mov rcx, r14
call fcn.1401c6010
mov ebx, dword [r12 - 0x10]
mov eax, dword [r12]
test al, 0x20
jne 0x1401c7d82
bt eax, 0x1d
jb 0x1401c7d82
test eax, eax
jns 0x1401c7dc9
inc dword [rbp - 0x70]
lea eax, [rbx + r15]
cmp eax, dword [r14 + 0x38]
jbe 0x1401c7d97
or qword [r14 + 0x40], 0x20000000
mov ecx, dword [r12 - 0x18]
mov edx, dword [rbp - 0x58]
cmp edx, ecx
jb 0x1401c7dc9
lea eax, [r15 + rcx]
cmp edx, eax
jae 0x1401c7dc9
mov eax, edx
sub eax, ecx
mov ecx, r15d
sub ecx, eax
mov dword [rbp - 0x54], ecx
test dil, dil
je 0x1401c7dc9
mov edx, 0x800
mov rcx, r14
call fcn.1401c6010
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
add rdx, 0x14
mov rdi, qword [rbp - 0x10]
nop dword [rax]
mov ecx, dword [rdx]
cmp ebx, ecx
jbe 0x1401c7ded
add ecx, dword [rdx - 4]
cmp ebx, ecx
jb 0x1401c7dfb
inc r8
add rdx, 0x28
cmp r8, rdi
jge 0x1401c7e08
jmp 0x1401c7de0
mov edx, 0x1000
mov rcx, r14
call fcn.1401c6010
lea rcx, [rbp + 0x4f0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1401c7e13
test rax, rax
je 0x1401c7e26
test sil, sil
je 0x1401c7e33
mov edx, 0x10
mov rcx, r14
call fcn.1401c6010
cmp r15d, dword [r14 + 0x38]
jbe 0x1401c7e46
mov edx, 0x20
mov rcx, r14
call fcn.1401c6010
mov r8, qword [rbp - 0x20]
inc r8
mov qword [rbp - 0x20], r8
sub r13, 0x28
add r12, 0x28
cmp r8, rdi
mov r15d, 1
jl 0x1401c7cc0
mov eax, dword [rbp - 0x70]
test eax, eax
je 0x1401c7f28
mov eax, dword [rbp - 0x54]
dec eax
cmp eax, 4
ja 0x1401c7e8e
and qword [r14 + 0x40], 0xffffffffffefffff
movzx eax, r15b
jmp 0x1401c87e4
xor ecx, ecx
mov eax, dword [r14 + 0x40]
shr rax, 0xb
lea edx, [rcx + 4]
test r15b, al
je 0x1401c7ed6
mov rax, qword [rbp - 0x48]
add rax, 0x74
cmp dword [rax - 4], 0
je 0x1401c7eb0
add ecx, dword [rax]
cmp dword [rax + 4], 0
je 0x1401c7eb9
add ecx, dword [rax + 8]
cmp dword [rax + 0xc], 0
je 0x1401c7ec2
add ecx, dword [rax + 0x10]
cmp dword [rax + 0x14], 0
je 0x1401c7ecb
add ecx, dword [rax + 0x18]
add rax, 0x20
dec rdx
jne 0x1401c7ea8
jmp 0x1401c7f0c
mov rax, qword [rbp - 0x30]
add rax, 0x64
nop
cmp dword [rax - 4], 0
je 0x1401c7ee8
add ecx, dword [rax]
cmp dword [rax + 4], 0
je 0x1401c7ef1
add ecx, dword [rax + 8]
cmp dword [rax + 0xc], 0
je 0x1401c7efa
add ecx, dword [rax + 0x10]
cmp dword [rax + 0x14], 0
je 0x1401c7f03
add ecx, dword [rax + 0x18]
add rax, 0x20
dec rdx
jne 0x1401c7ee0
test ecx, ecx
jne 0x1401c7f15
lea edx, [rcx + 0x40]
jmp 0x1401c7f35
cmp ecx, dword [r14 + 0x38]
jbe 0x1401c7f3d
mov edx, 0x80
jmp 0x1401c7f35
call fcn.1402beab0
int3
and qword [r14 + 0x40], 0xffffffffffefffff
jmp 0x1401c87e2
mov rcx, r14
call fcn.1401c6010
mov r12, qword [rbp - 0x78]
mov r15, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x68]
mov edi, dword [rsp + 0x68]
mov rcx, qword [r14 + 0x40]
mov rax, rcx
shr rax, 0x14
test al, 1
je 0x1401c87e2
mov rax, rcx
shr rax, 0xd
test al, 1
je 0x1401c800d
shr rcx, 9
test cl, 1
je 0x1401c800d
mov r8d, 9
lea rdx, [rbp + 0x4f0]
mov rcx, r14
call fcn.1400d9930
nop
xor r8d, r8d
lea rdx, str.Boot
mov rcx, rax
call fcn.140202b80
movzx ebx, al
cmp dword [rbp + 0x4f8], 0
jle 0x1401c7fbd
mov rcx, qword [rbp + 0x4f0]
call fcn.1402bd0e0
test bl, bl
je 0x1401c800d
mov rdx, r14
call fcn.140115e70
test al, al
je 0x1401c800d
mov r8d, 8
lea rdx, [rbp + 0x4f0]
mov rcx, r14
call fcn.1400d9930
nop
mov r8, rax
mov edx, 0xc
mov rcx, r14
call fcn.14000b8f0
nop
cmp dword [rbp + 0x4f8], 0
jle 0x1401c8009
mov rcx, qword [rbp + 0x4f0]
call fcn.1402bd0e0
mov byte [rbp - 0x60], 1
mov r13, qword [rbp - 0x80]
test esi, esi
je 0x1401c858b
mov byte [rsp + 0x40], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r15
mov r9, r12
mov r12, qword [rsp + 0x70]
mov r8, r12
mov rdx, r14
mov rcx, r13
call fcn.1401c8860
cmp byte [rsp + 0x40], 0
je 0x1401c8071
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r15
mov r9, qword [rbp - 0x78]
mov r8, r12
mov rdx, r14
mov rcx, r13
call fcn.1401c8df0
mov r15d, dword [rsp + 0x48]
cmp r15d, 0x1200
jbe 0x1401c8595
xor sil, sil
xor r15b, r15b
xor r12b, r12b
xor r13b, r13b
mov edx, 3
mov rcx, r14
call fcn.1400d9a80
test al, al
je 0x1401c859c
xor eax, eax
mov qword [rbp + 0x4f8], rax
lea edx, [rax + 6]
lea rcx, [rbp + 0x4f0]
call fcn.1402028a0
mov eax, dword [rbp + 0x4f8]
inc eax
movsxd rdx, eax
mov r9d, 6
lea r8, str.aaaaaa
mov rcx, qword [rbp + 0x4f0]
call fcn.1402c06dc
mov edx, 6
lea rcx, [rbp + 0x4f0]
call fcn.140203bb0
nop
cmp dword [rbp + 0x4fc], 2
jg 0x1401c8163
lea rcx, [rsp + 0x50]
call fcn.140200570
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1402028a0
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r9d, 0x2a
lea r8, str.Index_was_outside_the_bounds_of_the_array.
mov rcx, qword [rsp + 0x58]
call fcn.1402c06dc
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140203bb0
nop
lea rdx, [0x140415de0]
lea rcx, [rsp + 0x50]
call fcn.1402c4a18
int3
mov ecx, 0x73
mov rax, qword [rbp + 0x4f0]
mov word [rax + 4], cx
cmp dword [rbp + 0x4fc], 0
jg 0x1401c81e4
lea rcx, [rsp + 0x50]
call fcn.140200570
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1402028a0
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r9d, 0x2a
lea r8, str.Index_was_outside_the_bounds_of_the_array.
mov rcx, qword [rsp + 0x58]
call fcn.1402c06dc
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140203bb0
nop
lea rdx, [0x140415de0]
lea rcx, [rsp + 0x50]
call fcn.1402c4a18
int3
mov ecx, 0x6b
mov rax, qword [rbp + 0x4f0]
mov word [rax], cx
cmp dword [rbp + 0x4fc], 4
jg 0x1401c8264
lea rcx, [rsp + 0x50]
call fcn.140200570
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1402028a0
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r9d, 0x2a
lea r8, str.Index_was_outside_the_bounds_of_the_array.
mov rcx, qword [rsp + 0x58]
call fcn.1402c06dc
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140203bb0
nop
lea rdx, [0x140415de0]
lea rcx, [rsp + 0x50]
call fcn.1402c4a18
int3
mov ecx, 0x79
mov rax, qword [rbp + 0x4f0]
mov word [rax + 8], cx
cmp dword [rbp + 0x4fc], 3
jg 0x1401c82e5
lea rcx, [rsp + 0x50]
call fcn.140200570
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1402028a0
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r9d, 0x2a
lea r8, str.Index_was_outside_the_bounds_of_the_array.
mov rcx, qword [rsp + 0x58]
call fcn.1402c06dc
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140203bb0
nop
lea rdx, [0x140415de0]
lea rcx, [rsp + 0x50]
call fcn.1402c4a18
int3
mov ecx, 0x65
mov rax, qword [rbp + 0x4f0]
mov word [rax + 6], cx
mov rcx, r14
call fcn.1400d9a20
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx]
cmp rbx, rcx
je 0x1401c856f
lea rax, [0x14034d1a0]
xor r14d, r14d
nop dword [rax]
mov ecx, dword [rbx + 0x20]
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x60], r14
mov edx, dword [rbx + 0x34]
test edx, edx
jne 0x1401c833a
mov qword [rsp + 0x58], rax
jmp 0x1401c835f
lea rcx, [rsp + 0x58]
call fcn.1402028a0
movsxd r9, dword [rbx + 0x34]
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r8, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x58]
call fcn.1402c06dc
mov edx, dword [rbx + 0x34]
lea rcx, [rsp + 0x58]
call fcn.140203bb0
nop
mov eax, dword [rsp + 0x50]
cmp eax, 1
jne 0x1401c83b0
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x58]
call fcn.140205230
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.140202610
movzx esi, al
cmp dword [rbp - 8], 0
jle 0x1401c845f
mov rcx, qword [rbp - 0x10]
jmp 0x1401c8459
cmp eax, 2
jne 0x1401c83e9
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x58]
call fcn.140205230
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.140202610
movzx r15d, al
cmp dword [rbp - 0x18], 0
jle 0x1401c845f
mov rcx, qword [rbp - 0x20]
jmp 0x1401c8459
cmp eax, 3
jne 0x1401c8422
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.140205230
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.140202610
movzx r12d, al
cmp dword [rbp - 0x28], 0
jle 0x1401c845f
mov rcx, qword [rbp - 0x30]
jmp 0x1401c8459
cmp eax, 5
jne 0x1401c845f
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x58]
call fcn.140205230
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.140202610
movzx r13d, al
cmp dword [rbp - 0x40], 0
jle 0x1401c845f
mov rcx, qword [rbp - 0x48]
call fcn.1402bd0e0
nop
cmp dword [rsp + 0x60], 0
jle 0x1401c8470
mov rcx, qword [rsp + 0x58]
call fcn.1402bd0e0
cmp byte [rbx + 0x19], 0
jne 0x1401c84be
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1401c849e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1401c84be
nop dword [rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1401c8490
jmp 0x1401c84be
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1401c84bb
cmp rbx, qword [rax + 0x10]
jne 0x1401c84bb
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1401c84a8
mov rbx, rax
cmp rbx, qword [rdi]
lea rax, [0x14034d1a0]
jne 0x1401c8320
test sil, sil
mov r14, qword [rbp]
je 0x1401c856f
test r15b, r15b
je 0x1401c856f
test r12b, r12b
je 0x1401c856f
mov r12, qword [rsp + 0x70]
test r13b, r13b
je 0x1401c8574
xor r11d, r11d
mov r8d, r11d
mov r9d, r11d
lea rdx, [r12 + 0x1008]
mov r10d, 0x1f8
nop
movzx ecx, byte [rdx]
add r11d, ecx
mov eax, ecx
xor eax, 0x55
add r8d, eax
xor ecx, 0xaa
add r9d, ecx
lea rdx, [rdx + 1]
dec r10
jne 0x1401c8510
cmp r11d, 0xd461
jne 0x1401c8574
cmp r8d, 0xefdf
jne 0x1401c8574
cmp r9d, 0x10629
jne 0x1401c8574
mov rax, qword [r14 + 0x40]
movabs rcx, 0x1000000000
or rax, rcx
movabs rcx, 0xffffffbffffffffc
and rax, rcx
mov qword [r14 + 0x40], rax
jmp 0x1401c8574
mov r12, qword [rsp + 0x70]
cmp dword [rbp + 0x4f8], 0
jle 0x1401c85a1
mov rcx, qword [rbp + 0x4f0]
call fcn.1402bd0e0
jmp 0x1401c85a1
mov r12, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x48]
mov edi, 0x100
jmp 0x1401c85af
mov r12, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x48]
mov edi, 0x100
mov r13, qword [rbp - 0x80]
cmp byte [rbp - 0x60], 0
je 0x1401c87e2
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0xf0]
call fcn.1402c5760
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1401c85f3
mov rcx, r12
mov edx, eax
nop word [rax + rax]
movzx eax, byte [rcx]
inc dword [rbp + rax*4 + 0xf0]
lea rcx, [rcx + 1]
dec rdx
jne 0x1401c85e0
mov rbx, qword [rbp - 0x50]
mov rax, qword [rbx]
lea r9, [rsp + 0x44]
mov esi, dword [rbp - 0x38]
mov r8d, esi
mov rdx, r12
mov rcx, rbx
call qword [rax + 8]
test al, al
je 0x1401c866b
mov edx, dword [rsp + 0x44]
add r15d, edx
lea r8, [rbp + 0x80]
mov rcx, r12
call fcn.14018f300
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1401c8653
mov rcx, r12
mov edx, eax
nop word [rax + rax]
movzx eax, byte [rcx]
inc dword [rbp + rax*4 + 0xf0]
lea rcx, [rcx + 1]
dec rdx
jne 0x1401c8640
mov rax, qword [rbx]
lea r9, [rsp + 0x44]
mov r8d, esi
mov rdx, r12
mov rcx, rbx
call qword [rax + 8]
test al, al
jne 0x1401c8612
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x500]
call fcn.14018f3f0
mov r8, qword [r14 + 0x50]
test r8, r8
je 0x1401c86ee
mov rdx, qword [r8]
mov rax, qword [rdx + 8]
mov rcx, rdx
cmp byte [rax + 0x19], 0
jne 0x1401c86af
cmp dword [rax + 0x20], 0xf
jge 0x1401c86a3
mov rax, qword [rax + 0x10]
jmp 0x1401c86a9
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1401c8697
cmp rcx, rdx
je 0x1401c86be
cmp dword [rcx + 0x20], 0xf
mov qword [rbp - 0x50], rcx
jle 0x1401c86c2
mov qword [rbp - 0x50], rdx
lea rax, [rbp - 0x50]
mov rax, qword [rax]
cmp rax, rdx
je 0x1401c86ee
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1401c86ee
movups xmm0, xmmword [rbp + 0x500]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp + 0x510]
movups xmmword [rcx + 0x10], xmm1
jmp 0x1401c871d
mov ecx, 0x20
call fcn.1402b7fa4
movups xmm0, xmmword [rbp + 0x500]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp + 0x510]
movups xmmword [rax + 0x10], xmm1
mov r8, rax
mov edx, 0xf
mov rcx, r14
call fcn.14000b7e0
xorps xmm8, xmm8
movaps xmm7, xmm8
mov eax, r15d
xorps xmm9, xmm9
cvtsi2ss xmm9, rax
lea rbx, [rbp + 0xf0]
nop dword [rax + rax]
mov eax, dword [rbx]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
divss xmm6, xmm9
comiss xmm6, xmm8
jbe 0x1401c8765
movaps xmm0, xmm6
call fcn.1402bda7c
mulss xmm0, xmm6
subss xmm7, xmm0
add rbx, 4
dec rdi
jne 0x1401c8740
movaps xmm1, xmm7
mov rcx, r14
call fcn.1401c6110
mov eax, dword [r14 + 0x40]
shr rax, 0xd
test al, 1
je 0x1401c87e2
mov byte [rsp + 0x40], dil
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x500]
mov rdx, r14
call fcn.1401c9050
test al, al
jne 0x1401c87bd
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x500]
mov rdx, r14
mov rcx, r13
call fcn.1401c92b0
test al, al
je 0x1401c87e2
cmp byte [rsp + 0x40], 0
je 0x1401c87e2
mov rdx, qword [r14 + 8]
lea rcx, str.____API_RAW_DIFFER____s_r_n
call fcn.1402bf424
movabs rax, 0x800000000
or qword [r14 + 0x40], rax
mov al, 1
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.1402bcad0
lea r11, [rsp + 0x678]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret