Function at 0x14053c740
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x130], 0xfffffffffffffffe
mov byte [rbp + 0x127], r9b
mov byte [rbp + 0x126], r8b
mov qword [rbp + 0x88], rdx
mov rbx, rcx
call fcn.14053eb30
mov rcx, qword [0x14077d4d0]
mov edx, dword [0x14077d470]
mov r8d, 0xffff8a95
sub r8d, eax
mov dword [rbp + 0x12c], r8d
sub edx, r8d
movsxd rax, edx
add rax, rcx
call qword [0x140704440]
mov rdi, qword [rbx + 0x10]
mov dword [rbp + 0x128], eax
mov esi, eax
mov rax, rsi
shl rax, 0x1d
xor rax, rsi
movabs rcx, 0xe8fd95d147ecae8c
mov qword [rbp + 0xf0], rax
xor rcx, rax
mov rax, rdi
mov qword [rbp - 0x30], rcx
and rax, rcx
mov rcx, rsi
shl rcx, 0x20
or rcx, rsi
mov qword [rbp + 0xe0], rcx
xor rax, rcx
movabs rcx, 0xc7ecae8f47ecae8c
cmp rax, rcx
je 0x14053e133
nop
mov r13, qword [rbx]
mov qword [rbp + 0xa0], rbx
mov rax, qword [rbx + 0x18]
mov qword [rbp + 0x80], rax
mov rax, qword [0x14077d540]
mov qword [rbp + 0x30], rax
movsxd rax, dword [rax]
mov qword [rbp + 0x38], rax
mov rax, rsi
shl rax, 0x1e
xor rax, rsi
mov qword [rbp + 0x108], rax
mov eax, dword [0x140613d74]
mov dword [rbp + 0x118], eax
mov rax, qword [0x14077d548]
mov qword [rbp + 0xd8], rax
movsxd rax, dword [rax]
mov qword [rbp + 0x98], rax
mov rax, rsi
shl rax, 0x22
or rax, rsi
movabs rbx, 0xe04d45c0b8135174
mov rcx, rax
mov qword [rbp + 0xa8], rax
xor rbx, rax
add rbx, rdi
mov rax, rsi
shl rax, 0x1f
xor rax, rsi
movabs rcx, 0x5c09a8b8b813517f
mov qword [rbp + 0x100], rax
xor rcx, rax
mov qword [rbp + 0x40], rcx
cmp rbx, rcx
movabs r15, 0x5c09a8b3813517f
jbe 0x14053c949
test rbx, rbx
js 0x14053c95b
nop
mov rax, qword [rbp + 0xf0]
movabs rcx, 0x17026a2eb813517f
xor rax, rcx
and rax, rbx
mov rdx, rsi
shl rdx, 0x1b
xor rdx, rsi
xor rdx, r15
xor rdx, rbx
or rdx, rax
cmp rdx, 0x17
mov r14d, 0x16
cmovae r14, rdx
lea rcx, [r14 + 1]
mov rax, rsi
shl rax, 0x24
or rax, rsi
movabs r8, 0x81351700b8135e8e
xor r8, rax
cmp rdx, r8
ja 0x14053c96f
nop
mov rdx, qword [0x14077d4a0]
mov eax, dword [0x14077d48c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, rdx
call qword [0x140704440]
mov r12, rax
jmp 0x14053ca30
mov r14d, 0xf
lea r12, [rbp + 0xb8]
jmp 0x14053ca38
movabs r14, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
mov rax, rsi
shl rax, 0x1b
movabs rdx, 0x5c09a8b38135157
xor rdx, rsi
xor rdx, rax
add rdx, rcx
mov rcx, qword [0x14077d4a0]
mov eax, dword [0x14077d48c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, rcx
mov rcx, rdx
call qword [0x140704440]
mov rcx, rsi
shl rcx, 0x23
or rcx, rsi
movabs rdx, 0xce51c86f98d78bb3
xor rdx, rcx
movabs r8, 0xef521704bcd1b9b3
xor r8, qword [rbp + 0x108]
add r8, rdx
mov rdx, rsi
shl rdx, 0x24
or rdx, rsi
movabs r9, 0x7001ab106728744c
xor r9, rdx
movabs rdx, 0xb8135170b8135157
xor rdx, qword [rbp + 0xe0]
add rdx, r9
add rdx, r8
movabs r8, 0xfe33b727432e464c
xor r8, rcx
add r8, rdx
lea rdx, [rax + r8]
add rdx, 2
movabs r12, 0x3f65747f47ecae90
xor r12, rcx
and r12, rdx
mov qword [r12 - 8], rax
nop
mov qword [rbp + 0xb8], r12
mov rax, rsi
shl rax, 0x24
or rax, rsi
movabs rcx, 0x81351700b813517f
mov qword [rbp + 0xf8], rax
xor rcx, rax
mov qword [rbp + 0x58], rcx
cmp qword [rbp + 0x80], rcx
cmovbe r13, qword [rbp + 0xa0]
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], r14
mov rcx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, rcx
mov rcx, r12
mov rdx, r13
mov r8, rdi
call qword [0x140704440]
mov eax, dword [rbp + 0x128]
xor eax, 0x9567215f
mov dword [rbp + 0x2c], eax
mov dword [r12 + rdi], eax
mov byte [r12 + rbx], 0
mov rcx, qword [rbp + 0x88]
mov r9, qword [rcx + 0x10]
mov rax, rsi
shl rax, 0x1b
xor rax, rsi
mov qword [rbp + 0xe8], rax
xor r15, rax
mov rdx, rcx
mov qword [rbp + 0x48], r15
cmp qword [rcx + 0x18], r15
jbe 0x14053cae4
mov rdx, qword [rcx]
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
mov r8, rax
sub r8, rcx
cmp r8, r9
jae 0x14053cb2a
nop
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0xb8]
mov r8d, 0xff54f83a
call fcn.14053f9f0
mov r13, rax
mov r14d, dword [rbp + 0x12c]
jmp 0x14053cb84
mov r8, rcx
xor r8, r9
mov r10, rcx
and r10, r9
lea rdi, [r8 + r10*2]
mov qword [rbp + 0xc8], rdi
lea r13, [rbp + 0xb8]
mov rbx, r13
cmp rax, qword [rbp + 0x48]
jbe 0x14053cb58
mov rbx, qword [rbp + 0xb8]
add rcx, rbx
mov r8, qword [0x14077d4e0]
mov eax, dword [0x14077d484]
mov r14d, dword [rbp + 0x12c]
sub eax, r14d
cdqe
add rax, r8
mov r8, r9
call qword [0x140704440]
mov byte [rbx + rdi], 0
mov rax, rsi
shl rax, 0x1c
xor rax, rsi
movabs r8, 0xb813517b8135150
mov qword [rbp + 0x110], rax
xor r8, rax
mov rcx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
sub eax, r14d
cdqe
add rax, rcx
lea rdi, [rbp + 0x60]
mov rcx, rdi
mov rdx, r13
mov qword [rbp + 0x50], r8
call qword [0x140704440]
mov qword [r13 + 0x10], 0
mov rax, rsi
shl rax, 0x23
or rax, rsi
movabs rcx, 0xc09a8b80b813517f
mov qword [rbp + 0xb0], rax
xor rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [r13 + 0x18], rcx
mov byte [r13], 0
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov rdx, rax
sub rdx, rcx
movabs r8, 0x2e04d45cb813517c
xor r8, qword [rbp + 0x108]
cmp rdx, r8
movabs r10, 0x7026a2e0b813517f
movabs r9, 0x5c09a8b8b813517c
jae 0x14053cc8a
nop
movzx eax, byte [0x14077d29d]
mov ecx, dword [rbp + 0x128]
mov r8d, ecx
xor r8b, 9
cmp al, r8b
je 0x14053cd9b
mov eax, dword [rbp + 0x128]
mov ecx, eax
xor cl, 0x11
mov edx, eax
xor dl, 0xf7
nop word [rax + rax]
mov eax, ecx
lock cmpxchg byte [0x14077d29d], dl
je 0x14053cd2b
cmp al, r8b
jne 0x14053cc70
jmp 0x14053cd9b
movabs rdx, 0x5c09a8b3813517c
xor rdx, rcx
xor rdx, qword [rbp + 0xe8]
xor r9, qword [rbp + 0x100]
mov r8, rcx
and r8, r9
lea r8, [rdx + r8*2]
mov rdx, r8
mov qword [rbp + 0x90], r8
mov qword [rbp + 0x70], r8
mov rdx, rsi
shl rdx, 0x21
or rdx, rsi
xor rdx, r10
cmp rax, rdx
jbe 0x14053ccd3
mov rdi, qword [rbp + 0x60]
add rcx, rdi
movzx eax, byte [0x14077d29d]
mov edx, dword [rbp + 0x128]
mov r8d, edx
xor r8b, 9
cmp al, r8b
je 0x14053ce5d
mov eax, dword [rbp + 0x128]
mov edx, eax
xor dl, 0x11
mov r10d, eax
xor r10b, 0xf7
nop word cs:[rax + rax]
mov eax, edx
lock cmpxchg byte [0x14077d29d], r10b
je 0x14053cde8
cmp al, r8b
jne 0x14053cd10
jmp 0x14053ce5d
nop
mov r15d, dword [rbp + 0x128]
mov ecx, r15d
xor ecx, 0x14758ab8
mov r10d, r15d
xor r10d, 0xb813517d
cmp r10d, 2
mov r11d, 1
cmovge r11d, r10d
xor edi, edi
lea rbx, [0x14077d290]
lea r14, [0x140613eb0]
nop word cs:[rax + rax]
lea eax, [rcx + rdi]
xor edx, edx
div r10d
movsxd rax, edx
movzx eax, byte [rax + r14]
xor al, r15b
xor al, byte [rdi + rbx]
xor al, 0x31
mov byte [rdi + rbx], al
inc rdi
cmp r11, rdi
jne 0x14053cd70
nop
xchg byte [0x14077d29d], r8b
nop
xor r9, qword [rbp + 0x100]
movabs rax, 0xe04d45c0b813517c
xor rax, qword [rbp + 0xa8]
nop
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
lea rdx, [0x14077d290]
lea rcx, [rbp + 0x60]
mov r8d, 0xff54f83a
call fcn.14053f9f0
mov rdi, rax
mov r14d, dword [rbp + 0x12c]
jmp 0x14053ce99
nop
mov ebx, dword [rbp + 0x128]
mov r10d, ebx
xor r10d, 0x14758ab8
mov r11d, ebx
xor r11d, 0xb813517d
cmp r11d, 2
mov r14d, 1
cmovge r14d, r11d
xor r15d, r15d
lea r12, [0x14077d290]
lea r13, [0x140613eb0]
nop word cs:[rax + rax]
lea eax, [r10 + r15]
xor edx, edx
div r11d
movsxd rax, edx
movzx eax, byte [rax + r13]
xor al, bl
xor al, byte [r15 + r12]
xor al, 0x31
mov byte [r15 + r12], al
inc r15
cmp r14, r15
jne 0x14053ce30
nop
xchg byte [0x14077d29d], r8b
nop
mov rdx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
mov r14d, dword [rbp + 0x12c]
sub eax, r14d
cdqe
add rax, rdx
lea rdx, [0x14077d290]
mov r8, r9
call qword [0x140704440]
mov rax, qword [rbp + 0x90]
mov byte [rdi + rax], 0
lea rdi, [rbp + 0x60]
mov rbx, rsi
shl rbx, 0x21
or rbx, rsi
movabs r8, 0x7026a2e0b8135150
xor r8, rbx
mov rcx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
sub eax, r14d
cdqe
add rax, rcx
lea rcx, [rbp - 0x50]
mov rdx, rdi
mov qword [rbp - 0x10], r8
call qword [0x140704440]
mov qword [rdi + 0x10], 0
movabs rax, 0xe04d45c0b813517f
xor rax, qword [rbp + 0xa8]
mov qword [rbp - 0x20], rax
mov qword [rdi + 0x18], rax
mov byte [rdi], 0
mov rax, qword [rbp + 0x78]
mov rcx, rbx
mov qword [rbp + 0x90], rbx
movabs rcx, 0x7026a2e0b813517f
xor rcx, rbx
mov qword [rbp - 0x28], rcx
cmp rax, rcx
jbe 0x14053cfae
nop
mov rcx, qword [rbp + 0x60]
lea rdx, [rax + 1]
movabs r8, 0x5c09a8b8b8135e8f
xor r8, qword [rbp + 0x100]
cmp rdx, r8
jbe 0x14053cf81
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xe8fd95d147ecae88
xor rdx, qword [rbp + 0xf0]
add rdx, rcx
sub rdx, r8
cmp rdx, qword [rbp + 0x50]
jae 0x14053e157
movabs rcx, 0xb813517b8135158
xor rcx, qword [rbp + 0x110]
add rax, rcx
mov rdx, rax
mov rcx, r8
nop
mov r8d, dword [rbp + 0x128]
xor r8d, 0xe5138c4d
mov r9, qword [0x14077d4a8]
mov eax, dword [0x14077d47c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, r9
call qword [0x140704440]
nop
mov qword [rbp + 0x70], 0
movabs rax, 0xb813517b813517f
xor rax, qword [rbp + 0x110]
mov qword [rbp + 0x78], rax
mov byte [rbp + 0x60], 0
mov rax, qword [rbp + 0xd0]
cmp rax, qword [rbp + 0x40]
jbe 0x14053d0a7
nop
mov rcx, qword [rbp + 0xb8]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
movabs r8, 0x17026a2eb8135e8f
xor r8, qword [rbp + 0xf0]
cmp rdx, r8
jbe 0x14053d07a
nop
mov r8, qword [rcx - 8]
movabs rdx, 0x8fd95d1f47ecae88
xor rdx, qword [rbp + 0x90]
add rdx, rcx
sub rdx, r8
cmp rdx, qword [rbp + 0x50]
jae 0x14053e15c
movabs rcx, 0xe8840d69cdab543e
xor rcx, qword [rbp + 0x108]
movabs rdx, 0x81351700b8135158
xor rdx, qword [rbp + 0xf8]
add rdx, rcx
movabs rcx, 0x32fe13dd3254abc1
xor rcx, qword [rbp + 0x110]
add rcx, rdx
lea rdx, [rax + rcx]
inc rdx
mov rcx, r8
nop
mov r8d, dword [rbp + 0x128]
xor r8d, 0xe5138c4d
mov r9, qword [0x14077d4a8]
mov eax, dword [0x14077d47c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, r9
call qword [0x140704440]
nop
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
mov eax, dword [0x14077d550]
xor eax, dword [rbp + 0x128]
cmp eax, 0x34edb334
mov edx, dword [0x14077d538]
jne 0x14053d0f5
nop
mov dword [0x14077d560], 0x902aadde
lea eax, [rdx*2 + 1]
imul eax, edx
mov ecx, eax
sub ecx, edx
mov edx, eax
imul edx, edx
imul edx, ecx
and edx, eax
jmp 0x14053d105
nop
mov dword [0x14077d560], 0x38cde89e
lea eax, [rdx + 1]
and edx, eax
movabs rcx, 0x7fffffffffffffff
mov qword [rbp], rcx
mov dword [0x14077d538], eax
mov qword [rbp - 0x18], rdx
test edx, edx
je 0x14053d27a
xor eax, eax
mov qword [rbp + 0x98], rax
nop
mov eax, dword [0x140792f70]
add eax, dword [0x14077d55c]
xor eax, dword [rbp + 0x128]
cmp eax, 0x7f907461
movabs rax, 0x7ffffffffffffff8
movabs rcx, 0x7fffffffffffffff
cmovne rax, rcx
mov r9, qword [rbp - 8]
xor rax, r9
movabs rcx, 0x5c09a8b8b8135173
xor rcx, qword [rbp + 0x100]
and rcx, rax
mov rdx, qword [rbp - 0x30]
xor rdx, r9
or rdx, rcx
mov r8, qword [rbp + 0xf0]
xor rdx, r8
movabs rax, 0x97026a2eb8135173
cmp rdx, rax
je 0x14053e152
nop
mov rax, qword [rbp + 0xa0]
mov rsi, qword [rax]
mov rbx, qword [rax + 0x18]
movabs rax, 0x66f1450b976a3fe2
xor rax, qword [rbp + 0x108]
mov rcx, r9
sub rcx, rax
mov rax, qword [rbp + 0xb0]
xor rax, rcx
movabs rdx, 0xc09a8b80b8135174
xor rdx, rax
movabs rax, 0x1351700b8135174
mov r9, qword [rbp + 0xf8]
xor rax, r9
and rax, rcx
movabs rcx, 0xc9c08657976a3fe2
xor rcx, r9
add rcx, rdx
lea r15, [rcx + rax*2]
movabs rax, 0x17026a2eb813517f
xor rax, r8
mov qword [rbp + 0x118], rax
cmp r15, rax
jbe 0x14053d26c
test r15, r15
js 0x14053d430
mov rax, r15
or rax, qword [rbp + 0x48]
cmp rax, 0x17
mov ecx, 0x16
cmovae rcx, rax
mov qword [rbp], rcx
inc rcx
movabs rdx, 0xb813517b8135e8e
xor rdx, qword [rbp + 0x110]
cmp rax, rdx
ja 0x14053d43a
call fcn.1400954c0
mov r12, rax
jmp 0x14053d4cd
mov eax, 0xf
lea r12, [rbp + 8]
jmp 0x14053d4d7
nop
mov rdx, qword [rbp + 0xd8]
add rdx, qword [rbp + 0x98]
mov eax, dword [0x14077d554]
xor eax, dword [rbp + 0x128]
cmp eax, 0x2c4bee24
nop
mov qword [rbp + 0xd8], rdx
jne 0x14053d2bd
nop
movsxd rax, dword [rdx + 8]
lea rcx, [rdx + rax]
add rcx, 8
mov dword [0x14077d558], 0xb25ebb7a
jmp 0x14053d2c4
nop
movsxd rcx, dword [rdx]
add rcx, rdx
xor r8d, r8d
cmp dword [rbp + 0x118], 0
jle 0x14053d125
movabs rax, 0xe415947595d796a9
movabs rdx, 0x8dfdeea66a286956
xor rax, qword [rbp + 0xe0]
mov rdi, qword [rbp + 0x108]
xor rdx, rdi
add rdx, rax
add rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
lea r9, [rax + rdx]
inc r9
mov r10d, dword [0x14077d558]
mov eax, dword [rbp + 0x128]
xor r10d, eax
mov r11d, eax
xor r11d, 0xb8135178
mov esi, eax
xor esi, 0x47ecae87
movabs rbx, 0xc09a8b80b8135178
mov rdx, qword [rbp + 0xb0]
xor rbx, rdx
mov qword [rbp + 0x30], rbx
movabs r12, 0x2e04d45cb8135178
xor r12, rdi
xor eax, 0xb8135174
cdqe
mov qword [rbp + 0x38], rax
movabs rax, 0x70f61457e17f8c08
xor rax, qword [rbp + 0x90]
movabs r15, 0x3fb5c2c81e8073f7
xor r15, rdx
add r15, rax
movabs rax, 0x2e04d45cb8135173
xor rax, rdi
xor esi, r11d
xor edx, edx
mov qword [rbp + 0x98], rdx
xor r14d, r14d
jmp 0x14053d3f7
mov r13, rdx
mov ecx, eax
shl r13, cl
mov ebx, 1
mov ecx, r13d
shl rbx, cl
add rbx, r15
and rdi, rbx
inc r14d
add r8d, edx
movsxd rcx, r14d
mov rbx, qword [rbp + 0xd8]
lea rdx, [rbx + rcx*4]
movsxd rcx, dword [rbx + rcx*4]
add rcx, rdx
xor qword [rbp + 0x98], rdi
mov edx, esi
and edx, r8d
xor edx, r11d
and r8d, r11d
lea r8d, [rdx + r8*2]
cmp r8d, dword [rbp + 0x118]
jge 0x14053d12e
movsxd rdi, r8d
add rdi, r9
mov rdx, rcx
sub rdx, rdi
cmp r10d, 0x3b1ce737
jne 0x14053d420
cmp r12, rdx
mov rbx, qword [rbp + 0x38]
mov rdi, qword [rdi + rbx*8]
jg 0x14053d3a0
jmp 0x14053d3d4
nop
cmp rdx, qword [rbp + 0x30]
mov rdi, qword [rdi]
jl 0x14053d3a0
jmp 0x14053d3d4
movabs rcx, 0x8000000000000000
movabs rax, 0x81351700b8135157
mov rdi, qword [rbp + 0xf8]
xor rax, rdi
add rax, rcx
mov rcx, rax
call fcn.1400954c0
movabs rcx, 0xb813517b8135157
mov r9, qword [rbp + 0x110]
xor rcx, r9
movabs rdx, 0xab0c8b12c06ca014
xor rdx, qword [rbp + 0xe8]
movabs r8, 0xd006f966bf935feb
xor r8, rdi
add r8, rcx
add r8, rdx
lea rcx, [rax + r8]
inc rcx
mov rdx, r9
xor rdx, rcx
not rcx
movabs r8, 0x2e04d45cb813516f
xor r8, qword [rbp + 0x108]
and r8, rcx
movabs r12, 0xf47ecae847ecae90
xor r12, rdx
or r12, r8
not r12
mov qword [r12 - 8], rax
nop
mov qword [rbp + 8], r12
nop
mov rax, qword [rbp]
nop
cmp rbx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0xa0]
cmova rdx, rsi
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], rax
mov rcx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, rcx
mov rcx, r12
mov rsi, qword [rbp - 8]
mov r8, rsi
call qword [0x140704440]
mov eax, dword [rbp + 0x2c]
mov dword [r12 + rsi], eax
mov byte [r12 + r15], 0
mov rax, qword [rbp + 0x88]
mov r9, qword [rax + 0x10]
movabs rdi, 0xb8135170b813517f
xor rdi, qword [rbp + 0xe0]
cmp qword [rax + 0x18], rdi
jbe 0x14053d54f
mov rax, qword [rax]
mov qword [rbp + 0x88], rax
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
movabs rdx, 0xf64c64f9053c997e
xor rdx, qword [rbp + 0xe0]
movabs r8, 0xeda962cefac36681
xor r8, qword [rbp + 0x100]
add r8, rdx
sub r8, rcx
lea rdx, [r8 + rax]
inc rdx
cmp rdx, r9
jae 0x14053d5bc
nop
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 8]
mov rdx, qword [rbp + 0x88]
mov r8d, 0xff54f83a
call fcn.14053f9f0
mov r12, rax
mov r14d, dword [rbp + 0x12c]
jmp 0x14053d608
lea rsi, [rcx + r9]
mov qword [rbp + 0x18], rsi
lea r12, [rbp + 8]
mov rbx, r12
cmp rax, qword [rbp - 0x28]
jbe 0x14053d5d5
mov rbx, qword [rbp + 8]
add rcx, rbx
mov rdx, qword [0x14077d4e0]
mov eax, dword [0x14077d484]
mov r14d, dword [rbp + 0x12c]
sub eax, r14d
cdqe
add rax, rdx
mov rdx, qword [rbp + 0x88]
mov r8, r9
call qword [0x140704440]
mov byte [rbx + rsi], 0
movabs r15, 0x5c09a8b8b8135150
xor r15, qword [rbp + 0x100]
mov rcx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
sub eax, r14d
cdqe
add rax, rcx
lea r14, [rbp + 0xb8]
mov rcx, r14
mov rdx, r12
mov r8, r15
call qword [0x140704440]
mov qword [r12 + 0x10], 0
mov rax, qword [rbp + 0x80]
mov qword [r12 + 0x18], rax
mov byte [r12], 0
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
mov rdx, rax
sub rdx, rcx
movabs r8, 0x2e04d45cb813517f
xor r8, qword [rbp + 0x108]
mov qword [rbp + 0xa0], r8
cmp rdx, r8
jae 0x14053d6da
nop
movzx eax, byte [0x14077d2b0]
mov ecx, dword [rbp + 0x128]
mov r8d, ecx
xor r8b, 0x42
cmp al, r8b
je 0x14053d7ff
mov eax, dword [rbp + 0x128]
mov ecx, eax
xor cl, 0xf0
mov edx, eax
xor dl, 0xb1
nop dword [rax]
mov eax, ecx
lock cmpxchg byte [0x14077d2b0], dl
je 0x14053d77b
cmp al, r8b
jne 0x14053d6c0
jmp 0x14053d7ff
movabs rdx, 0x44074f412a532e12
xor rdx, qword [rbp + 0xa8]
movabs r8, 0x5034c069d5acd1ed
xor r8, qword [rbp + 0x110]
add r8, rdx
add r8, qword [rbp - 0x20]
add r8, rcx
inc r8
mov rdx, r8
mov qword [rbp + 0xd8], r8
mov qword [rbp + 0xc8], r8
cmp rax, qword [rbp + 0x40]
jbe 0x14053d727
mov r14, qword [rbp + 0xb8]
add rcx, r14
movzx eax, byte [0x14077d2b0]
mov edx, dword [rbp + 0x128]
mov r8d, edx
xor r8b, 0x42
cmp al, r8b
je 0x14053d8b3
mov eax, dword [rbp + 0x128]
mov edx, eax
xor dl, 0xf0
mov r9d, eax
xor r9b, 0xb1
nop dword [rax]
mov eax, edx
lock cmpxchg byte [0x14077d2b0], r9b
je 0x14053d83c
cmp al, r8b
jne 0x14053d760
jmp 0x14053d8b3
nop
mov eax, dword [rbp + 0x128]
mov ecx, eax
xor ecx, 0xd3cac564
mov r9d, eax
xor r9d, 0xb8135163
mov r10d, eax
xor r10b, 0x1c
mov r11d, eax
xor r11b, 0xe3
xor eax, 0xb8135160
cmp eax, 2
mov esi, 1
cmovge esi, eax
xor ebx, ebx
lea r14, [0x14077d2a0]
lea r12, [0x140613ec0]
xor r11b, r10b
nop word cs:[rax + rax]
lea eax, [rcx + rbx]
xor edx, edx
div r9d
not edx
add edx, r9d
movsxd rax, edx
movzx eax, byte [rax + r12]
and al, r11b
xor al, r10b
xor byte [rbx + r14], al
inc rbx
cmp rsi, rbx
jne 0x14053d7d0
nop
xchg byte [0x14077d2b0], r8b
nop
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
lea rdx, [0x14077d2a0]
lea rcx, [rbp + 0xb8]
mov r8d, 0xff54f83a
mov r9, rdi
call fcn.14053f9f0
mov r12, rax
mov ebx, dword [rbp + 0x12c]
jmp 0x14053d8f2
nop
mov esi, dword [rbp + 0x128]
mov r9d, esi
xor r9d, 0xd3cac564
mov r10d, esi
xor r10d, 0xb8135163
mov eax, esi
xor eax, 0xb8135160
cmp eax, 2
mov r11d, 1
cmovge r11d, eax
xor ebx, ebx
lea r12, [0x14077d2a0]
lea r13, [0x140613ec0]
nop dword [rax + rax]
lea eax, [r9 + rbx]
xor edx, edx
div r10d
not edx
add edx, r10d
movzx eax, byte [rbx + r12]
movsxd rdx, edx
xor al, byte [rdx + r13]
xor al, sil
xor al, 0x1c
mov byte [rbx + r12], al
inc rbx
cmp r11, rbx
jne 0x14053d880
nop
xchg byte [0x14077d2b0], r8b
nop
mov rdx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
mov ebx, dword [rbp + 0x12c]
sub eax, ebx
cdqe
add rax, rdx
lea rdx, [0x14077d2a0]
mov r8, qword [rbp + 0x48]
call qword [0x140704440]
mov rax, qword [rbp + 0xd8]
mov byte [r14 + rax], 0
lea r12, [rbp + 0xb8]
nop
mov rcx, qword [0x14077d4c0]
mov eax, dword [0x14077d474]
sub eax, ebx
cdqe
add rax, rcx
lea rcx, [rbp + 0x60]
mov rdx, r12
mov r8, r15
call qword [0x140704440]
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], rdi
mov byte [r12], 0
mov rax, qword [rbp + 0xd0]
cmp rax, qword [rbp + 0x80]
jbe 0x14053da50
nop
mov rcx, qword [rbp + 0xb8]
movabs rdx, 0x8f1a4e4b8170a298
xor rdx, qword [rbp + 0x100]
movabs r8, 0x94ff487c7e8f5d67
xor r8, qword [rbp + 0xe0]
add r8, rdx
lea rdx, [rax + r8]
add rdx, 2
movabs r8, 0xc09a8b80b8135e8f
mov r11, qword [rbp + 0xb0]
xor r8, r11
cmp rdx, r8
jbe 0x14053da23
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xe8fd95d147ecae88
xor rdx, qword [rbp + 0xf0]
mov r9, r11
xor r9, rdx
movabs r10, 0xc09a8b80b8135177
xor r10, r9
and r10, rcx
xor r10, rdx
movabs rdx, 0x7ecae8ff47ecae88
xor rdx, qword [rbp + 0xf8]
and rdx, rcx
lea rcx, [r10 + rdx*2]
sub rcx, r8
cmp rcx, qword [rbp + 0x50]
jae 0x14053e161
movabs rcx, 0xad9f50af3a030b9a
xor rcx, qword [rbp + 0xe8]
movabs rdx, 0xb813517b8135158
xor rdx, qword [rbp + 0x110]
movabs r9, 0x973abe5b45fcf465
xor r9, r11
add r9, rcx
add r9, rdx
lea rdx, [rax + r9]
inc rdx
mov rcx, r8
nop
mov r8d, dword [rbp + 0x128]
xor r8d, 0xe5138c4d
mov r9, qword [0x14077d4a8]
mov eax, dword [0x14077d47c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, r9
call qword [0x140704440]
nop
mov qword [rbp + 0xc8], 0
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0xd0], rax
mov byte [rbp + 0xb8], 0
mov rax, qword [rbp + 0x20]
cmp rax, qword [rbp + 0x58]
jbe 0x14053db43
nop
mov rcx, qword [rbp + 8]
movabs rdx, 0x21d7c8d7009ef942
xor rdx, qword [rbp + 0xf0]
movabs r8, 0x9b0d686ff6106bd
xor r8, qword [rbp + 0xb0]
add r8, rdx
lea rdx, [rax + r8]
add rdx, 2
movabs r8, 0x81351700b8135e8f
xor r8, qword [rbp + 0xf8]
cmp rdx, r8
jbe 0x14053db16
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xfa3f6574c7ecae88
mov r9, qword [rbp + 0xe8]
xor rdx, r9
add rdx, rcx
sub rdx, r8
movabs rcx, 0x5c09a8b38135150
xor rcx, r9
cmp rdx, rcx
jae 0x14053e166
movabs rcx, 0x81351700b8135158
xor rcx, qword [rbp + 0xf8]
add rax, rcx
mov rdx, rax
mov rcx, r8
nop
mov r8d, dword [rbp + 0x128]
xor r8d, 0xe5138c4d
mov r9, qword [0x14077d4a8]
mov eax, dword [0x14077d47c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, r9
call qword [0x140704440]
movabs r13, 0x5c09a8b883899b70
xor r13, qword [rbp + 0x100]
movabs rbx, 0xe04d45c083899b70
xor rbx, qword [rbp + 0xa8]
movabs rax, 0x68fd95d147e3eccf
xor rax, qword [rbp + 0xf0]
mov qword [rbp + 0xd8], rax
movabs r14, 0xb8135170b81c1330
xor r14, qword [rbp + 0xe0]
movabs r15, 0x7a3f6574c7ecae8f
xor r15, qword [rbp + 0xe8]
mov edi, dword [rbp + 0x128]
xor edi, 0xb8135160
movabs rax, 0x7026a2e0b81c1330
xor qword [rbp + 0x90], rax
movabs rsi, 0x747ecae847e3eccf
xor rsi, qword [rbp + 0x110]
nop dword [rax]
lea rcx, [rbp + 0x60]
call fcn.14053e820
test al, al
je 0x14053dc50
lea rcx, [rbp + 0x60]
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0x78], rax
jbe 0x14053dbf2
mov rcx, qword [rbp + 0x60]
mov edx, edi
call fcn.14053ea60
mov rcx, rax
mov qword [rbp + 0x118], rax
test rax, rax
jne 0x14053dd3a
cmp byte [rbp + 0x127], 0
jne 0x14053dd3a
call fcn.1401f20b0
mov r12, rax
call fcn.1401f20c0
mov rcx, rax
or rcx, r12
shr rcx, 0x20
je 0x14053dcdc
cqo
idiv r12
mov rcx, rax
jmp 0x14053dce3
cmp byte [rbp + 0x127], 0
jne 0x14053deb5
call fcn.1401f20b0
mov r12, rax
call fcn.1401f20c0
mov rcx, rax
or rcx, r12
shr rcx, 0x20
je 0x14053dc80
cqo
idiv r12
mov rcx, rax
jmp 0x14053dc87
xor edx, edx
div r12d
mov ecx, eax
imul rdx, rbx
mov rax, r12
or rax, rdx
shr rax, 0x20
je 0x14053dca1
mov rax, rdx
cqo
idiv r12
jmp 0x14053dca8
mov eax, edx
xor edx, edx
div r12d
imul rcx, r13
add rcx, rax
lea rax, [rcx + r14]
cmp rcx, qword [rbp + 0xd8]
cmovge rax, r15
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb8]
mov r8d, 0xd1d4a8b8
call fcn.14053f9f0
jmp 0x14053dbd0
xor edx, edx
div r12d
mov ecx, eax
imul rdx, rbx
mov rax, r12
or rax, rdx
shr rax, 0x20
je 0x14053dcfd
mov rax, rdx
cqo
idiv r12
jmp 0x14053dd04
mov eax, edx
xor edx, edx
div r12d
imul rcx, r13
add rcx, rax
mov rax, qword [rbp + 0x90]
add rax, rcx
cmp rcx, rsi
cmovge rax, r15
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb8]
mov r8d, 0xd1d4a8b8
call fcn.14053f9f0
jmp 0x14053dbd0
cmp qword [rbp + 0x118], 0
je 0x14053deb5
mov edi, dword [rbp + 0x128]
xor edi, 0xb8135130
movabs rsi, 0x2e04d45c83899b70
mov rax, qword [rbp + 0x108]
xor rsi, rax
movabs rbx, 0xc09a8b8083899b70
mov rcx, qword [rbp + 0xb0]
xor rbx, rcx
movabs r12, 0xbf65747f47e3eccf
xor r12, rcx
movabs r13, 0x5c09a8b381c1330
xor r13, qword [rbp + 0xe8]
movabs r14, 0x51fb2ba347ecae8f
xor r14, rax
cmp byte [rbp + 0x126], 0
je 0x14053ddf0
lea rcx, [rbp - 0x50]
mov rax, qword [rbp + 0xa0]
cmp qword [rbp - 0x38], rax
jbe 0x14053ddc5
mov rcx, qword [rbp - 0x50]
mov edx, edi
call fcn.14053ea60
test rax, rax
jne 0x14053dec2
cmp byte [rbp + 0x127], 0
je 0x14053de0e
jmp 0x14053dec2
lea rcx, [rbp - 0x50]
call fcn.14053e820
test al, al
jne 0x14053def7
cmp byte [rbp + 0x127], 0
jne 0x14053dec0
call fcn.1401f20b0
mov r15, rax
call fcn.1401f20c0
mov rcx, rax
or rcx, r15
shr rcx, 0x20
je 0x14053de40
cqo
idiv r15
mov rcx, rax
jmp 0x14053de47
xor edx, edx
div r15d
mov ecx, eax
imul rdx, rbx
mov rax, r15
or rax, rdx
shr rax, 0x20
je 0x14053de70
mov rax, rdx
cqo
idiv r15
jmp 0x14053de77
mov eax, edx
xor edx, edx
div r15d
imul rcx, rsi
add rcx, rax
lea rax, [rcx + r13]
cmp rcx, r12
cmovge rax, r14
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb8]
mov r8d, 0xd1d4a8b8
call fcn.14053f9f0
nop
cmp byte [rbp + 0x126], 0
je 0x14053ddf0
jmp 0x14053ddb0
xor eax, eax
mov qword [rbp + 0x118], rax
jmp 0x14053def7
xor eax, eax
nop
mov rcx, qword [0x14077d4b0]
mov edx, dword [0x14077d480]
sub edx, dword [rbp + 0x12c]
movsxd rdx, edx
add rdx, rcx
mov rcx, qword [rbp + 0x118]
mov rsi, rax
mov rax, rdx
call qword [0x140704440]
nop
mov qword [rbp + 0x118], rsi
nop
mov eax, dword [0x14077d560]
xor eax, dword [rbp + 0x128]
cmp eax, 0x9c04ca73
mov rax, qword [0x140613d58]
jne 0x14053df24
nop
mov dword [0x14077d554], 0x587d5e25
xor eax, eax
jmp 0x14053dfa6
movabs rcx, 0x736661c722c22d36
mov rdx, qword [rbp + 0x108]
xor rdx, rcx
movabs rcx, 0xa75dd0ef5d3dd2c9
mov r8, qword [rbp + 0xe8]
xor r8, rcx
add r8, rdx
cmp dword [rbp - 0x18], 1
sbb r8, 0xffffffffffffffff
movabs rcx, 0xfa1a1c81da41c1ed
xor rcx, qword [rbp + 0xf8]
movabs rdx, 0x8f51c16925be3e12
xor rdx, qword [rbp + 0x110]
add rdx, rcx
sub rdx, qword [rbp + 0x98]
add rdx, rax
inc rdx
and rdx, r8
mov rax, qword [rbp + 0xa8]
mov ecx, eax
xor cl, 0x50
mov rax, rdx
shr rax, cl
or eax, edx
add eax, dword [0x1407905c8]
nop
mov dword [0x1407905c8], eax
mov rax, qword [rbp + 0x78]
cmp rax, qword [rbp + 0x58]
jbe 0x14053e073
nop
mov rcx, qword [rbp + 0x60]
lea rdx, [rax + 1]
movabs r8, 0x17026a2eb8135e8f
mov r9, qword [rbp + 0xf0]
xor r9, r8
cmp rdx, r9
jbe 0x14053e046
nop
mov r8, qword [rcx - 8]
movabs rdx, 0x1fb2ba3f47ecae88
mov r9, qword [rbp + 0xa8]
xor r9, rdx
add r9, rcx
sub r9, r8
movabs rcx, 0xb8135170b8135150
mov rdx, qword [rbp + 0xe0]
xor rdx, rcx
cmp r9, rdx
jae 0x14053e16b
neg rax
movabs rcx, 0xa3f6574747ecaea7
mov rdx, qword [rbp + 0x100]
xor rdx, rcx
inc rdx
mov rcx, rdx
xor rcx, rax
and rdx, rax
lea rdx, [rcx + rdx*2]
neg rdx
mov rcx, r8
nop
mov r8d, dword [rbp + 0x128]
xor r8d, 0xe5138c4d
mov r9, qword [0x14077d4a8]
mov eax, dword [0x14077d47c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, r9
call qword [0x140704440]
nop
mov rax, qword [rbp - 0x38]
cmp rax, qword [rbp + 0x58]
jbe 0x14053e117
nop
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
movabs r8, 0x81351700b8135e8f
mov r9, qword [rbp + 0xf8]
xor r9, r8
cmp rdx, r9
jbe 0x14053e0ea
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xf47ecae847ecae88
mov r9, qword [rbp + 0x110]
xor r9, rdx
add r9, rcx
sub r9, r8
cmp r9, qword [rbp - 0x10]
jae 0x14053e170
movabs rcx, 0xc09a8b80b8135158
mov rdx, qword [rbp + 0xb0]
xor rdx, rcx
add rax, rdx
mov rdx, rax
mov rcx, r8
nop
mov r8d, dword [rbp + 0x128]
xor r8d, 0xe5138c4d
mov r9, qword [0x14077d4a8]
mov eax, dword [0x14077d47c]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, r9
call qword [0x140704440]
nop
mov rax, qword [rbp + 0x118]
add rsp, 0x1b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
nop
mov rcx, qword [0x14077d4d8]
mov eax, dword [0x14077d478]
sub eax, dword [rbp + 0x12c]
cdqe
add rax, rcx
call qword [0x140704440]
call fcn.14008bd90
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
int3