Function at 0x1400b6220
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1b0], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
mov eax, 0x2ea84cd
add eax, dword [0x140534170]
lea rcx, [fcn.1400b6220]
add ecx, ecx
add ecx, 0x1b00
mov edx, ecx
not edx
and edx, ecx
cmp edx, eax
jne 0x1400b629a
mov byte [rsi], 0
mov ecx, dword [rdi + 0x120]
mov eax, 0x2ea84cf
add eax, dword [0x140534170]
test ecx, eax
sete dl
or dl, byte [0x1405a6be0]
mov eax, dword [0x1405a6bc4]
cmp eax, 0x35
jle 0x1400b629f
mov byte [rsi], 0
jmp 0x1400b6270
mov al, 1
test dl, 1
je 0x1400b6496
mov eax, ecx
not eax
mov edx, ecx
xor edx, 2
mov r8d, eax
and r8d, 0xfffffffd
or r8d, edx
mov edx, 0x2ea84cf
add edx, dword [0x140534170]
not r8d
xor eax, ecx
and eax, edx
xor eax, ecx
or eax, r8d
mov dword [rdi + 0x120], eax
mov edx, dword [rdi + 0x1a4]
mov eax, edx
neg eax
mov r8d, eax
xor r8d, 0xffffff35
and eax, 0x7fffff35
lea eax, [r8 + rax*2]
neg eax
mov r14, qword [0x1405284a0]
movsxd rbx, dword [r14]
mov r8d, dword [0x14045ef80]
mov dword [rbp + 0x19c], r8d
mov dword [rdi + 0x1a4], eax
mov r8, qword [rdi + 0x110]
mov eax, 0x2ea84cd
mov r9d, dword [0x140534170]
add r9d, eax
cmp dword [r8 + 8], r9d
jne 0x1400b6348
cmp qword [r8 + 8], 0
jne 0x1400b6348
and ecx, 0xfffffffd
mov dword [rdi + 0x120], ecx
jmp 0x1400b6494
mov ecx, dword [0x140534170]
add ecx, edx
add ecx, 0x2ea8599
mov dword [rdi + 0x1a4], ecx
lea rcx, [0x14045f208]
mov qword [rbp + 0x170], rcx
mov dword [rbp + 0x178], 0
mov word [rbp + 0x17c], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
mov dword [rbp + 0x190], 0
mov rcx, qword [rdi + 0x108]
mov r10d, dword [rdi + 0x160]
mov r11d, r10d
add eax, dword [0x140534170]
and r11d, 0x4000
mov r15d, r10d
xor r15d, 0xefffffff
mov r12d, dword [rdi + 0x178]
mov r13d, dword [rdi + 0x16c]
mov r9d, dword [rdi + 0x168]
mov r8d, dword [rdi + 0x11c]
mov edx, dword [rdi + 0x118]
cmp r11d, eax
setne byte [rsp + 0x38]
test r15d, r10d
lea rax, [rbp + 0x170]
mov qword [rsp + 0x40], rax
setne byte [rsp + 0x30]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r13d
mov dword [rsp + 0x58], 0x55af0027
mov dword [rsp + 0x50], 0xfaa0fbc5
mov dword [rsp + 0x48], 0xec2b097b
call fcn.140108d80
test eax, eax
je 0x1400b642b
and byte [rdi + 0x120], 0xfd
jmp 0x1400b6494
mov rax, rbx
xor rax, r14
and rbx, r14
movzx edx, byte [0x140534180]
add dl, 0xe6
movzx ecx, byte [rbp + 0x17b]
movzx r8d, byte [rbp + 0x17c]
cmp byte [rbp + 0x17a], dl
jne 0x1400b645e
test cl, cl
jne 0x1400b645e
test r8b, r8b
je 0x1400b6465
or byte [rdi + 0x162], 0x20
lea rax, [rax + rbx*2]
mov qword [rbp + 0xe0], rax
mov edx, dword [0x1405a6bc0]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, 0x2ea84cf
add r9d, dword [0x140534170]
xor edx, edx
div r9d
test edx, edx
jne 0x1400b64cd
jmp 0x1400b64aa
xor eax, eax
add rsp, 0x238
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [rdi + 0x1a4]
lea edx, [rax + 1]
mov dword [rdi + 0x1a4], edx
movzx edx, byte [rbp + 0x178]
mov r9d, dword [0x1405a6bc4]
cmp r9d, 0x20
jle 0x1400b64d9
mov dword [rdi + 0x1a4], 0
jmp 0x1400b64aa
test dl, dl
je 0x1400b66f4
lea rdx, [fcn.1400b6220]
add edx, edx
add edx, 0x30c0
mov r9d, dword [0x1405a6bc4]
cmp r9d, 0x37
jg 0x1400b652d
mov r9d, dword [rdi + 0x160]
mov r10d, r9d
xor r10d, 0xffffbfff
test r10d, r9d
sete r9b
cmp byte [rbp + 0x179], 0
sete r10b
mov r11d, dword [0x1405a6bc4]
cmp r11d, 0x2e
jle 0x1400b6563
mov r9d, dword [0x140534170]
mov r10d, r9d
xor r10d, 0x2ea84ce
mov r11d, r9d
and r11d, 0x2ea84ce
lea r10d, [r10 + r11*2]
xor r10d, edx
not r10d
and r10d, edx
add r9d, 0x2ea84cd
cmp r10d, r9d
jne 0x1400b64f0
jmp 0x1400b64fd
or r9b, r10b
je 0x1400b6843
mov edx, dword [0x140534170]
add eax, edx
add eax, 0x2ea84cf
mov dword [rdi + 0x1a4], eax
mov eax, dword [rdi + 0x160]
mov edx, eax
not edx
mov r9d, edx
and r9d, 0x4000
mov r10d, eax
and r10d, 0xffffbfff
or r10d, r9d
xor r10d, edx
and r10d, eax
mov dword [rdi + 0x160], r10d
xor eax, 0x8000000
and edx, 0xf7ffffff
or edx, eax
or cl, r8b
sete al
cmp edx, 0xffffffff
je 0x1400b670e
test al, al
jne 0x1400b670e
lea r14, [rbp - 0x20]
mov rcx, r14
mov edx, 0x5189cc3f
mov r8d, 0x403a8fae
mov r9d, 0xd60464c2
call fcn.140108f40
mov ecx, dword [rbp - 0x20]
mov eax, 0x88888889
imul rax, rcx
shr rax, 0x25
add eax, dword [0x140534170]
sub eax, dword [rbp + 0x190]
add eax, 0x2ea84cd
mov dword [rbp + 0xe8], eax
mov ecx, dword [rdi + 0x170]
cmp ecx, 0xffffffff
je 0x1400b6626
neg ecx
cmp eax, ecx
jl 0x1400b663d
mov ecx, dword [rdi + 0x174]
cmp ecx, 0xffffffff
je 0x1400b66d0
cmp eax, ecx
jle 0x1400b66d0
movzx edx, word [0x1405a684e]
mov rcx, qword [rdi + 0x190]
mov dword [rsp + 0x20], 0x9df43620
mov r8d, 0xa1d32870
mov r9d, 0x9d432009
call fcn.1400b1fa0
mov rcx, r14
mov rdx, rax
call fcn.1400b4d00
mov eax, 0x408
add rax, qword [rdi + 0x108]
mov edx, dword [rdi + 0x118]
lea rcx, [rbp + 0xe8]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x30], 0x186a9
lea rcx, [rbp + 0x130]
xor r8d, r8d
mov r9d, 4
call fcn.140114a30
lea rcx, [rbp - 0x20]
call fcn.140071730
jmp 0x1400b6cf6
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400b66d0
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400b66d0
jmp 0x1400b670e
add eax, 2
mov dword [rdi + 0x1a4], eax
mov eax, 0x2ea44cc
add eax, dword [0x140534170]
and dword [rdi + 0x160], eax
inc dword [rdi + 0x1a4]
mov ecx, dword [rdi + 0x160]
mov eax, ecx
and eax, 0xf7ffffff
mov dword [rdi + 0x160], eax
mov eax, dword [rbp + 0x184]
mov r8d, 0x2ebd64d
add r8d, dword [0x140534170]
cdq
idiv r8d
mov dword [rbp + 0x1ac], eax
movsxd rax, dword [rbp + 0x188]
imul rbx, rax, 0xffffffffc22e4507
shr rbx, 0x20
add ebx, eax
mov eax, ebx
shr eax, 0x1f
sar ebx, 0x10
add ebx, eax
cmp byte [rbp + 0x178], 0
je 0x1400b6960
not ecx
or ecx, 0xffefffff
cmp ecx, 0xffffffff
je 0x1400b6960
cmp byte [rbp + 0x17c], 0
je 0x1400b6960
cmp byte [rbp + 0x17d], 0
jne 0x1400b6960
movsxd rax, ebx
mov qword [rbp + 0xe8], rax
movzx edx, word [0x1405a6886]
mov rcx, qword [rdi + 0x190]
mov dword [rsp + 0x20], 0x9df43620
mov r8d, 0xa1d32870
mov r9d, 0x9d432009
call fcn.1400b1fa0
lea r14, [rbp - 0x20]
mov rcx, r14
mov rdx, rax
call fcn.1400b4d00
xor ecx, ecx
mov edx, 1
mov r8d, 0x1c3f2204
mov r9d, 0x918ab091
call fcn.140106c90
lea r15, [rbp + 0x130]
mov rcx, r15
mov rdx, rax
call fcn.1400b4d00
nop word cs:[rax + rax]
mov eax, dword [0x1405a6bc4]
cmp eax, 0xc
jg 0x1400b6836
mov edx, dword [rdi + 0x118]
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1400b68d0
mov eax, dword [0x1405a6bc4]
cmp eax, 0x36
jge 0x1400b6810
jmp 0x1400b681b
movzx edx, word [0x1405a684c]
mov rcx, qword [rdi + 0x190]
mov dword [rsp + 0x20], 0x9df43620
mov r8d, 0xa1d32870
mov r9d, 0x9d432009
call fcn.1400b1fa0
test rax, rax
lea rbx, [0x14045d8d8]
cmovne rbx, rax
movabs rax, 0xc30fae27f90b632b
add rax, qword [0x140534178]
lea r14, [rbp - 0x18]
mov qword [rbp - 8], rax
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov rcx, rbx
mov edx, 0x79466bed
mov r8d, 0x57efa1dc
call fcn.1400af3a0
mov r15, rax
cmp rax, 0xf
jbe 0x1400b6b06
mov rcx, r14
mov rdx, r15
mov r9, rbx
call fcn.14008d4c0
jmp 0x1400b6b1e
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a8
lea rcx, [rbp + 0x110]
xor r8d, r8d
mov r9d, 2
call fcn.140114a30
lea rcx, [rbp + 0x130]
call fcn.140071730
lea rcx, [rbp - 0x20]
call fcn.140071730
cmp dword [rbp + 0x110], 2
sete al
movzx ecx, byte [0x1405a6bd8]
test cl, al
jne 0x1400b6d09
xor cl, al
jne 0x1400b6d09
mov eax, 0x2ea8ccd
add eax, dword [0x140534170]
or dword [rdi + 0x120], eax
nop word [rax + rax]
mov eax, dword [0x1405a6bc4]
cmp eax, 0x39
jle 0x1400b6976
mov eax, dword [0x1405a6bc4]
cmp eax, 0x21
jge 0x1400b6960
add dword [rdi + 0x1a4], 0xffffff31
mov ecx, dword [rdi + 0x18c]
test ecx, ecx
je 0x1400b6b43
cmp byte [rbp + 0x17a], 0
je 0x1400b6b43
mov eax, dword [rbp + 0x180]
test eax, eax
je 0x1400b6b43
cmp eax, ecx
jae 0x1400b6b43
mov ecx, dword [rdi + 0x120]
mov edx, ecx
not edx
mov r8d, dword [0x140534170]
lea r9d, [r8 + 0x2ea88cd]
add r8d, 0x2ea84cc
xor r8d, r9d
and r8d, edx
xor ecx, 0x400
or ecx, r8d
cmp ecx, 0xffffffff
jne 0x1400b6b43
mov qword [rbp + 0xe8], rax
movzx edx, word [0x1405a6880]
mov rcx, qword [rdi + 0x190]
mov dword [rsp + 0x20], 0x9df43620
mov r8d, 0xa1d32870
mov r9d, 0x9d432009
call fcn.1400b1fa0
lea r14, [rbp - 0x20]
mov rcx, r14
mov rdx, rax
call fcn.1400b4d00
xor ecx, ecx
mov edx, 1
mov r8d, 0x1c3f2204
mov r9d, 0x918ab091
call fcn.140106c90
lea r15, [rbp + 0x130]
mov rcx, r15
mov rdx, rax
call fcn.1400b4d00
mov edx, dword [rdi + 0x118]
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a2
lea rcx, [rbp + 0x110]
xor r8d, r8d
mov r9d, 2
call fcn.140114a30
lea rcx, [rbp + 0x130]
call fcn.140071730
lea rcx, [rbp - 0x20]
call fcn.140071730
mov rax, qword [rbp + 0x110]
movabs rcx, 0xffffffff00000000
xor rcx, rax
and rcx, rax
cmp rcx, 2
jne 0x1400b6b3c
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400b6af0
mov byte [rsi], 1
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1400b6494
mov byte [rsi], 1
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400b6ac7
jmp 0x1400b6ad8
mov qword [rbp - 8], r15
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.140440940
mov byte [rbp + r15 - 0x18], 0
mov eax, dword [0x1405a6bc4]
mov ecx, 0x2ea84f1
add ecx, dword [0x140534170]
cmp eax, ecx
jl 0x1400b6c33
jmp 0x1400b6c64
or byte [rdi + 0x121], 4
xor r14d, r14d
cmp byte [rbp + 0x17b], 0
je 0x1400b6b68
cmp dword [rbp + 0x184], 0
js 0x1400b6b68
mov eax, dword [rbp + 0x1ac]
cmp eax, dword [rdi + 0x188]
setle r14b
mov ecx, 0x2ea84cf
nop dword [rax]
movzx eax, byte [0x140534180]
add al, 0xe6
cmp byte [rbp + 0x17c], al
setne r8b
cmp dword [rbp + 0x188], 0
setns r9b
mov edx, dword [0x1405a6bc0]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140534170]
add r10d, ecx
xor edx, edx
div r10d
test edx, edx
je 0x1400b6bbd
nop dword [rax]
mov eax, dword [0x1405a6bc4]
cmp eax, 0x33
jge 0x1400b6bb0
jmp 0x1400b6b70
and r8b, r9b
je 0x1400b6bce
cmp ebx, dword [rdi + 0x188]
setle r15b
jmp 0x1400b6bd1
xor r15d, r15d
mov eax, 0x2ea84cd
nop word cs:[rax + rax]
mov edx, dword [0x140528498]
mov ecx, dword [0x1405a6bc0]
lea r8d, [rcx - 1]
imul r8d, ecx
and r8d, 1
mov ecx, dword [0x140534170]
add ecx, eax
cmp r8d, ecx
jne 0x1400b6be0
mov qword [rbp + 0x158], rbx
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x2ea84cd
add eax, dword [0x140534170]
cmp ecx, eax
je 0x1400b6d19
jmp 0x1400b6d3e
lea rax, [0x14045cff8]
mov qword [rbp - 0x20], rax
mov eax, 0x408
add rax, qword [rdi + 0x108]
mov edx, dword [rdi + 0x118]
mov ecx, dword [0x1405a6bc0]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
je 0x1400b6c7a
lea rax, [0x14045cff8]
mov cl, 1
nop dword [rax]
mov qword [rbp - 0x20], rax
test cl, cl
je 0x1400b6c70
jmp 0x1400b6c33
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x186a6
lea rcx, [rbp + 0x130]
xor r8d, r8d
mov r9d, 4
call fcn.140114a30
mov rax, qword [rbp]
cmp rax, 0x10
jb 0x1400b6cf6
mov rcx, qword [rbp - 0x18]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b6cf1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400b6cfe
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400ad790
mov byte [rsi], 1
jmp 0x1400b6494
mov eax, dword [0x1405a6bc4]
call fcn.1403f89dc
movzx eax, byte [0x140534180]
add al, 0xe7
mov byte [rsi], al
jmp 0x1400b6494
lea ecx, [rdx + 1]
mov dword [0x140528498], ecx
mov eax, dword [0x1405a6bc4]
mov r8d, 0x2ea8509
add r8d, dword [0x140534170]
cmp eax, r8d
jl 0x1400b6dbe
lea eax, [rdx + rdx]
mov r8d, edx
neg r8d
mov r9d, 0x2ea84d8
nop dword [rax]
mov r10d, edx
mov ecx, eax
shl r10d, cl
mov ecx, edx
sub ecx, r10d
imul ecx, r10d
mov r10d, r8d
xor r10d, ecx
mov r11d, r8d
and r11d, ecx
lea r10d, [r10 + r11*2]
mov r11d, r10d
sub r11d, ecx
imul r11d, ecx
sub r10d, r11d
imul r10d, r11d
mov ebx, r10d
sub ebx, r11d
imul ebx, r11d
mov ecx, r10d
sub ecx, ebx
imul ecx, ebx
mov r11d, r10d
shl r11d, cl
add r11d, r10d
mov dword [0x140528498], r11d
mov ecx, dword [0x1405a6bc4]
mov r10d, dword [0x140534170]
add r10d, r9d
cmp ecx, r10d
jge 0x1400b6d50
jmp 0x1400b6d19
mov dword [rbp + 0x16c], r15d
mov dword [rbp + 0x168], r14d
test edx, ecx
je 0x1400b6dd4
xor eax, eax
jmp 0x1400b6de9
xor r8d, r8d
mov eax, 0
cmp dword [rbp + 0x19c], 0
jg 0x1400b6ea4
mov r8d, dword [0x1405a6bc4]
mov r8d, dword [0x1405a6bc4]
cmp r8d, 0x1e
jg 0x1400b6df0
mov r8d, dword [0x1405a6bc4]
cmp r8d, 0x50
mov r15d, dword [rbp + 0x168]
mov r12d, dword [rbp + 0x16c]
jl 0x1400b6e25
mov r8b, 1
nop dword [rax + rax]
test r8b, r8b
je 0x1400b6e20
cmp dword [rdi + 0x188], 0
je 0x1400b72ab
mov r8d, r15d
or r8b, r12b
je 0x1400b72ab
mov ebx, 0xfffffdff
xor ebx, dword [rdi + 0x120]
test edx, ecx
setne dl
movzx r13d, byte [0x14045ef7c]
mov ecx, dword [0x1405a6bc4]
mov r8d, 0x2ea8520
add r8d, dword [0x140534170]
cmp ecx, r8d
jl 0x1400b6e84
nop
mov ecx, dword [0x1405a6bc0]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
jne 0x1400b6e70
sub dl, byte [0x140534180]
add dl, 0x19
sub r13b, al
mov eax, dword [0x1405a6bc4]
cmp eax, 0x59
jl 0x1400b706f
jmp 0x1400b7080
mov r9d, 0x2ea84cd
mov r10d, 0x2ea84ce
lea r11, [fcn.1400b6220]
lea eax, [r11 + r11]
add eax, 0xb60
mov dword [rbp + 0x164], eax
mov r14b, 1
xor eax, eax
jmp 0x1400b6ef0
and al, r12b
or al, bl
inc r8d
cmp r8d, dword [rbp + 0x19c]
jge 0x1400b6de9
nop word cs:[rax + rax]
mov ebx, dword [0x1405a6bc0]
lea r12d, [rbx - 1]
imul r12d, ebx
and r12d, 1
mov ebx, dword [0x140534170]
add ebx, r9d
cmp r12d, ebx
jne 0x1400b6ef0
mov ebx, dword [0x140534170]
add ebx, r10d
test dword [rbp + 0x164], ebx
je 0x1400b6f3b
nop word cs:[rax + rax]
mov ebx, dword [0x1405a6bc4]
cmp ebx, 0xc
jge 0x1400b6f30
movsxd rbx, r8d
add rbx, qword [rbp + 0xe0]
mov r12d, dword [0x1405a6bc4]
cmp r12d, 0x14
jge 0x1400b6fb0
mov r12d, dword [0x1405a6bc0]
lea r13d, [r12 - 1]
imul r13d, r12d
and r13d, 1
mov r12d, dword [0x140534170]
mov r15d, r12d
xor r15d, 0x2ea84cd
and r12d, 0x2ea84cd
lea r15d, [r15 + r12*2]
cmp r13d, r15d
jne 0x1400b6fb0
movzx r12d, byte [rbx]
mov ebx, eax
not bl
and bl, r12b
not r12b
mov r15d, dword [0x1405a6bc4]
cmp r15d, 0x49
jge 0x1400b7010
jmp 0x1400b6fbf
mov r15d, dword [0x1405a6bc4]
cmp r15d, 0x10
jge 0x1400b6fb0
jmp 0x1400b6f52
mov r15d, dword [0x1405a6bc0]
lea r13d, [r15 - 1]
imul r13d, r15d
and r13d, 1
mov r15d, dword [0x140534170]
add r15d, r9d
cmp r13d, r15d
jne 0x1400b7050
test r14b, r14b
je 0x1400b7050
mov r15d, dword [0x1405a6bc0]
lea r13d, [r15 - 1]
imul r13d, r15d
and r13d, 1
mov r15d, dword [0x140534170]
add r15d, r9d
cmp r13d, r15d
je 0x1400b6ecd
nop dword [rax]
mov r15d, dword [0x140534170]
mov r13d, r15d
xor r13d, 0x2ea84cd
and r15d, 0x2ea84cd
add r15d, r15d
add r15d, r13d
mov r15d, dword [0x1405a6bc0]
lea r13d, [r15 - 1]
imul r13d, r15d
test r13b, 1
jne 0x1400b7010
jmp 0x1400b6fbf
mov r15d, dword [0x140534170]
add r15d, r10d
lea r13d, [r11 + r11]
add r13d, 0xfe0
test r13d, r15d
jne 0x1400b7050
jmp 0x1400b6fe1
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1400b70b1
mov eax, 0x2ea84cd
nop word cs:[rax + rax]
mov ecx, dword [0x1405a6bc0]
lea r8d, [rcx - 1]
imul r8d, ecx
and r8d, 1
mov ecx, dword [0x140534170]
add ecx, eax
cmp r8d, ecx
jne 0x1400b7090
jmp 0x1400b706f
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400b75ee
jmp 0x1400b758a
mov qword [rbp + 0x1a0], 0
mov eax, r15d
and al, r12b
cmp al, 1
jne 0x1400b70f6
mov rax, qword [rbp + 0x158]
mov ecx, dword [rbp + 0x1ac]
cmp ecx, eax
cmovl eax, ecx
cdqe
jmp 0x1400b7127
mov eax, dword [0x1405a6bc4]
cmp eax, 0x60
mov rcx, qword [rbp + 0x158]
mov eax, dword [0x1405a6bc4]
cmp eax, 0x10
jge 0x1400b7106
test r15b, r15b
je 0x1400b711f
movsxd rax, dword [rbp + 0x1ac]
jmp 0x1400b7127
test r12b, r12b
je 0x1400b712e
movsxd rax, ecx
mov qword [rbp + 0x1a0], rax
lea rcx, [rbp - 0x20]
mov edx, 1
call fcn.1400b7b80
movzx edx, word [0x1405a6882]
mov rcx, qword [rdi + 0x190]
call fcn.140260f30
lea rbx, [rbp - 0x10]
mov rcx, rbx
mov rdx, rax
call fcn.1400b7db0
mov rdx, qword [rbp + 0x1a0]
mov rcx, rbx
call fcn.1400b8290
lea rcx, [rbp - 8]
lea rdx, [rbp + 0x110]
call fcn.140106a70
lea rbx, [rbp + 0x130]
lea rdx, [rbp + 0x110]
mov rcx, rbx
call fcn.1400b8700
xor ecx, ecx
mov edx, 1
mov r8d, 0x1c3f2204
mov r9d, 0x918ab091
call fcn.140106c90
lea r14, [rbp + 0xe8]
mov rcx, r14
mov rdx, rax
call fcn.1400b4d00
mov edx, dword [0x1405a6bdc]
add edx, dword [rdi + 0x118]
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a1
lea rcx, [rbp + 0xd8]
xor r8d, r8d
mov r9d, 2
call fcn.140114a30
lea rcx, [rbp + 0xe8]
call fcn.140071730
lea rcx, [rbp + 0x130]
call fcn.140071730
lea rcx, [rbp + 0x110]
call fcn.140089970
cmp dword [rbp + 0xd8], 2
jne 0x1400b7247
mov byte [rsi], 1
lea rcx, [rbp - 0x20]
call fcn.1400b87e0
jmp 0x1400b6494
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400b7275
jmp 0x1400b725a
or byte [rdi + 0x121], 2
lea rcx, [rbp - 0x20]
call fcn.1400b87e0
mov eax, dword [0x1405a6bc4]
cmp eax, 0x17
jl 0x1400b72ab
mov eax, dword [rdi + 0x120]
mov ecx, eax
neg ecx
mov edx, 0x200
sub edx, eax
mov r8d, ecx
xor r8d, edx
and edx, ecx
lea ecx, [r8 + rdx*2]
mov edx, eax
and edx, ecx
xor eax, ecx
xor eax, edx
mov dword [rdi + 0x120], eax
lea rcx, [rbp - 0x20]
call fcn.1400b87e0
jmp 0x1400b725a
cmp byte [rbp + 0x178], 0
je 0x1400b755d
mov eax, dword [rdi + 0x184]
test eax, eax
je 0x1400b755d
mov r14d, dword [rbp + 0x18c]
cmp eax, r14d
ja 0x1400b755d
mov eax, dword [rdi + 0x120]
mov ecx, dword [0x140534170]
lea edx, [rcx + 0x2ea84cc]
mov r8d, eax
xor r8d, edx
add ecx, 0x2ea85cd
xor ecx, edx
xor eax, 0x100
xor ecx, r8d
not ecx
and ecx, r8d
or ecx, eax
xor ecx, edx
jne 0x1400b755d
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400b73ba
mov qword [rbp + 0xe8], r14
movzx edx, word [0x1405a6884]
mov rcx, qword [rdi + 0x190]
mov eax, dword [0x140534170]
lea r8d, [rax - 0x5b4252c3]
lea r9d, [rax - 0x5fd25b2a]
mov r10d, eax
xor r10d, 0xa0debaed
and eax, 0x20debaed
lea eax, [r10 + rax*2]
mov dword [rsp + 0x20], eax
call fcn.1400b1fa0
lea rbx, [rbp - 0x20]
mov rcx, rbx
mov rdx, rax
call fcn.1400b4d00
mov r9d, dword [0x140534170]
lea ecx, [r9 + 0x2ea84cd]
lea edx, [r9 + 0x2ea84ce]
lea r8d, [r9 + 0x1f29a6d1]
add r9d, 0x9475355e
call fcn.140106c90
mov ecx, dword [0x1405a6bc0]
mov edx, dword [0x140534170]
add edx, ecx
add edx, 0xfd157b32
imul edx, ecx
test dl, 1
je 0x1400b7424
mov eax, r14d
mov qword [rbp + 0xe8], rax
movzx edx, word [0x1405a6884]
mov rcx, qword [rdi + 0x190]
mov dword [rsp + 0x20], 0x9df43620
mov r8d, 0xa1d32870
mov r9d, 0x9d432009
call fcn.1400b1fa0
lea rcx, [rbp - 0x20]
mov rdx, rax
call fcn.1400b4d00
mov r9d, dword [0x140534170]
lea ecx, [r9 + 0x2ea84cd]
lea edx, [r9 + 0x2ea84ce]
lea r8d, [r9 + 0x1f29a6d1]
add r9d, 0x9475355e
call fcn.140106c90
jmp 0x1400b7322
lea r14, [rbp + 0x130]
mov rcx, r14
mov rdx, rax
call fcn.1400b4d00
mov edx, dword [rdi + 0x118]
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a7
lea rcx, [rbp + 0x110]
xor r8d, r8d
mov r9d, 2
call fcn.140114a30
mov eax, 0x2ea84ce
add eax, dword [0x140534170]
lea rcx, [fcn.1400b6220]
add ecx, ecx
add ecx, 0x1380
test ecx, eax
jne 0x1400b74e3
jmp 0x1400b749c
lea rcx, [rbp + 0x130]
call fcn.140071730
lea rcx, [rbp - 0x20]
call fcn.140071730
mov rax, qword [rbp + 0x110]
mov rcx, qword [0x140534178]
mov edx, dword [0x1405a6bc0]
mov r8d, dword [0x140534170]
neg r8d
add r8d, edx
add r8d, 0xfd157b32
imul r8d, edx
test r8b, 1
je 0x1400b74fa
lea rcx, [rbp + 0x130]
call fcn.140071730
lea rcx, [rbp - 0x20]
call fcn.140071730
jmp 0x1400b749c
movabs rdx, 0xc30fae27f90b632a
add rdx, rcx
movabs r8, 0xc30fae28f90b632a
add r8, rcx
xor r8, rdx
not rdx
mov rcx, rax
and rcx, rdx
or rdx, rax
not rdx
or rdx, rcx
mov ecx, 0xffffffff
xor rcx, rax
mov rax, rdx
not rax
xor rdx, r8
xor r8, rax
and r8, rax
or r8, rdx
not r8
or r8, rcx
not r8
cmp r8, 2
je 0x1400b6d09
or byte [rdi + 0x121], 1
mov edx, dword [rdi + 0x120]
mov ecx, edx
not ecx
mov al, 1
test ecx, 0x700
je 0x1400b6496
xor edx, 0xfffffffd
and ecx, 2
or ecx, edx
not ecx
mov dword [rdi + 0x120], ecx
jmp 0x1400b6496
cmp dword [0x140534170], 0xfd157b33
jne 0x1400b75bb
test r13b, dl
setne al
or al, byte [0x1405a6bd8]
and al, 1
mov byte [0x1405a6bd8], al
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1400b75e3
mov eax, edx
sub al, r13b
mov r8d, eax
mov ecx, edx
shl r8b, cl
test al, r8b
setne al
movzx ecx, byte [0x1405a6bd8]
add cl, al
mul cl
and al, 1
mov byte [0x1405a6bd8], al
jmp 0x1400b7596
mov eax, dword [0x1405a6bc4]
cmp eax, 0x3d
jle 0x1400b75fe
mov eax, dword [0x1405a6bc4]
cmp eax, 0x1d
jle 0x1400b764f
jmp 0x1400b76c2
mov eax, dword [0x1405a6bc0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x2ea84cd
add eax, dword [0x140534170]
cmp ecx, eax
jne 0x1400b7630
mov eax, dword [0x1405a6bc4]
cmp eax, 0x48
jl 0x1400b763e
nop word [rax + rax]
cmp dword [0x140534170], 0xfd157b33
jne 0x1400b7630
jmp 0x1400b761c
test ebx, 0x200
je 0x1400b70cb
jmp 0x1400b72ab
mov eax, r13d
mov ecx, edx
shl al, cl
movzx r8d, byte [0x140534180]
mov r9d, r8d
xor r9b, 0xe6
mov ecx, r8d
and cl, 0x66
add cl, cl
add cl, r9b
sub cl, al
add cl, dl
shl al, cl
mov r9d, eax
shl r9b, cl
add r8b, 0xe6
mov ecx, r8d
sub cl, al
add cl, r9b
and cl, al
cmp cl, r8b
setne al
movzx r8d, byte [0x1405a6bd8]
xor r8b, al
mul r8b
mov ecx, eax
add r8b, al
sub al, r8b
mul r8b
or al, cl
and al, 1
mov byte [0x1405a6bd8], al
mov eax, dword [0x1405a6bc4]
cmp eax, 0x47
jl 0x1400b758a
mov r8d, r13d
mov ecx, edx
shl r8b, cl
mov eax, r13d
sub al, r8b
mul r8b
mov r9d, eax
mov ecx, r8d
shl r9b, cl
sub r9b, al
sub al, r9b
mul r9b
mov r8d, r9d
sub r8b, al
mov ecx, r9d
shl r8b, cl
mov eax, r8d
mov ecx, r8d
shl al, cl
shl al, cl
sub cl, al
neg al
mul r8b
mov r9d, eax
sub cl, al
mov eax, ecx
mul r9b
mov r10d, eax
sub r10b, r9b
mov eax, r10d
sub al, dl
mul dl
mov ecx, eax
shl r10b, cl
sub cl, r10b
mov eax, r10d
shl al, cl
mov r9d, r10d
mov ecx, eax
shl r9b, cl
mov ecx, r9d
shl r10b, cl
mov ecx, r10d
neg cl
mov eax, ecx
xor al, r9b
and cl, r9b
add cl, cl
add cl, al
mov eax, r10d
sub al, cl
mul cl
mov ecx, eax
xor cl, al
not cl
and cl, r10b
xor cl, al
and r10b, al
add r10b, r10b
mov eax, ecx
xor al, r10b
and r10b, cl
add r10b, r10b
add r10b, al
mov ecx, r10d
shl r8b, cl
movzx r11d, byte [0x140534180]
lea r14d, [r11 - 0x1a]
mov ecx, r14d
sub cl, r8b
add cl, r10b
mov r9d, ecx
sub r9b, r8b
shl r9b, cl
mov eax, r9d
sub al, r10b
mul r10b
mov r8d, eax
mov ecx, r10d
shl r8b, cl
add r11b, al
sub al, r8b
mul r8b
mov ecx, eax
sub r11b, al
add r11b, 0xe6
mov eax, r11d
mul cl
mov r8d, eax
shl r8b, cl
mov eax, r8d
sub al, cl
mul cl
mov ecx, eax
shl r8b, cl
mov eax, r9d
neg al
mul r9b
lea ecx, [r14 + rax]
add cl, r8b
add al, cl
mul cl
add al, cl
mov r8d, r14d
sub r8b, al
add r8b, cl
mov ecx, r8d
sub cl, al
mov eax, ecx
mul r8b
mov ecx, eax
xor cl, r8b
and al, r8b
add al, al
add al, cl
mov ecx, eax
sub cl, r8b
sub cl, al
add cl, r9b
neg cl
mov r8d, r9d
shl r8b, cl
sub r8b, r9b
sub r9b, r8b
mov eax, r9d
mul r8b
mov ecx, r8d
shl al, cl
sub r14b, al
mov eax, r14d
xor al, r8b
and r14b, r8b
add r14b, r14b
add r14b, al
test r14b, r8b
setne cl
lea eax, [rcx + rcx]
add al, cl
mul cl
and al, 1
mov byte [0x1405a6bd8], al
jmp 0x1400b764f