Function at 0x14001403d
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov r9, rdx
mov qword [rbp - 0x48], rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov qword [rbp + 0x60], 0
cmp dword [0x1400c81e0], 0xa
mov eax, dword [0x1400c81e4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
mov edx, ecx
and dl, al
mov byte [rbp + 0x9f], dl
xor cl, al
mov byte [rbp + 0x9e], cl
xor eax, eax
lea rcx, [0x140051720]
movsxd rdx, dword [rax + rcx]
xor dword [rbp + rdx*4 - 0x10], 0x1e27
add rax, 4
cmp rax, 0x74
jne 0x1400140bd
mov eax, 0x98e
xor ecx, ecx
mov qword [rbp - 0x40], rcx
lea r12, [0x1400517a0]
lea rsi, [0x140051960]
lea rdi, [0x140051940]
lea rcx, [0x14005196c]
lea r15, [0x1400518e0]
lea r13, [0x140051938]
lea r11, [0x140051950]
lea r14, [0x140051948]
mov ebx, 0
mov qword [rbp - 0x30], rbx
mov ebx, 0
mov qword [rbp - 0x28], rbx
xor ebx, ebx
mov qword [rbp - 0x20], rbx
xor ebx, ebx
mov qword [rbp + 0x80], rbx
xor r10d, r10d
xor edx, edx
mov qword [rbp - 0x70], rdx
xor edx, edx
mov qword [rbp - 0x68], rdx
xor edx, edx
mov qword [rbp - 0x60], rdx
xor edx, edx
mov qword [rbp - 0x58], rdx
xor edx, edx
mov qword [rbp - 0x50], rdx
xor ebx, ebx
mov qword [rbp - 0x38], rbx
xor edx, edx
mov qword [rbp - 0x18], rdx
cmp eax, 0x420a
jg 0x1400141ff
cmp eax, 0x2d80
jg 0x14001424c
cmp eax, 0x1add
jg 0x14001436c
cmp eax, 0x91a
jg 0x140014514
cmp eax, 0x348
je 0x140014749
cmp eax, 0x363
jne 0x140014164
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
cdqe
mov rcx, qword [rbp + 0x78]
cmp qword [rcx], rax
mov eax, 0xe0c00331
mov ecx, 0xd376418e
cmova eax, ecx
mov rcx, qword [rbp + 0x90]
mov dword [rcx], eax
mov eax, dword [0x1400c81e8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x3e66
mov ecx, 0x2388
cmove eax, ecx
cmp dword [0x1400c81ec], 0xa
cmovl eax, ecx
lea rcx, [0x14005196c]
xor eax, dword [rbp + 0x14]
jmp 0x140014164
cmp eax, 0x5c3a
jg 0x1400142e7
cmp eax, 0x489a
jle 0x1400143c0
cmp eax, 0x5067
jg 0x14001457c
cmp eax, 0x489b
je 0x140014850
cmp eax, 0x4b40
jne 0x140014164
mov eax, dword [rbp + 0x64]
mov ebx, 0x6d65
xor eax, ebx
lea r15, [0x1400518e0]
jmp 0x140014164
cmp eax, 0x3028
jle 0x140014460
cmp eax, 0x3148
jg 0x140014644
cmp eax, 0x3029
je 0x1400148b0
cmp eax, 0x30a8
jne 0x140014164
mov eax, dword [0x1400c81f0]
cmp dword [0x1400c81f4], 0xa
setl cl
lea edx, [rax - 0x2f4f092f]
not edx
lea ebx, [rax + rax]
add ebx, 0xd0b0f6d1
add edx, ebx
add edx, 0xd0b0f6d2
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x1400142ca
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rbp + rdx*4 - 0x10], 0x28d2
add rcx, 4
cmp rcx, 8
jne 0x1400142b4
test al, al
mov eax, 0x16b4
mov ecx, 0x4a93
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x140014a80
cmp eax, 0x72db
jle 0x14001449a
cmp eax, 0x7986
jg 0x140014667
cmp eax, 0x72dc
je 0x140014900
cmp eax, 0x735d
jne 0x140014164
cmp dword [0x1400c81f8], 0xa
mov eax, dword [0x1400c81fc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x14001434f
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rbp + rdx*4 - 0x10], 0x16dd
add rcx, 4
cmp rcx, 8
jne 0x140014339
test al, al
mov eax, 0x6471
mov ecx, 0x532e
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x140014d04
cmp eax, 0x1d99
jg 0x140014709
cmp eax, 0x1ade
je 0x1400149c0
cmp eax, 0x1c08
jne 0x140014164
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
lea ecx, [rax + rax]
sub ecx, eax
inc ecx
mov rax, qword [rbp + 0xa0]
mov dword [rax], ecx
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc6c15f39
mov eax, dword [rbp + 0x5c]
mov ecx, 0x49a1
jmp 0x140014b7f
cmp eax, 0x420b
je 0x140014a09
cmp eax, 0x42aa
je 0x140014a9a
cmp eax, 0x45df
jne 0x140014164
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa0]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov al, byte [rax + rcx]
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0xa0]
mov edx, dword [rdx]
movsxd rdx, edx
mov byte [rcx + rdx], al
lea r12, [0x1400517a0]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0x9471d461
mov eax, dword [0x1400c8200]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
lea rcx, [0x14005196c]
mov eax, 0x7daf
mov ebx, 0xf2c
cmove eax, ebx
cmp dword [0x1400c8204], 0xa
cmovl eax, ebx
lea r15, [0x1400518e0]
xor eax, dword [rbp + 0x24]
jmp 0x140014164
cmp eax, 0x2d81
je 0x140014b0d
cmp eax, 0x2fb4
je 0x1400145eb
cmp eax, 0x2ff7
jne 0x140014164
mov rax, qword [rbp + 0x90]
mov eax, dword [rax]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x48]
mov ecx, 0x779
jmp 0x140014b7f
cmp eax, 0x5c3b
je 0x140014cb4
cmp eax, 0x5f44
je 0x140014b2b
cmp eax, 0x6e3f
jne 0x140014164
cmp dword [0x1400c8208], 0xa
mov eax, dword [0x1400c820c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x1400144f7
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rbp + rdx*4 - 0x10], 0x476
add rcx, 4
cmp rcx, 8
jne 0x1400144e1
test al, al
mov eax, 0x79d9
mov ecx, 0xc2f
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x140014d04
cmp eax, 0x91b
je 0x140014b69
cmp eax, 0x98e
jne 0x140014164
mov rdx, r9
mov al, byte [rbp + 0x9f]
or al, byte [rbp + 0x9e]
cmp byte [rbp - 0x40], 0
lea rbx, [0x1400516b0]
jne 0x14001455c
xor ecx, ecx
movsxd r9, dword [rcx + rbx]
xor byte [rbp + r9*4 - 0x10], 0x26
add rcx, 4
cmp rcx, 0x70
jne 0x140014548
test al, 1
mov eax, 0x6cfb
mov ecx, 0x1d6f
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov qword [rbp - 0x40], rcx
mov r9, rdx
jmp 0x140014d04
cmp eax, 0x5068
je 0x140014b8d
cmp eax, 0x52f5
jne 0x140014164
mov eax, dword [rbp + 0x6c]
cmp byte [rbp + 0x80], 0
jne 0x1400145b6
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rbp + rdx*4 - 0x10], 0x2e15
add rcx, 4
cmp rcx, 0x58
jne 0x1400145a0
cmp eax, 0xd376418d
jle 0x140014c95
cmp eax, 0xd376418e
je 0x140014d17
cmp eax, 0xe0c00331
je 0x140014d25
mov cl, 1
mov qword [rbp + 0x80], rcx
cmp eax, 0xe3b99740
jne 0x140014cb4
cmp dword [0x1400c8210], 0xa
mov eax, dword [0x1400c8214]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x140014627
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rbp + rdx*4 - 0x10], 0x22f1
add rcx, 4
cmp rcx, 0xc
jne 0x140014611
test al, al
mov eax, 0x40eb
mov ecx, 0x3077
cmovne eax, ecx
xor eax, dword [rbp + 0x30]
mov cl, 1
mov qword [rbp - 0x50], rcx
jmp 0x140014d04
cmp eax, 0x3149
je 0x140014bea
cmp eax, 0x34c1
jne 0x140014164
mov eax, dword [rbp + 0x4c]
mov ecx, 0x5814
jmp 0x140014b7f
cmp eax, 0x7987
je 0x140014c42
cmp eax, 0x7b6d
jne 0x140014164
mov rbx, r10
mov r10, r14
mov r14, r11
mov r11, r13
mov r13, r9
cmp dword [0x1400c8218], 0xa
mov eax, dword [0x1400c821c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
lea r9, [0x140051958]
jne 0x1400146cf
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rbp + rdx*4 - 0x10], 0x5039
add rcx, 4
cmp rcx, 8
jne 0x1400146b9
test al, al
mov eax, 0x55f8
mov ecx, 0x1998
cmovne eax, ecx
xor eax, dword [rbp + 0x28]
mov cl, 1
mov qword [rbp - 0x58], rcx
lea r12, [0x1400517a0]
lea rcx, [0x14005196c]
mov r9, r13
mov r13, r11
mov r11, r14
mov r14, r10
mov r10, rbx
jmp 0x140014164
cmp eax, 0x1dcd
jne 0x140014d41
mov eax, dword [0x1400c797c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x3be8
mov ecx, 0x3833
cmove eax, ecx
cmp dword [0x1400c7978], 0xa
cmovl eax, ecx
lea rcx, [0x14005196c]
xor eax, dword [rbp + 0x40]
jmp 0x140014164
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x78]
mov qword [rax], r8
mov rax, qword [rbp + 0x70]
mov qword [rax], r9
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp - 0x48]
mov qword [rax], rcx
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc6c15f39
mov eax, dword [0x1400c8228]
cmp dword [0x1400c822c], 0xa
setl cl
mov ebx, 1
sub ebx, eax
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x30], 0
jne 0x140014833
xor ecx, ecx
movsxd rbx, dword [rcx + r12]
xor dword [rbp + rbx*4 - 0x10], 0x52f6
add rcx, 4
cmp rcx, 0x68
jne 0x14001481d
test al, al
mov eax, 0x6cdd
mov ecx, 0x569a
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp - 0x30], rcx
jmp 0x140014a87
cmp dword [0x1400c8230], 0xa
mov eax, dword [0x1400c8234]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x28], 0
lea rdx, [0x140051810]
jne 0x140014893
xor ecx, ecx
movsxd rbx, dword [rcx + rdx]
xor dword [rbp + rbx*4 - 0x10], 0x985
add rcx, 4
cmp rcx, 0x64
jne 0x14001487d
test al, al
mov eax, 0x6300
mov ecx, 0xefc
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov cl, 1
mov qword [rbp - 0x28], rcx
jmp 0x140014a87
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa0]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov al, byte [rax + rcx]
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0xa0]
mov edx, dword [rdx]
movsxd rdx, edx
mov byte [rcx + rdx], al
lea r12, [0x1400517a0]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0x9471d461
mov eax, dword [rbp + 0x58]
mov ecx, 0x859
jmp 0x140014b7f
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x78]
mov qword [rax], r8
mov rax, qword [rbp + 0x70]
mov qword [rax], r9
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp - 0x48]
mov qword [rax], rcx
lea rcx, [0x14005196c]
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc6c15f39
mov eax, dword [rbp + 0x44]
mov ebx, 0x1d49
xor eax, ebx
jmp 0x140014164
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xe3b99740
mov eax, dword [0x1400c8238]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x72ac
mov ecx, 0x1d87
cmove eax, ecx
cmp dword [0x1400c823c], 0xa
cmovl eax, ecx
lea rcx, [0x14005196c]
xor eax, dword [rbp + 0x1c]
jmp 0x140014164
mov rax, qword [rbp + 0x90]
mov eax, dword [rax]
mov dword [rbp + 0x6c], eax
mov ecx, dword [0x1400c8240]
cmp dword [0x1400c8244], 0xa
setl al
lea ebx, [rcx + 1]
imul ebx, ecx
and ebx, 1
sete cl
mov edx, eax
and dl, cl
and bl, al
xor bl, al
xor bl, cl
or al, cl
xor al, bl
xor al, cl
or al, dl
cmp byte [rbp - 0x20], 0
lea rbx, [0x140051880]
jne 0x140014a68
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rbp + rdx*4 - 0x10], 0x2297
add rcx, 4
cmp rcx, 0x5c
jne 0x140014a52
test al, al
mov eax, 0x6a85
mov ecx, 0x1787
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp - 0x20], rcx
lea r12, [0x1400517a0]
lea rcx, [0x14005196c]
lea r15, [0x1400518e0]
jmp 0x140014164
mov r15, r9
cmp dword [0x1400c79b8], 0xa
mov eax, dword [0x1400c79bc]
mov r9, rcx
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x18], 0
jne 0x140014adc
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rbp + rdx*4 - 0x10], 0x3958
add rcx, 4
cmp rcx, 8
jne 0x140014ac6
test al, al
mov eax, 0x2b0
mov ecx, 0x543d
cmovne eax, ecx
xor eax, dword [rbp + 0x3c]
mov cl, 1
mov qword [rbp - 0x18], rcx
lea r12, [0x1400517a0]
mov rcx, r9
mov r9, r15
lea r15, [0x1400518e0]
jmp 0x140014164
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xe3b99740
mov eax, dword [rbp + 0x54]
mov ecx, 0x45f3
jmp 0x140014b7f
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
cdqe
mov rcx, qword [rbp + 0x78]
cmp qword [rcx], rax
mov eax, 0xe0c00331
mov ecx, 0xd376418e
cmova eax, ecx
mov rcx, qword [rbp + 0x90]
mov dword [rcx], eax
lea rcx, [0x14005196c]
mov eax, dword [rbp + 0x50]
mov ebx, 0x6241
xor eax, ebx
jmp 0x140014164
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [rbp + 0x60]
mov ecx, 0x1286
xor eax, ecx
lea rcx, [0x14005196c]
jmp 0x140014164
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0xa0]
mov dword [rcx], eax
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc6c15f39
mov eax, dword [0x1400c8250]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
lea rcx, [0x14005196c]
mov eax, 0x5c1
mov ebx, 0x5b63
cmove eax, ebx
cmp dword [0x1400c8254], 0xa
cmovl eax, ebx
lea r15, [0x1400518e0]
xor eax, dword [rbp + 0x2c]
jmp 0x140014164
mov eax, dword [0x1400c8258]
lea ecx, [rax + 0x75fc262f]
not ecx
add ecx, eax
add ecx, 0x75fc262f
add ecx, eax
add ecx, 0x75fc262f
mov edx, 0x8a03d9d3
sub edx, ecx
imul edx, eax
test dl, 1
lea r12, [0x1400517a0]
mov eax, 0x5d9c
mov ecx, 0x2bf7
cmove eax, ecx
cmp dword [0x1400c825c], 0xa
cmovl eax, ecx
lea rcx, [0x14005196c]
xor eax, dword [rbp + 0xc]
jmp 0x140014164
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp dword [0x1400c7950], 0xa
mov eax, dword [0x1400c7954]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x140014c7b
xor dword [rbp + 0x38], 0x66ad
test al, al
mov eax, 0x621a
mov ecx, 0x769b
cmovne eax, ecx
xor eax, dword [rbp + 0x34]
mov cl, 1
mov qword [rbp - 0x38], rcx
jmp 0x140014d04
cmp eax, 0x9471d461
je 0x140014d33
mov cl, 1
mov qword [rbp + 0x80], rcx
cmp eax, 0xc6c15f39
je 0x140014278
cmp dword [0x1400c8268], 0xa
mov eax, dword [0x1400c826c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r10b, r10b
jne 0x140014cef
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rbp + rdx*4 - 0x10], 0x20ad
add rcx, 4
cmp rcx, 8
jne 0x140014cd9
test al, al
mov eax, 0x7d31
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov r10b, 1
lea r12, [0x1400517a0]
lea rcx, [0x14005196c]
jmp 0x140014164
mov al, 1
mov qword [rbp + 0x80], rax
jmp 0x1400144bb
mov al, 1
mov qword [rbp + 0x80], rax
jmp 0x140014313
mov al, 1
mov qword [rbp + 0x80], rax
jmp 0x14001467d
cmp eax, 0x1d9a
jne 0x140014164
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0xa8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret