Function at 0x1401c5380
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 [0x140418a10]
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 0x1401c65e4
mov r15d, dword [rsp + 0x44]
mov dword [rsp + 0x48], r15d
movzx eax, word [r12]
mov ecx, 0x5253
mov esi, 0x5a4d
cmp ax, cx
jne 0x1401c5437
mov word [r12], si
jmp 0x1401c5511
cmp ax, si
je 0x1401c5511
xor r8d, r8d
lea rdx, str..COM
lea rcx, [r14 + 8]
call fcn.1401ff110
test al, al
je 0x1401c54a0
mov r8d, r15d
mov rdx, r12
call fcn.1401c7260
test al, al
jne 0x1401c5473
or qword [r14 + 0x40], 0x900000
jmp 0x1401c54fd
cmp r15d, 8
jbe 0x1401c54fd
mov r8d, 8
lea rdx, str._script_
mov rcx, r12
call fcn.1402bedf4
test eax, eax
jne 0x1401c54fd
or qword [r14 + 0x40], 0x900000
jmp 0x1401c54fd
cmp r15d, 2
jbe 0x1401c54fd
cmp byte [r12], 0x50
jne 0x1401c54fd
cmp byte [r12 + 1], 0x4b
jne 0x1401c54fd
lea rdx, [r14 + 8]
lea rcx, [rbp + 0x4f0]
call fcn.1400d44f0
nop
xor r8d, r8d
lea rdx, str.jar_cache
lea rcx, [rbp + 0x4f0]
call fcn.1402019e0
test al, al
je 0x1401c54e8
or qword [r14 + 0x40], 0x100000
cmp dword [rbp + 0x4f8], 0
jle 0x1401c54fd
mov rcx, qword [rbp + 0x4f0]
call fcn.1402b9c20
mov eax, dword [r14 + 0x40]
shr rax, 0x14
test al, 1
je 0x1401c65e2
mov rbx, qword [rbp - 0x80]
xor r13d, r13d
mov qword [rbp + 0x10], r13
movups xmm0, xmmword [0x14032a958]
movups xmmword [rbp + 0x18], xmm0
movups xmm1, xmmword [0x14032a968]
movups xmmword [rbp + 0x28], xmm1
lea r8, [rbp + 0x10]
mov edx, dword [rsp + 0x44]
mov rcx, r12
call fcn.14018d6c0
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.14018d7b0
mov rdi, qword [r14 + 0x40]
mov rax, rdi
shr rax, 0x27
test al, 1
jne 0x1401c55f1
mov rax, qword [rbx + 8]
mov rbx, qword [rax + 0x4e0]
lea r8, [rbp + 0x500]
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.14011b1e0
mov rax, qword [rbx]
cmp qword [rbp - 0x60], rax
je 0x1401c55f1
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 0x1401c63ab
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 0x1401c63a1
movsxd rax, dword [r12 + 0x3c]
cmp rax, 0x40
jae 0x1401c567a
mov rax, qword [r12]
cmp rax, qword [str.MZfarbrauschPE]
jne 0x1401c566d
mov eax, dword [r12 + 8]
cmp eax, dword [0x140364550]
jne 0x1401c566d
movzx eax, word [r12 + 0xc]
cmp ax, word [0x140364554]
je 0x1401c567a
mov edx, 2
mov rcx, r14
call fcn.1401c3e10
movsxd rcx, dword [r12 + 0x3c]
mov r10d, 1
test ecx, ecx
jns 0x1401c56aa
lea edx, [r10 + 1]
mov rcx, r14
call fcn.1401c3e10
or qword [r14 + 0x40], 0x100000
mov r12, qword [rbp - 0x60]
mov qword [rbp - 0x78], r12
jmp 0x1401c5d4e
mov r8d, dword [rsp + 0x48]
lea rax, [rcx + 0xe0]
cmp rax, r8
jbe 0x1401c56df
mov ebx, 0x2000
mov edx, ebx
mov rcx, r14
call fcn.1401c3e10
or qword [r14 + 0x40], 0x100000
mov r12, qword [rbp - 0x60]
mov qword [rbp - 0x78], r12
jmp 0x1401c5d4e
add r12, rcx
mov qword [rbp - 0x78], r12
mov eax, 0x454e
cmp word [r12], ax
jne 0x1401c56ff
or qword [r14 + 0x40], 0x500000
jmp 0x1401c5d4e
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 0x1401c572a
or qword [r14 + 0x40], 0x100000
jmp 0x1401c5d4e
cmp dword [r12], 0x4550
jne 0x1401c5d4e
or qword [r14 + 0x40], 0x300000
mov ebx, 0x2000
test word [r12 + 0x16], bx
je 0x1401c575b
mov rcx, r14
call fcn.1401c3ed0
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 0x1401c57e9
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 0x1401c57be
bts rcx, 0x19
jmp 0x1401c57c3
btr rcx, 0x19
mov qword [r14 + 0x40], rcx
cmp word [r8 + 0x44], 1
sete al
test al, al
je 0x1401c57da
or qword [r14 + 0x40], rbx
jmp 0x1401c57e2
and qword [r14 + 0x40], 0xffffffffffffdfff
test byte [r8 + 0x46], 0x40
jmp 0x1401c5839
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 0x1401c5813
or qword [r14 + 0x40], 0x2000000
jmp 0x1401c581b
and qword [r14 + 0x40], 0xfffffffffdffffff
cmp word [rdx + 0x44], 1
sete al
test al, al
je 0x1401c582d
or qword [r14 + 0x40], rbx
jmp 0x1401c5835
and qword [r14 + 0x40], 0xffffffffffffdfff
test byte [rdx + 0x46], 0x40
je 0x1401c5843
or qword [r14 + 0x40], 0x4000
mov r13d, 4
test esi, esi
je 0x1401c5a26
lea r9, [0x140000000]
nop dword [rax + rax]
mov eax, dword [r14 + 0x40]
shr rax, 0xb
mov ecx, edi
test al, 1
je 0x1401c5878
add rcx, 0xe
lea rcx, [r8 + rcx*8]
jmp 0x1401c5880
add rcx, 0xc
lea rcx, [rdx + rcx*8]
mov ebx, dword [rcx]
test ebx, ebx
je case.0x1401c58b3.7
cmp edi, r13d
je 0x1401c589d
mov ecx, dword [rcx + 4]
add ecx, ebx
cmp ecx, r15d
ja 0x1401c5a19
cmp edi, 0xe
ja case.0x1401c58b3.7
mov eax, edi
mov ecx, dword [r9 + rax*4 + 0x1c6620]
add rcx, r9
jmp rcx
mov edx, r10d
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 2
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, r13d
mov rcx, r14
call fcn.1401c3fc0
movzx eax, word [r12 + 6]
xor r9d, r9d
mov edx, r9d
mov r8d, eax
test eax, eax
jle 0x1401c5955
mov rcx, qword [rsp + 0x78]
add rcx, 8
nop
mov r12d, dword [rcx]
test r12d, r12d
jne 0x1401c590c
mov r12d, dword [rcx + 8]
mov eax, dword [rcx + 4]
cmp ebx, eax
jb 0x1401c591a
add eax, r12d
cmp ebx, eax
jb 0x1401c5928
inc rdx
add rcx, 0x28
cmp rdx, r8
jge 0x1401c5955
jmp 0x1401c5900
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 0x1401c5955
sub r12d, ecx
mov qword [rbp - 0x68], r12
jne 0x1401c59f5
jmp 0x1401c5959
mov dword [rbp - 0x68], r9d
mov dword [rsp + 0x68], r9d
jmp 0x1401c59f5
mov edx, 8
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 0x10
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 0x20
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
test byte [r12 + 0x16], 0xc
jne case.0x1401c58b3.7
mov edx, 0x40
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 0x80
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 0x100
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 0x200
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 0x400
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov edx, 0x800
mov rcx, r14
call fcn.1401c3fc0
jmp 0x1401c59f9
mov r12, qword [rbp - 0x78]
lea r9, [0x140000000]
inc edi
cmp edi, esi
jae 0x1401c5a26
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x48]
mov r10d, 1
jmp 0x1401c5860
mov edx, 8
mov rcx, r14
call fcn.1401c3e10
mov eax, 0xe0
cmp word [r12 + 0x14], ax
jae 0x1401c5a43
mov edx, r13d
mov rcx, r14
call fcn.1401c3e10
jmp 0x1401c5d41
mov eax, dword [r14 + 0x40]
shr rax, 0xb
mov r15d, 1
test r15b, al
mov rax, qword [rbp - 0x48]
jne 0x1401c5a5e
mov rax, qword [rbp - 0x30]
cmp dword [rax + 0x40], 0
jne 0x1401c5a6f
mov edx, r15d
mov rcx, r14
call fcn.1401c3e10
xor edi, edi
mov dword [rbp - 0x70], edi
movzx ebx, word [r12 + 6]
mov rcx, qword [rsp + 0x78]
test ebx, ebx
jne 0x1401c5a9d
cmp byte [rcx], 0x2e
jne 0x1401c5a9d
mov ebx, r15d
mov edx, 0x100
mov rcx, r14
call fcn.1401c3e10
mov rcx, qword [rsp + 0x78]
mov qword [rbp - 0x20], rdi
movsxd rax, ebx
mov qword [rbp - 0x10], rax
test ebx, ebx
jle 0x1401c5d28
lea r12, [rcx + 0x24]
lea r13, [rbp + 0x4f0]
sub r13, rcx
jmp 0x1401c5ac2
xor edi, edi
xor sil, sil
mov rdx, rdi
lea rcx, [r12 - 0x24]
nop dword [rax]
movzx eax, byte [rcx]
test al, al
je 0x1401c5af1
movzx esi, sil
cmp al, 0x80
cmovae esi, r15d
mov byte [rcx + r13], al
inc rdx
inc rcx
cmp rdx, 8
jl 0x1401c5ad0
cmp rdx, 9
jae 0x1401c5d22
mov byte [rbp + rdx + 0x4f0], 0
mov r15d, dword [r12 - 0x14]
xor dil, dil
lea rdx, str..reloc
lea rcx, [rbp + 0x4f0]
call fcn.1402ba6d8
test eax, eax
jne 0x1401c5b3a
mov dil, 1
mov eax, dword [r12]
test al, 0x20
jne 0x1401c5b33
bt eax, 0x1d
jae 0x1401c5b6b
mov edx, 0x200
jmp 0x1401c5b63
lea rdx, [0x14036459c]
lea rcx, [rbp + 0x4f0]
call fcn.1402ba6d8
test eax, eax
jne 0x1401c5b6b
mov dil, 1
test dword [r12], 0x20000000
je 0x1401c5b6b
mov edx, 0x400
mov rcx, r14
call fcn.1401c3e10
mov ebx, dword [r12 - 0x10]
mov eax, dword [r12]
test al, 0x20
jne 0x1401c5b82
bt eax, 0x1d
jb 0x1401c5b82
test eax, eax
jns 0x1401c5bc9
inc dword [rbp - 0x70]
lea eax, [rbx + r15]
cmp eax, dword [r14 + 0x38]
jbe 0x1401c5b97
or qword [r14 + 0x40], 0x20000000
mov ecx, dword [r12 - 0x18]
mov edx, dword [rbp - 0x58]
cmp edx, ecx
jb 0x1401c5bc9
lea eax, [r15 + rcx]
cmp edx, eax
jae 0x1401c5bc9
mov eax, edx
sub eax, ecx
mov ecx, r15d
sub ecx, eax
mov dword [rbp - 0x54], ecx
test dil, dil
je 0x1401c5bc9
mov edx, 0x800
mov rcx, r14
call fcn.1401c3e10
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 0x1401c5bed
add ecx, dword [rdx - 4]
cmp ebx, ecx
jb 0x1401c5bfb
inc r8
add rdx, 0x28
cmp r8, rdi
jge 0x1401c5c08
jmp 0x1401c5be0
mov edx, 0x1000
mov rcx, r14
call fcn.1401c3e10
lea rcx, [rbp + 0x4f0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1401c5c13
test rax, rax
je 0x1401c5c26
test sil, sil
je 0x1401c5c33
mov edx, 0x10
mov rcx, r14
call fcn.1401c3e10
cmp r15d, dword [r14 + 0x38]
jbe 0x1401c5c46
mov edx, 0x20
mov rcx, r14
call fcn.1401c3e10
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 0x1401c5ac0
mov eax, dword [rbp - 0x70]
test eax, eax
je 0x1401c5d28
mov eax, dword [rbp - 0x54]
dec eax
cmp eax, 4
ja 0x1401c5c8e
and qword [r14 + 0x40], 0xffffffffffefffff
movzx eax, r15b
jmp 0x1401c65e4
xor ecx, ecx
mov eax, dword [r14 + 0x40]
shr rax, 0xb
lea edx, [rcx + 4]
test r15b, al
je 0x1401c5cd6
mov rax, qword [rbp - 0x48]
add rax, 0x74
cmp dword [rax - 4], 0
je 0x1401c5cb0
add ecx, dword [rax]
cmp dword [rax + 4], 0
je 0x1401c5cb9
add ecx, dword [rax + 8]
cmp dword [rax + 0xc], 0
je 0x1401c5cc2
add ecx, dword [rax + 0x10]
cmp dword [rax + 0x14], 0
je 0x1401c5ccb
add ecx, dword [rax + 0x18]
add rax, 0x20
dec rdx
jne 0x1401c5ca8
jmp 0x1401c5d0c
mov rax, qword [rbp - 0x30]
add rax, 0x64
nop
cmp dword [rax - 4], 0
je 0x1401c5ce8
add ecx, dword [rax]
cmp dword [rax + 4], 0
je 0x1401c5cf1
add ecx, dword [rax + 8]
cmp dword [rax + 0xc], 0
je 0x1401c5cfa
add ecx, dword [rax + 0x10]
cmp dword [rax + 0x14], 0
je 0x1401c5d03
add ecx, dword [rax + 0x18]
add rax, 0x20
dec rdx
jne 0x1401c5ce0
test ecx, ecx
jne 0x1401c5d15
lea edx, [rcx + 0x40]
jmp 0x1401c5d35
cmp ecx, dword [r14 + 0x38]
jbe 0x1401c5d3d
mov edx, 0x80
jmp 0x1401c5d35
call fcn.1402bb5f0
int3
and qword [r14 + 0x40], 0xffffffffffefffff
jmp 0x1401c65e2
mov rcx, r14
call fcn.1401c3e10
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 0x1401c65e2
mov rax, rcx
shr rax, 0xd
test al, 1
je 0x1401c5e0d
shr rcx, 9
test cl, 1
je 0x1401c5e0d
mov r8d, 9
lea rdx, [rbp + 0x4f0]
mov rcx, r14
call fcn.1400d84b0
nop
xor r8d, r8d
lea rdx, str.Boot
mov rcx, rax
call fcn.1401ff540
movzx ebx, al
cmp dword [rbp + 0x4f8], 0
jle 0x1401c5dbd
mov rcx, qword [rbp + 0x4f0]
call fcn.1402b9c20
test bl, bl
je 0x1401c5e0d
mov rdx, r14
call fcn.140114480
test al, al
je 0x1401c5e0d
mov r8d, 8
lea rdx, [rbp + 0x4f0]
mov rcx, r14
call fcn.1400d84b0
nop
mov r8, rax
mov edx, 0xc
mov rcx, r14
call fcn.14000b8f0
nop
cmp dword [rbp + 0x4f8], 0
jle 0x1401c5e09
mov rcx, qword [rbp + 0x4f0]
call fcn.1402b9c20
mov byte [rbp - 0x60], 1
mov r13, qword [rbp - 0x80]
test esi, esi
je 0x1401c638b
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.1401c6660
cmp byte [rsp + 0x40], 0
je 0x1401c5e71
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.1401c6bf0
mov r15d, dword [rsp + 0x48]
cmp r15d, 0x1200
jbe 0x1401c6395
xor sil, sil
xor r15b, r15b
xor r12b, r12b
xor r13b, r13b
mov edx, 3
mov rcx, r14
call fcn.1400d8600
test al, al
je 0x1401c639c
xor eax, eax
mov qword [rbp + 0x4f8], rax
lea edx, [rax + 6]
lea rcx, [rbp + 0x4f0]
call fcn.1401ff260
mov eax, dword [rbp + 0x4f8]
inc eax
movsxd rdx, eax
mov r9d, 6
lea r8, str.aaaaaa
mov rcx, qword [rbp + 0x4f0]
call fcn.1402bd21c
mov edx, 6
lea rcx, [rbp + 0x4f0]
call fcn.140200570
nop
cmp dword [rbp + 0x4fc], 2
jg 0x1401c5f63
lea rcx, [rsp + 0x50]
call fcn.1401fcf30
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1401ff260
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.1402bd21c
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140200570
nop
lea rdx, [0x140410838]
lea rcx, [rsp + 0x50]
call fcn.1402c1558
int3
mov ecx, 0x73
mov rax, qword [rbp + 0x4f0]
mov word [rax + 4], cx
cmp dword [rbp + 0x4fc], 0
jg 0x1401c5fe4
lea rcx, [rsp + 0x50]
call fcn.1401fcf30
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1401ff260
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.1402bd21c
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140200570
nop
lea rdx, [0x140410838]
lea rcx, [rsp + 0x50]
call fcn.1402c1558
int3
mov ecx, 0x6b
mov rax, qword [rbp + 0x4f0]
mov word [rax], cx
cmp dword [rbp + 0x4fc], 4
jg 0x1401c6064
lea rcx, [rsp + 0x50]
call fcn.1401fcf30
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1401ff260
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.1402bd21c
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140200570
nop
lea rdx, [0x140410838]
lea rcx, [rsp + 0x50]
call fcn.1402c1558
int3
mov ecx, 0x79
mov rax, qword [rbp + 0x4f0]
mov word [rax + 8], cx
cmp dword [rbp + 0x4fc], 3
jg 0x1401c60e5
lea rcx, [rsp + 0x50]
call fcn.1401fcf30
nop
lea rax, vtable.Core::IndexOutOfRangeException.0
mov qword [rsp + 0x50], rax
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.1401ff260
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.1402bd21c
mov edx, 0x2a
lea rcx, [rsp + 0x58]
call fcn.140200570
nop
lea rdx, [0x140410838]
lea rcx, [rsp + 0x50]
call fcn.1402c1558
int3
mov ecx, 0x65
mov rax, qword [rbp + 0x4f0]
mov word [rax + 6], cx
mov rcx, r14
call fcn.1400d85a0
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx]
cmp rbx, rcx
je 0x1401c636f
lea rax, [0x140348ca0]
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 0x1401c613a
mov qword [rsp + 0x58], rax
jmp 0x1401c615f
lea rcx, [rsp + 0x58]
call fcn.1401ff260
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.1402bd21c
mov edx, dword [rbx + 0x34]
lea rcx, [rsp + 0x58]
call fcn.140200570
nop
mov eax, dword [rsp + 0x50]
cmp eax, 1
jne 0x1401c61b0
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x58]
call fcn.140201bf0
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.1401fefd0
movzx esi, al
cmp dword [rbp - 8], 0
jle 0x1401c625f
mov rcx, qword [rbp - 0x10]
jmp 0x1401c6259
cmp eax, 2
jne 0x1401c61e9
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x58]
call fcn.140201bf0
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.1401fefd0
movzx r15d, al
cmp dword [rbp - 0x18], 0
jle 0x1401c625f
mov rcx, qword [rbp - 0x20]
jmp 0x1401c6259
cmp eax, 3
jne 0x1401c6222
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.140201bf0
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.1401fefd0
movzx r12d, al
cmp dword [rbp - 0x28], 0
jle 0x1401c625f
mov rcx, qword [rbp - 0x30]
jmp 0x1401c6259
cmp eax, 5
jne 0x1401c625f
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x58]
call fcn.140201bf0
nop
mov r8d, 1
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.1401fefd0
movzx r13d, al
cmp dword [rbp - 0x40], 0
jle 0x1401c625f
mov rcx, qword [rbp - 0x48]
call fcn.1402b9c20
nop
cmp dword [rsp + 0x60], 0
jle 0x1401c6270
mov rcx, qword [rsp + 0x58]
call fcn.1402b9c20
cmp byte [rbx + 0x19], 0
jne 0x1401c62be
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1401c629e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1401c62be
nop dword [rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1401c6290
jmp 0x1401c62be
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1401c62bb
cmp rbx, qword [rax + 0x10]
jne 0x1401c62bb
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1401c62a8
mov rbx, rax
cmp rbx, qword [rdi]
lea rax, [0x140348ca0]
jne 0x1401c6120
test sil, sil
mov r14, qword [rbp]
je 0x1401c636f
test r15b, r15b
je 0x1401c636f
test r12b, r12b
je 0x1401c636f
mov r12, qword [rsp + 0x70]
test r13b, r13b
je 0x1401c6374
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 0x1401c6310
cmp r11d, 0xd461
jne 0x1401c6374
cmp r8d, 0xefdf
jne 0x1401c6374
cmp r9d, 0x10629
jne 0x1401c6374
mov rax, qword [r14 + 0x40]
movabs rcx, 0x1000000000
or rax, rcx
movabs rcx, 0xffffffbffffffffc
and rax, rcx
mov qword [r14 + 0x40], rax
jmp 0x1401c6374
mov r12, qword [rsp + 0x70]
cmp dword [rbp + 0x4f8], 0
jle 0x1401c63a1
mov rcx, qword [rbp + 0x4f0]
call fcn.1402b9c20
jmp 0x1401c63a1
mov r12, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x48]
mov edi, 0x100
jmp 0x1401c63af
mov r12, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x48]
mov edi, 0x100
mov r13, qword [rbp - 0x80]
cmp byte [rbp - 0x60], 0
je 0x1401c65e2
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0xf0]
call fcn.1402c22a0
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1401c63f3
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 0x1401c63e0
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 0x1401c646b
mov edx, dword [rsp + 0x44]
add r15d, edx
lea r8, [rbp + 0x80]
mov rcx, r12
call fcn.14018d6c0
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1401c6453
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 0x1401c6440
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 0x1401c6412
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x500]
call fcn.14018d7b0
mov r8, qword [r14 + 0x50]
test r8, r8
je 0x1401c64ee
mov rdx, qword [r8]
mov rax, qword [rdx + 8]
mov rcx, rdx
cmp byte [rax + 0x19], 0
jne 0x1401c64af
cmp dword [rax + 0x20], 0xf
jge 0x1401c64a3
mov rax, qword [rax + 0x10]
jmp 0x1401c64a9
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1401c6497
cmp rcx, rdx
je 0x1401c64be
cmp dword [rcx + 0x20], 0xf
mov qword [rbp - 0x50], rcx
jle 0x1401c64c2
mov qword [rbp - 0x50], rdx
lea rax, [rbp - 0x50]
mov rax, qword [rax]
cmp rax, rdx
je 0x1401c64ee
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1401c64ee
movups xmm0, xmmword [rbp + 0x500]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp + 0x510]
movups xmmword [rcx + 0x10], xmm1
jmp 0x1401c651d
mov ecx, 0x20
call fcn.1402b4964
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 0x1401c6565
movaps xmm0, xmm6
call fcn.1402ba5bc
mulss xmm0, xmm6
subss xmm7, xmm0
add rbx, 4
dec rdi
jne 0x1401c6540
movaps xmm1, xmm7
mov rcx, r14
call fcn.1401c3f10
mov eax, dword [r14 + 0x40]
shr rax, 0xd
test al, 1
je 0x1401c65e2
mov byte [rsp + 0x40], dil
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x500]
mov rdx, r14
call fcn.1401c6e50
test al, al
jne 0x1401c65bd
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x500]
mov rdx, r14
mov rcx, r13
call fcn.1401c70b0
test al, al
je 0x1401c65e2
cmp byte [rsp + 0x40], 0
je 0x1401c65e2
mov rdx, qword [r14 + 8]
lea rcx, str.____API_RAW_DIFFER____s_r_n
call fcn.1402bbf64
movabs rax, 0x800000000
or qword [r14 + 0x40], rax
mov al, 1
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.1402b9610
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