Function at 0x1400a7038
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1c8
mov qword [rsp + 0xc8], rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
movups xmmword [rcx], xmm0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
xor eax, eax
lea rcx, [0x1400ff4a0]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x60], 0x78c104ba
add rax, 4
cmp rax, 0x5c
jne 0x1400a70bc
cmp qword [rsp + 0xc8], 0
mov eax, 0x12358d03
mov ecx, 0x53bdbdb4
cmovs ecx, eax
mov dword [rsp + 0x5c], ecx
mov eax, 0x33c4088
xor ecx, ecx
mov qword [rsp + 0x118], rcx
lea rdx, [0x1400ff440]
lea rbx, [0x1400ff520]
lea r12, [0x1400ff5b0]
lea r15, [0x1400ffba8]
lea rbp, [0x1400ff500]
lea r13, [0x1400ff560]
lea rdi, [0x1400ff68c]
mov ecx, 0
mov qword [rsp + 0x100], rcx
mov ecx, 0
mov qword [rsp + 0xf8], rcx
xor ecx, ecx
mov qword [rsp + 0x110], rcx
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
xor ecx, ecx
mov qword [rsp + 0xe0], rcx
xor ecx, ecx
mov qword [rsp + 0xd8], rcx
xor ecx, ecx
mov qword [rsp + 0xd0], rcx
xor ecx, ecx
mov qword [rsp + 0x108], rcx
cmp eax, 0x4a68ab64
jle 0x1400a71e9
cmp eax, 0x6af489b8
jle 0x1400a723b
cmp eax, 0x77b2009b
jg 0x1400a732a
cmp eax, 0x6af489b9
je 0x1400a749d
cmp eax, 0x6fb1eea3
je 0x1400a751e
cmp eax, 0x6ff39071
jne 0x1400a718c
call fcn.140011264
lea rbx, [0x1400ff520]
lea rdx, [0x1400ff440]
mov eax, dword [rsp + 0xa0]
mov ecx, 0x63a07345
xor eax, ecx
jmp 0x1400a718c
cmp eax, 0x2b7cb90d
jle 0x1400a72ad
cmp eax, 0x431144a9
jg 0x1400a7363
cmp eax, 0x2b7cb90e
je 0x1400a7567
cmp eax, 0x303dc6fd
je 0x1400a757d
cmp eax, 0x40a872dd
jne 0x1400a718c
mov eax, dword [rsp + 0x98]
mov ecx, 0x7ff34cb4
xor eax, ecx
mov dword [rsp + 0x2c], 5
jmp 0x1400a718c
cmp eax, 0x56259860
jg 0x1400a7436
cmp eax, 0x4a68ab65
je 0x1400a7613
cmp eax, 0x520aa150
je 0x1400a7626
cmp eax, 0x55455782
jne 0x1400a718c
mov rax, qword [rsp + 0x38]
cmp byte [rsp + 0x110], 0
jne 0x1400a7281
xor dword [rsp + 0x84], 0x4ae4c48a
mov r14d, dword [rsp + 0x30]
cmp r14d, 3
mov eax, 0x14c80821
mov ecx, 0x2461bcfe
cmove eax, ecx
xor eax, dword [rsp + 0x80]
mov cl, 1
mov qword [rsp + 0x110], rcx
jmp 0x1400a718c
cmp eax, 0x17ecc181
jle 0x1400a7469
cmp eax, 0x17ecc182
je 0x1400a7649
cmp eax, 0x26959245
je 0x1400a766d
cmp eax, 0x2745755d
jne 0x1400a718c
mov rax, qword [rsp + 0x130]
cmp byte [rsp + 0xf0], 0
jne 0x1400a7303
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x60], 0x2f7d4ef2
add rax, 4
cmp rax, 0x34
jne 0x1400a72ed
cmp r14d, 4
mov eax, 0x5d583fe2
mov ecx, 0x6d512f66
cmovl eax, ecx
xor eax, dword [rsp + 0x88]
mov cl, 1
mov qword [rsp + 0xf0], rcx
jmp 0x1400a718c
cmp eax, 0x77b2009c
je 0x1400a769c
cmp eax, 0x77b8ca1c
je 0x1400a7750
cmp eax, 0x7d360d45
jne 0x1400a718c
mov eax, dword [rsp + 0x70]
mov ecx, 0x66c82afe
xor eax, ecx
mov dword [rsp + 0x30], 3
jmp 0x1400a718c
cmp eax, 0x431144aa
je 0x1400a778d
cmp eax, 0x46794484
je 0x1400a77b4
cmp eax, 0x490510ec
jne 0x1400a718c
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm1
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x170], eax
lea rcx, [rsp + 0x150]
call fcn.1400a637f
mov rcx, qword [rsp + 0x48]
sub rcx, rax
seto al
mov qword [rsp + 0x148], rcx
cmp byte [rsp + 0xd8], 0
jne 0x1400a7411
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rsp + rdx*4 + 0x60], 0x7cbfe930
add rcx, 4
cmp rcx, 8
jne 0x1400a73fb
test al, al
mov eax, 0x1f1f9a75
mov ecx, 0x56799841
cmovne eax, ecx
xor eax, dword [rsp + 0x9c]
mov cl, 1
mov qword [rsp + 0xd8], rcx
jmp 0x1400a773d
cmp eax, 0x56259861
je 0x1400a7803
cmp eax, 0x5fb8fe27
jne 0x1400a785a
cmp r14d, 4
mov eax, 0x758574c4
mov ecx, 0x67f52452
cmove eax, ecx
xor eax, dword [rsp + 0x8c]
jmp 0x1400a718c
cmp eax, 0x33c4088
je 0x1400a7821
cmp eax, 0x549b891
jne 0x1400a718c
cmp dword [rsp + 0x2c], 4
mov eax, 0x7a0a056f
mov ecx, 0x687a55f9
cmove eax, ecx
xor eax, dword [rsp + 0xb0]
jmp 0x1400a718c
mov qword [rsp + 0x120], 0
lea rcx, [rsp + 0x120]
call qword [sym.imp.msvcrt.dll__localtime64]
mov qword [rsp + 0x138], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rsp + 0x138]
cmp byte [rsp + 0x100], 0
jne 0x1400a74fb
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x60], 0x316dbcb9
add rcx, 4
cmp rcx, 0x18
jne 0x1400a74e5
test rax, rax
mov eax, 0x7552c159
mov ecx, 0x7fd6cc80
cmove eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0x100], rcx
jmp 0x1400a773d
cmp byte [rsp + 0xe8], 0
jne 0x1400a7540
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x60], 0x775b11f8
add rax, 4
cmp rax, 0x24
jne 0x1400a752a
cmp r14d, 2
mov eax, 0x758574c4
mov ecx, 0x1da049ca
cmove eax, ecx
xor eax, dword [rsp + 0x90]
mov cl, 1
mov qword [rsp + 0xe8], rcx
jmp 0x1400a718c
mov eax, dword [rsp + 0x68]
mov ecx, 0x25a5b498
xor eax, ecx
mov r14d, 2
jmp 0x1400a718c
movabs r8, 0x7fffffffffffffff
lea rdx, [r8 + 1]
mov rcx, qword [rsp + 0xc8]
call fcn.14002349d
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call qword [sym.imp.msvcrt.dll__localtime64]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x180]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
cmp byte [rsp + 0xe0], 0
lea rbx, [0x1400ff590]
jne 0x1400a75ed
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rsp + rdx*4 + 0x60], 0x634c96ff
add rcx, 4
cmp rcx, 0x20
jne 0x1400a75d7
test rax, rax
mov eax, 0x13c38e23
mov ecx, 0x1a6eec12
cmove eax, ecx
xor eax, dword [rsp + 0x94]
mov cl, 1
mov qword [rsp + 0xe0], rcx
jmp 0x1400a773d
mov eax, dword [rsp + 0xb8]
mov ecx, 0x758574c4
xor eax, ecx
jmp 0x1400a718c
call fcn.140011264
lea rbx, [0x1400ff520]
lea rdx, [0x1400ff440]
mov eax, dword [rsp + 0x78]
mov ecx, 0x583d50b0
xor eax, ecx
jmp 0x1400a718c
mov qword [rsi], 0
mov byte [rsi + 8], 0
mov eax, dword [rsp + 0x84]
mov ecx, 0x5e2cccab
xor eax, ecx
mov r14d, 4
jmp 0x1400a718c
cmp dword [rsp + 0x34], 0
mov rax, qword [rsp + 0x148]
mov qword [rsi], rax
setg byte [rsi + 8]
mov eax, dword [rsp + 0xa4]
mov ecx, 0x34ca584
xor eax, ecx
mov dword [rsp + 0x2c], 4
jmp 0x1400a718c
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x38]
mov edx, dword [rax + 0x20]
mov dword [rcx + 0x20], edx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm1
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x170], eax
lea rcx, [rsp + 0x150]
call fcn.1400a637f
neg rax
seto cl
mov qword [rsp + 0x140], rax
cmp byte [rsp + 0xf8], 0
jne 0x1400a7720
xor eax, eax
movsxd rdx, dword [rax + rdi]
xor dword [rsp + rdx*4 + 0x60], 0x28a16966
add rax, 4
cmp rax, 8
jne 0x1400a770a
test cl, cl
mov eax, 0x709c39d6
mov ecx, 0x6187dc2c
cmovne eax, ecx
xor eax, dword [rsp + 0x74]
mov cl, 1
mov qword [rsp + 0xf8], rcx
lea rdx, [0x1400ff440]
lea rbx, [0x1400ff520]
jmp 0x1400a718c
cmp byte [rsp + 0x108], 0
jne 0x1400a7765
xor dword [rsp + 0xb4], 0x771e161b
cmp dword [rsp + 0x2c], 5
mov eax, 0x7a0a056f
mov ecx, 0x743766fd
cmove eax, ecx
xor eax, dword [rsp + 0xac]
mov cl, 1
mov qword [rsp + 0x108], rcx
jmp 0x1400a718c
mov rax, qword [rsp + 0x140]
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov eax, dword [rsp + 0x7c]
mov ecx, 0x4e694398
xor eax, ecx
mov dword [rsp + 0x30], 4
jmp 0x1400a718c
mov rax, qword [rsp + 0x40]
cmp byte [rsp + 0xd0], 0
jne 0x1400a77db
xor eax, eax
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x60], 0x1b98f6ac
add rax, 4
cmp rax, 0xc
jne 0x1400a77c5
cmp dword [rsp + 0x2c], 5
mov eax, 0x4e32c22c
mov ecx, 0x3cc3b0a1
cmovl eax, ecx
xor eax, dword [rsp + 0xa8]
mov cl, 1
mov qword [rsp + 0xd0], rcx
jmp 0x1400a718c
mov qword [rsi], 0
mov byte [rsi + 8], 0
mov eax, dword [rsp + 0xb4]
mov ecx, 0x1f6443e2
xor eax, ecx
jmp 0x1400a718c
cmp byte [rsp + 0x118], 0
jne 0x1400a7843
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x60], 0x7a21c57f
add rax, 4
cmp rax, 0x58
jne 0x1400a782d
mov eax, dword [rsp + 0x60]
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0x118], rcx
jmp 0x1400a718c
cmp eax, 0x5818fbf3
jne 0x1400a718c
mov rax, qword [rsp + 0x128]
mov rax, rsi
add rsp, 0x1c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret