Function at 0x7eb5f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1e8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x150], xmm6
mov qword [rbp], r9
mov r14, rcx
mov rax, qword [rbp + 0x1e0]
mov qword [r14 + 0x46a98], rax
mov qword [r14 + 0x3d368], rdx
mov qword [r14 + 0x3d320], r8
mov qword [r14 + 0x3d328], rax
mov eax, dword [r14 + 0x3d360]
xor ecx, ecx
cmp eax, 2
jb 0x7eb7f6
mov ecx, 2
je 0x7eb7f6
mov ecx, 4
cmp eax, 5
jb 0x7eb7f6
mov ecx, 6
cmp eax, 9
jb 0x7eb7f6
mov ecx, 8
cmp eax, 0x11
jb 0x7eb7f6
mov ecx, 0xa
cmp eax, 0x21
jb 0x7eb7f6
mov ecx, 0xc
cmp eax, 0x41
jb 0x7eb7f6
mov ecx, 0xe
cmp eax, 0x81
jb 0x7eb7f6
mov ecx, 0x10
cmp eax, 0x101
jb 0x7eb7f6
mov ecx, 0x12
cmp eax, 0x201
jb 0x7eb7f6
mov ecx, 0x14
cmp eax, 0x401
jb 0x7eb7f6
mov ecx, 0x16
cmp eax, 0x801
jb 0x7eb7f6
mov ecx, 0x18
cmp eax, 0x1001
jb 0x7eb7f6
mov ecx, 0x1a
cmp eax, 0x2001
jb 0x7eb7f6
mov ecx, 0x1c
cmp eax, 0x4001
jb 0x7eb7f6
mov ecx, 0x1e
cmp eax, 0x8001
jb 0x7eb7f6
mov ecx, 0x20
cmp eax, 0x10001
jb 0x7eb7f6
mov ecx, 0x22
cmp eax, 0x20001
jb 0x7eb7f6
mov ecx, 0x24
cmp eax, 0x40001
jb 0x7eb7f6
mov ecx, 0x26
cmp eax, 0x80001
jb 0x7eb7f6
mov ecx, 0x28
cmp eax, 0x100001
jb 0x7eb7f6
mov ecx, 0x2a
cmp eax, 0x200001
jb 0x7eb7f6
mov ecx, 0x2c
cmp eax, 0x400001
jb 0x7eb7f6
mov ecx, 0x2e
cmp eax, 0x800001
jb 0x7eb7f6
mov ecx, 0x30
cmp eax, 0x1000001
jb 0x7eb7f6
mov ecx, 0x32
cmp eax, 0x2000001
jb 0x7eb7f6
mov ecx, 0x34
cmp eax, 0x4000001
jb 0x7eb7f6
mov ecx, 0x36
cmp eax, 0x8000001
jb 0x7eb7f6
mov ecx, 0x38
cmp eax, 0x10000001
jb 0x7eb7f6
mov ecx, 0x3a
cmp eax, 0x20000001
jb 0x7eb7f6
xor ecx, ecx
cmp eax, 0x40000000
seta cl
lea ecx, [rcx + rcx + 0x3c]
mov rsi, qword [rbp + 0x1d0]
mov dword [r14 + 0x33bd0], ecx
mov dword [r14 + 0x3d354], 0
mov dword [r14 + 0x3d35c], 0
cmp qword [r14 + 0x3d318], 0
jne 0x7eb84b
mov edx, 0x10000
mov rcx, rsi
call qword [rsi]
mov qword [r14 + 0x3d318], rax
test rax, rax
je 0x7ef416
add rax, 0x10000
mov qword [r14 + 0x3d310], rax
mov ebx, dword [r14 + 0x33bd8]
add ebx, dword [r14 + 0x33bd4]
mov rdx, qword [r14 + 0x33be8]
test rdx, rdx
je 0x7eb878
cmp qword [r14 + 0x3d388], 0
je 0x7eb878
cmp dword [r14 + 0x3d2e4], ebx
je 0x7eb8ee
mov rcx, rsi
call qword [rsi + 8]
mov rdx, qword [r14 + 0x3d388]
mov rcx, rsi
call qword [rsi + 8]
mov qword [r14 + 0x33be8], 0
mov qword [r14 + 0x3d388], 0
mov eax, 0x300
mov ecx, ebx
shl eax, cl
movsxd rdi, eax
add rdi, rdi
mov rcx, rsi
mov rdx, rdi
call qword [rsi]
mov qword [r14 + 0x33be8], rax
mov rcx, rsi
mov rdx, rdi
call qword [rsi]
mov qword [r14 + 0x3d388], rax
mov rdx, qword [r14 + 0x33be8]
test rax, rax
je 0x7ef3ed
test rdx, rdx
je 0x7ef3ed
mov dword [r14 + 0x3d2e4], ebx
mov rax, qword [rbp + 0x1d8]
lea rdi, [r14 + 0x38]
mov edx, dword [r14 + 0x3d360]
xor ecx, ecx
cmp edx, 0x1000000
seta cl
mov dword [r14 + 0xb0], ecx
mov r9d, dword [r14 + 0x32f70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x111
mov r8d, 0x1000
mov rcx, rdi
call fcn.007f0830
test eax, eax
je 0x7ef416
mov qword [r14 + 0x30], rdi
mov rcx, rdi
mov rdx, r14
call fcn.007f16f0
mov rcx, r14
call fcn.007eaa50
mov rcx, r14
call fcn.007eb1c0
mov qword [r14 + 0x3d348], 0
lea rax, [r14 + 0x326dc]
mov qword [rbp + 0x88], rax
lea rax, [r14 + 0x3d2f0]
mov qword [rbp + 0x148], rax
lea rax, [r14 + 0x32f78]
mov qword [rbp - 8], rax
lea rax, [r14 + 0x4fc]
mov qword [rbp - 0x38], rax
lea rax, [r14 + 0x38a9c]
mov qword [rbp - 0x40], rax
lea rax, [r14 + 0x324dc]
mov qword [rbp - 0x10], rax
lea rax, [r14 + 0x34254]
mov qword [rbp - 0x48], rax
lea rax, [r14 + 0x4dc]
mov qword [rbp + 0x10], rax
lea rax, [r14 + 0x50c]
mov qword [rbp + 0xa0], rax
lea rax, [r14 + 0x65c]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x50], r14
nop word cs:[rax + rax]
mov rax, qword [r14 + 0x3d368]
test rax, rax
je 0x7eba23
mov rcx, qword [r14 + 0x46a98]
mov qword [r14 + 0x90], rcx
mov qword [r14 + 0x80], rax
mov rcx, qword [r14 + 0x30]
call qword [r14]
mov qword [r14 + 0x3d368], 0
mov eax, dword [r14 + 0x3d35c]
mov ecx, dword [r14 + 0x3d354]
or ecx, eax
jne 0x7ef368
cmp dword [r14 + 0x3d338], 0
je 0x7ef3c3
mov dword [r14 + 0x3d35c], 9
mov eax, 9
cmp dword [r14 + 0xc4], 0
jne 0x7ef43a
test eax, eax
jne 0x7ef44a
mov rcx, qword [r14 + 0x3d348]
test rcx, rcx
mov rax, rcx
mov qword [rbp + 0x58], rax
mov r15d, ecx
jne 0x7ebc14
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
test eax, eax
je 0x7ef3d5
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
mov dword [r14 + 0x4d8], eax
mov rcx, qword [r14 + 0x30]
mov rdx, qword [rbp + 0x88]
call qword [r14 + 0x20]
test eax, eax
je 0x7ebad5
add eax, 0xfffffffe
mov eax, dword [r14 + rax*4 + 0x326dc]
cmp eax, dword [r14 + 0x32f70]
jne 0x7ebad5
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov edx, dword [r14 + 0x32f74]
mov ebx, dword [r14 + 0x32f88]
inc edx
mov dword [r14 + 0x32f74], edx
mov rax, rbx
shl rax, 5
movzx edi, word [r14 + rax + 0x33bf0]
mov ecx, dword [r14 + 0x3d2f0]
shr ecx, 0xb
imul ecx, edi
mov dword [r14 + 0x3d2f0], ecx
mov esi, 0x800
sub esi, edi
shr esi, 5
add esi, edi
mov word [r14 + rax + 0x33bf0], si
cmp ecx, 0xffffff
ja 0x7ebb51
shl ecx, 8
mov dword [r14 + 0x3d2f0], ecx
mov rcx, qword [rbp + 0x148]
call fcn.007f0480
mov edx, dword [r14 + 0x32f74]
mov ebx, dword [r14 + 0x32f88]
mov eax, ebx
lea rcx, [0x008a66f0]
mov eax, dword [rcx + rax*4]
mov dword [r14 + 0x32f88], eax
mov rcx, qword [r14 + 0x30]
neg edx
call qword [r14 + 8]
mov r15, qword [r14 + 0x33be8]
movzx edi, al
or edi, 0x100
mov rcx, qword [rbp + 0x148]
nop word cs:[rax + rax]
mov r8d, edi
shr r8d, 8
movzx esi, word [r15 + r8*2]
mov eax, dword [rcx]
mov ebx, eax
shr ebx, 0xb
imul ebx, esi
test dil, dil
js 0x7ebbc0
mov dword [rcx], ebx
mov edx, 0x800
sub edx, esi
shr edx, 5
add edx, esi
jmp 0x7ebbdd
mov edx, ebx
add qword [r14 + 0x3d2f8], rdx
sub eax, ebx
mov dword [r14 + 0x3d2f0], eax
mov edx, esi
shr edx, 5
sub esi, edx
mov ebx, eax
mov edx, esi
mov word [r15 + r8*2], dx
cmp ebx, 0xffffff
ja 0x7ebbfb
shl ebx, 8
mov dword [rcx], ebx
call fcn.007f0480
mov rcx, qword [rbp + 0x148]
add edi, edi
cmp edi, 0x10000
jb 0x7ebb90
dec dword [r14 + 0x32f74]
mov rax, qword [rbp + 0x58]
lea r15d, [rax + 1]
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
test eax, eax
je 0x7ef350
mov r9, qword [rbp + 0x148]
nop dword [rax + rax]
mov dword [rbp + 0x13c], r15d
cmp dword [r14 + 0x3d2e8], 0
je 0x7ebc60
cmp dword [r14 + 0x32f74], 0
je 0x7ebca0
mov edi, dword [r14 + 0x4d0]
mov r15d, dword [r14 + 0x4d4]
jmp 0x7ebd87
mov eax, dword [r14 + 0x4cc]
cmp dword [r14 + 0x4c8], eax
jne 0x7ebd4a
mov qword [r14 + 0x4c8], 0
cmp dword [r14 + 0x32f74], 0
je 0x7ec0ec
mov r15d, dword [r14 + 0x4d0]
mov r12d, dword [r14 + 0x4d4]
jmp 0x7ec28d
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
mov dword [r14 + 0x4d8], eax
mov rcx, qword [r14 + 0x30]
mov rdx, qword [rbp + 0x88]
call qword [r14 + 0x20]
mov r15d, eax
test r15d, r15d
je 0x7ebd77
lea eax, [r15 - 2]
mov edi, dword [r14 + rax*4 + 0x326dc]
cmp edi, dword [r14 + 0x32f70]
jne 0x7ebd79
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov ecx, dword [r14 + 0x4d8]
cmp ecx, 0x111
mov edx, 0x111
cmovae ecx, edx
cmp edi, ecx
jae 0x7ebd79
dec rax
lea edx, [r15 - 1]
mov esi, dword [r14 + rdx*4 + 0x326dc]
inc esi
mov rdx, rax
sub rdx, rsi
mov r9, qword [rbp + 0x148]
nop word cs:[rax + rax]
mov esi, edi
movzx ebx, byte [rax + rsi]
cmp bl, byte [rdx + rsi]
jne 0x7ebd41
inc edi
cmp edi, ecx
jb 0x7ebd30
inc dword [r14 + 0x32f74]
jmp 0x7ebd87
lea rcx, [rax + rax*2]
shl rcx, 4
mov edx, dword [r14 + rcx + 0x4f4]
mov r12d, dword [r14 + rcx + 0x4f8]
mov dword [r14 + 0x4cc], edx
sub edx, eax
mov qword [rbp + 0x140], rdx
jmp 0x7ee660
xor edi, edi
mov r9, qword [rbp + 0x148]
inc dword [r14 + 0x32f74]
mov r13d, dword [r14 + 0x4d8]
cmp r13d, 2
jae 0x7ebdb0
mov r12d, 0xffffffff
mov eax, 1
mov qword [rbp + 0x140], rax
jmp 0x7ee667
cmp r13d, 0x111
mov eax, 0x111
cmovae r13d, eax
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
lea rdx, [rax - 1]
mov r10b, byte [rax - 1]
mov esi, dword [r14 + 0x32f78]
inc esi
sub rdx, rsi
xor r8d, r8d
cmp r10b, byte [rdx]
mov r9d, 0
jne 0x7ebe40
neg rsi
mov dl, byte [rax]
cmp dl, byte [rax + rsi]
mov r9d, 0
jne 0x7ebe40
mov ecx, 2
cmp r13d, 3
jb 0x7ebe23
mov edx, r13d
add rsi, rax
mov ecx, 2
movzx ebx, byte [rax + rcx - 1]
cmp bl, byte [rsi + rcx - 1]
jne 0x7ebe23
inc rcx
cmp rcx, rdx
jb 0x7ebe10
xor r12d, r12d
cmp ecx, dword [r14 + 0x32f70]
mov r9d, ecx
jae 0x7ec085
nop word cs:[rax + rax]
mov esi, dword [r14 + 0x32f7c]
inc esi
mov rdx, rax
sub rdx, rsi
cmp r10b, byte [rdx - 1]
jne 0x7ebec0
neg rsi
mov dl, byte [rax]
cmp dl, byte [rax + rsi]
jne 0x7ebec0
mov ecx, 2
cmp r13d, 3
jb 0x7ebe93
mov edx, r13d
add rsi, rax
mov ecx, 2
nop word cs:[rax + rax]
movzx ebx, byte [rax + rcx - 1]
cmp bl, byte [rsi + rcx - 1]
jne 0x7ebe93
inc rcx
cmp rcx, rdx
jb 0x7ebe80
mov r12d, 1
cmp ecx, dword [r14 + 0x32f70]
jae 0x7ec085
xor r8d, r8d
cmp ecx, r9d
seta r8b
cmova r9d, ecx
nop word cs:[rax + rax]
mov edx, dword [r14 + 0x32f80]
inc edx
mov rbx, rax
sub rbx, rdx
cmp r10b, byte [rbx - 1]
jne 0x7ebf30
neg rdx
mov bl, byte [rax]
cmp bl, byte [rax + rdx]
jne 0x7ebf30
mov r12d, 2
cmp r13d, 3
mov ecx, 2
jb 0x7ebf13
mov esi, r13d
add rdx, rax
mov ecx, 2
nop dword [rax + rax]
movzx ebx, byte [rax + rcx - 1]
cmp bl, byte [rdx + rcx - 1]
jne 0x7ebf13
inc rcx
cmp rcx, rsi
jb 0x7ebf00
cmp ecx, dword [r14 + 0x32f70]
jae 0x7ec085
cmp ecx, r9d
cmova r9d, ecx
mov edx, 2
cmova r8d, edx
mov edx, dword [r14 + 0x32f84]
inc edx
mov rbx, rax
sub rbx, rdx
cmp r10b, byte [rbx - 1]
jne 0x7ebfa6
neg rdx
mov cl, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x7ebfa6
mov ecx, 2
cmp r13d, 3
jb 0x7ebf83
mov ebx, r13d
mov rsi, rax
add rsi, rdx
mov ecx, 2
nop dword [rax + rax]
movzx edx, byte [rax + rcx - 1]
cmp dl, byte [rsi + rcx - 1]
jne 0x7ebf83
inc rcx
cmp rcx, rbx
jb 0x7ebf70
mov r12d, 3
cmp ecx, dword [r14 + 0x32f70]
jae 0x7ec085
cmp ecx, r9d
cmova r9d, ecx
mov eax, 3
cmova r8d, eax
mov eax, r9d
mov qword [rbp + 0x140], rax
mov r12d, r8d
cmp edi, dword [r14 + 0x32f70]
mov r9, qword [rbp + 0x148]
jae 0x7ec0b1
xor esi, esi
cmp edi, 2
jb 0x7ec03c
lea eax, [r15 - 1]
mov esi, dword [r14 + rax*4 + 0x326dc]
cmp r15d, 3
jb 0x7ec027
mov eax, r15d
mov ecx, 0xfffffffd
add rax, rcx
nop dword [rax + rax]
lea ecx, [rax - 1]
mov ecx, dword [r14 + rcx*4 + 0x326dc]
lea edx, [rcx + 1]
cmp edi, edx
jne 0x7ec027
mov ebx, esi
shr ebx, 7
mov edx, eax
mov edx, dword [r14 + rdx*4 + 0x326dc]
cmp ebx, edx
jbe 0x7ec027
add r15d, 0xfffffffe
add rax, 0xfffffffffffffffe
cmp r15d, 3
mov esi, edx
mov edi, ecx
jae 0x7ebff0
cmp esi, 0x7f
mov eax, edi
mov ecx, 1
cmova eax, ecx
cmp edi, 2
cmovne eax, edi
mov edi, eax
mov rcx, qword [rbp + 0x140]
cmp ecx, 2
mov r15d, dword [rbp + 0x13c]
jb 0x7ec18d
lea eax, [rcx + 1]
cmp eax, edi
jae 0x7ec080
cmp esi, 0x200
jb 0x7ec069
lea eax, [rcx + 2]
cmp eax, edi
jae 0x7ec080
cmp esi, 0x8000
jb 0x7ec18d
lea eax, [rcx + 3]
cmp eax, edi
jb 0x7ec18d
lea edx, [rcx - 1]
jmp 0x7ec09d
mov qword [rbp + 0x140], rcx
mov edx, ecx
dec edx
mov r15d, dword [rbp + 0x13c]
je 0x7ec779
add dword [r14 + 0x32f74], edx
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x28]
jmp 0x7ec785
dec r15d
mov r12d, dword [r14 + r15*4 + 0x326dc]
add r12d, 4
mov edx, edi
dec edx
je 0x7ebd9a
add dword [r14 + 0x32f74], edx
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x28]
mov r9, qword [rbp + 0x148]
mov qword [rbp + 0x140], rdi
jmp 0x7ee667
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
mov dword [r14 + 0x4d8], eax
mov rcx, qword [r14 + 0x30]
mov rdx, qword [rbp + 0x88]
call qword [r14 + 0x20]
mov r12d, eax
test r12d, r12d
je 0x7ec283
lea eax, [r12 - 2]
mov r15d, dword [r14 + rax*4 + 0x326dc]
cmp r15d, dword [r14 + 0x32f70]
jne 0x7ec286
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov edi, dword [r14 + 0x4d8]
cmp edi, 0x111
mov ecx, 0x111
cmovae edi, ecx
cmp r15d, edi
jae 0x7ec286
dec rax
lea edx, [r12 - 1]
mov ebx, dword [r14 + rdx*4 + 0x326dc]
inc ebx
mov rdx, rax
sub rdx, rbx
nop
mov ebx, r15d
movzx ecx, byte [rax + rbx]
cmp cl, byte [rdx + rbx]
jne 0x7ec286
inc r15d
cmp r15d, edi
jb 0x7ec170
jmp 0x7ec286
cmp r13d, 3
jb 0x7ec9ce
cmp edi, 2
jb 0x7ec9ce
mov r12d, esi
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
mov dword [r14 + 0x4d8], eax
mov rcx, qword [r14 + 0x30]
mov rdx, qword [rbp + 0x88]
call qword [r14 + 0x20]
mov r15d, eax
test r15d, r15d
je 0x7ec635
lea eax, [r15 - 2]
mov esi, dword [r14 + rax*4 + 0x326dc]
cmp esi, dword [r14 + 0x32f70]
jne 0x7ec232
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov r9d, dword [r14 + 0x4d8]
cmp r9d, 0x111
mov ecx, 0x111
cmovae r9d, ecx
cmp esi, r9d
jae 0x7ec232
dec rax
lea edx, [r15 - 1]
mov r8d, dword [r14 + rdx*4 + 0x326dc]
inc r8d
mov rdx, rax
sub rdx, r8
nop
mov ebx, esi
movzx ecx, byte [rax + rbx]
cmp cl, byte [rdx + rbx]
jne 0x7ec232
inc esi
cmp esi, r9d
jb 0x7ec220
inc dword [r14 + 0x32f74]
mov dword [r14 + 0x4d4], r15d
mov dword [r14 + 0x4d0], esi
cmp esi, 2
jb 0x7ec647
dec r15d
mov eax, dword [r14 + r15*4 + 0x326dc]
cmp esi, edi
jb 0x7ec97f
cmp eax, r12d
jae 0x7ec97f
mov r12d, 0xffffffff
mov eax, 1
mov qword [rbp + 0x140], rax
jmp 0x7ee660
xor r15d, r15d
inc dword [r14 + 0x32f74]
mov esi, dword [r14 + 0x4d8]
cmp esi, 2
jae 0x7ec2b0
mov eax, 1
mov qword [rbp + 0x140], rax
mov r12d, 0xffffffff
jmp 0x7ee660
cmp esi, 0x111
mov eax, 0x111
cmovae esi, eax
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
lea rdx, [rax - 1]
movzx r8d, byte [rax - 1]
mov rcx, qword [rbp - 8]
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x60], xmm0
mov ecx, dword [r14 + 0x32f78]
inc ecx
sub rdx, rcx
xor r11d, r11d
cmp r8b, byte [rdx]
jne 0x7ec335
neg rcx
mov dl, byte [rax]
mov bl, byte [rax + rcx]
xor r11d, r11d
cmp dl, bl
sete r11b
add r11d, r11d
cmp dl, bl
jne 0x7ec335
cmp esi, 3
jb 0x7ec335
mov edx, esi
add rcx, rax
mov r11d, 2
nop word cs:[rax + rax]
movzx ebx, byte [rax + r11 - 1]
cmp bl, byte [rcx + r11 - 1]
jne 0x7ec335
inc r11
cmp r11, rdx
jb 0x7ec320
mov dword [rbp + 0x70], r11d
mov ecx, dword [r14 + 0x32f7c]
inc ecx
mov rdx, rax
sub rdx, rcx
cmp r8b, byte [rdx - 1]
mov qword [rbp + 0x130], r12
jne 0x7ec3ae
neg rcx
mov dl, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x7ec3ae
mov edx, 2
cmp esi, 3
jb 0x7ec393
mov edi, esi
add rcx, rax
mov edx, 2
nop word cs:[rax + rax]
movzx ebx, byte [rax + rdx - 1]
cmp bl, byte [rcx + rdx - 1]
jne 0x7ec393
inc rdx
cmp rdx, rdi
jb 0x7ec380
mov ecx, 1
mov qword [rbp + 0x140], rcx
mov dword [rbp + 0x74], edx
xor r12d, r12d
cmp edx, r11d
seta r12b
jmp 0x7ec3c4
mov ecx, 1
mov qword [rbp + 0x140], rcx
mov dword [rbp + 0x74], 0
xor r12d, r12d
mov ecx, dword [r14 + 0x32f80]
inc ecx
mov rdx, rax
sub rdx, rcx
cmp r8b, byte [rdx - 1]
jne 0x7ec426
neg rcx
mov dl, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x7ec426
mov edx, 2
cmp esi, 3
jb 0x7ec413
mov edi, esi
add rcx, rax
mov edx, 2
nop word [rax + rax]
movzx ebx, byte [rax + rdx - 1]
cmp bl, byte [rcx + rdx - 1]
jne 0x7ec413
inc rdx
cmp rdx, rdi
jb 0x7ec400
mov dword [rbp + 0x78], edx
cmp edx, dword [rbp + r12*4 + 0x70]
mov ecx, 2
cmova r12d, ecx
jmp 0x7ec42d
mov dword [rbp + 0x78], 0
mov ecx, dword [r14 + 0x32f84]
inc ecx
mov rdx, rax
sub rdx, rcx
cmp r8b, byte [rdx - 1]
jne 0x7ec488
neg rcx
mov dl, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x7ec488
mov edx, 2
cmp esi, 3
jb 0x7ec473
mov edi, esi
add rcx, rax
mov edx, 2
movzx ebx, byte [rax + rdx - 1]
cmp bl, byte [rcx + rdx - 1]
jne 0x7ec473
inc rdx
cmp rdx, rdi
jb 0x7ec460
mov dword [rbp + 0x7c], edx
mov ecx, r12d
cmp edx, dword [rbp + rcx*4 + 0x70]
mov ecx, 3
cmova r12d, ecx
jmp 0x7ec48f
mov dword [rbp + 0x7c], 0
mov ecx, r12d
mov esi, dword [rbp + rcx*4 + 0x70]
mov ecx, dword [r14 + 0x32f70]
cmp esi, ecx
jae 0x7ec4d0
cmp r15d, ecx
jae 0x7ec4f7
mov ecx, dword [rbp + 0x60]
inc ecx
mov rdx, rax
sub rdx, rcx
mov r9b, byte [rdx - 1]
cmp esi, 1
ja 0x7ec535
cmp r15d, 1
ja 0x7ec535
cmp r8b, r9b
je 0x7ec535
mov r12d, 0xffffffff
jmp 0x7ee660
mov edx, esi
dec edx
je 0x7ee660
add dword [r14 + 0x32f74], edx
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x28]
mov eax, esi
mov qword [rbp + 0x140], rax
jmp 0x7ee660
mov rax, qword [rbp + 0x130]
dec eax
mov r12d, dword [r14 + rax*4 + 0x326dc]
add r12d, 4
mov edx, r15d
dec edx
je 0x7ee660
add dword [r14 + 0x32f74], edx
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x28]
mov eax, r15d
mov qword [rbp + 0x140], rax
jmp 0x7ee660
mov qword [rbp + 0x110], rsi
mov ebx, dword [r14 + 0x32f88]
mov dword [r14 + 0x4e0], ebx
mov r10d, dword [r14 + 0x33be4]
mov ecx, dword [rbp + 0x13c]
and r10d, ecx
mov edx, dword [r14 + 0x33be0]
and edx, ecx
mov ecx, dword [r14 + 0x33bd4]
shl edx, cl
movzx esi, byte [rax - 2]
mov eax, 8
sub eax, ecx
mov ecx, eax
shr esi, cl
add esi, edx
shl esi, 8
lea r12d, [rsi + rsi*2]
add r12, r12
add r12, qword [r14 + 0x33be8]
mov rax, rbx
shl rax, 5
add rax, r14
mov qword [rbp + 0xe0], rax
movzx eax, word [rax + r10*2 + 0x33bf0]
mov qword [rbp + 0x128], rax
shr rax, 2
and eax, 0x3ffc
mov rcx, rbx
mov qword [rbp + 0xf8], rcx
cmp rbx, 7
mov eax, dword [r14 + rax + 0x324dc]
mov dword [rbp + 0xf0], eax
mov qword [rbp + 0x100], r8
mov byte [rbp + 0xb0], r9b
jae 0x7ec7b8
lea eax, [r8 + 0x100]
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, eax
shr edx, 8
movzx edx, word [r12 + rdx*2]
mov ebx, eax
shr ebx, 7
and ebx, 1
neg ebx
and ebx, 0x7f0
xor ebx, edx
shr ebx, 4
add ecx, dword [r14 + rbx*4 + 0x324dc]
add eax, eax
cmp eax, 0x10000
jb 0x7ec600
jmp 0x7ec81e
inc dword [r14 + 0x32f74]
mov qword [r14 + 0x4d0], 0
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov r8b, byte [rax - 1]
mov r10, rax
dec r10
lea r9d, [rdi - 1]
mov ebx, dword [r14 + 0x32f78]
inc ebx
mov rsi, r10
sub rsi, rbx
cmp r8b, byte [rsi]
mov r15d, dword [rbp + 0x13c]
jne 0x7ec6a8
mov bl, byte [rax]
cmp bl, byte [rsi + 1]
jne 0x7ec6a8
cmp r9d, 3
jb 0x7ec773
mov ebx, 2
nop
mov edx, ebx
movzx ecx, byte [r10 + rdx]
cmp cl, byte [rsi + rdx]
jne 0x7ec6a8
inc ebx
cmp ebx, r9d
jb 0x7ec690
jmp 0x7ec773
mov edx, dword [r14 + 0x32f7c]
inc edx
mov rsi, r10
sub rsi, rdx
cmp r8b, byte [rsi]
jne 0x7ec6f5
mov dl, byte [rax]
cmp dl, byte [rsi + 1]
jne 0x7ec6f5
cmp r9d, 3
jb 0x7ec773
mov ebx, 2
nop word cs:[rax + rax]
mov edx, ebx
movzx ecx, byte [r10 + rdx]
cmp cl, byte [rsi + rdx]
jne 0x7ec6f5
inc ebx
cmp ebx, r9d
jb 0x7ec6e0
jmp 0x7ec773
mov edx, dword [r14 + 0x32f80]
inc edx
mov rsi, r10
sub rsi, rdx
cmp r8b, byte [rsi]
jne 0x7ec735
mov dl, byte [rax]
cmp dl, byte [rsi + 1]
jne 0x7ec735
cmp r9d, 3
jb 0x7ec773
mov ebx, 2
nop dword [rax + rax]
mov edx, ebx
movzx ecx, byte [r10 + rdx]
cmp cl, byte [rsi + rdx]
jne 0x7ec735
inc ebx
cmp ebx, r9d
jb 0x7ec720
jmp 0x7ec773
mov edx, dword [r14 + 0x32f84]
inc edx
mov rcx, r10
sub rcx, rdx
cmp r8b, byte [rcx]
jne 0x7ec791
mov al, byte [rax]
cmp al, byte [rcx + 1]
jne 0x7ec791
cmp r9d, 3
jb 0x7ec773
mov eax, 2
nop dword [rax + rax]
mov edx, eax
movzx ebx, byte [r10 + rdx]
cmp bl, byte [rcx + rdx]
jne 0x7ec791
inc eax
cmp eax, r9d
jb 0x7ec760
mov r12d, 0xffffffff
mov eax, 1
mov qword [rbp + 0x140], rax
mov r9, qword [rbp + 0x148]
jmp 0x7ee66e
add r12d, 4
mov edx, edi
add edx, 0xfffffffe
je 0x7ec9e5
add dword [r14 + 0x32f74], edx
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x28]
mov qword [rbp + 0x140], rdi
jmp 0x7ec785
movzx eax, r9b
lea edx, [r8 + 0x100]
mov ebx, pe_nt_image_headers64
xor ecx, ecx
nop word [rax + rax]
lea r8d, [rax + rax]
mov r13d, ebx
and r13d, r8d
mov r9d, edx
shr r9d, 8
add r9d, ebx
add r9d, r13d
movzx esi, word [r12 + r9*2]
mov edi, edx
shr edi, 7
and edi, 1
neg edi
and edi, 0x7f0
xor edi, esi
shr edi, 4
add ecx, dword [r14 + rdi*4 + 0x324dc]
xor eax, edx
add eax, eax
add edx, edx
not eax
and ebx, eax
cmp edx, 0x10000
mov eax, r8d
jb 0x7ec7d0
add ecx, dword [rbp + 0xf0]
mov dword [r14 + 0x50c], ecx
mov dword [r14 + 0x528], 0xffffffff
mov dword [r14 + 0x514], 0
mov rax, qword [rbp + 0x128]
xor eax, 0x7f0
shr eax, 2
and eax, 0x3ffc
mov r13d, dword [r14 + rax + 0x324dc]
mov rdx, qword [rbp + 0xf8]
movzx eax, word [r14 + rdx*2 + 0x33d70]
xor eax, 0x7f0
shr eax, 2
and eax, 0x3ffc
mov r9d, dword [r14 + rax + 0x324dc]
add r9d, r13d
mov al, byte [rbp + 0xb0]
cmp byte [rbp + 0x100], al
mov r12d, 0xffffffff
jne 0x7ec8fc
movzx eax, word [r14 + rdx*2 + 0x33d88]
shr rax, 2
and eax, 0x3ffc
mov rdx, qword [rbp + 0xe0]
movzx edx, word [rdx + r10*2 + 0x33dd0]
shr rdx, 2
and edx, 0x3ffc
mov eax, dword [r14 + rax + 0x324dc]
add eax, r9d
add eax, dword [r14 + rdx + 0x324dc]
cmp eax, ecx
jae 0x7ec8fc
mov dword [r14 + 0x50c], eax
mov dword [r14 + 0x528], 0
mov dword [r14 + 0x514], 0
xor r12d, r12d
mov rbx, qword [rbp + 0x110]
cmp r15d, ebx
cmovae ebx, r15d
cmp ebx, 2
jb 0x7ee660
mov dword [r14 + 0x524], 0
movups xmm0, xmmword [rbp + 0x60]
mov rax, qword [rbp - 0x38]
movups xmmword [rax], xmm0
mov ecx, ebx
lea edx, [rbx + 3]
mov qword [rbp + 0x110], rbx
lea eax, [rbx - 2]
and edx, 3
je 0x7ec9f6
lea rsi, [rcx + rcx*2]
shl rsi, 4
add rsi, qword [rbp + 0x10]
neg edx
mov r12, qword [rbp + 0x130]
nop word cs:[rax + rax]
mov dword [rsi], 0x40000000
dec rcx
add rsi, 0xffffffffffffffd0
inc edx
jne 0x7ec960
cmp eax, 3
jae 0x7eca02
jmp 0x7eca3c
lea ebx, [rdi + 1]
cmp esi, ebx
sete cl
mov edx, eax
shr edx, 7
cmp edx, r12d
setbe dl
cmp esi, ebx
mov r9, qword [rbp + 0x148]
mov r15d, dword [rbp + 0x13c]
ja 0x7ec9ce
and cl, dl
jne 0x7ec9ce
cmp edi, 3
jb 0x7ec647
inc esi
cmp esi, edi
jb 0x7ec647
mov ecx, r12d
shr ecx, 7
cmp ecx, eax
ja 0x7ec26c
jmp 0x7ec647
mov r12d, 0xffffffff
mov eax, 1
mov qword [rbp + 0x140], rax
jmp 0x7ee66e
mov eax, 2
mov qword [rbp + 0x140], rax
jmp 0x7ec785
mov r12, qword [rbp + 0x130]
cmp eax, 3
jb 0x7eca3c
lea rax, [rcx + rcx*2]
shl rax, 4
add rax, qword [rbp + 0x10]
nop
mov dword [rax], 0x40000000
mov dword [rax - 0x30], 0x40000000
mov dword [rax - 0x60], 0x40000000
mov dword [rax - 0x90], 0x40000000
add rax, 0xffffffffffffff40
add ecx, 0xfffffffc
cmp ecx, 1
ja 0x7eca10
mov rax, qword [rbp + 0xe0]
lea r8, [rax + r10*2 + 0x33dd0]
mov edx, r11d
xor esi, esi
cmp edx, 2
jae 0x7eca70
jmp 0x7ecb6b
mov edx, dword [rbp + rsi*4 + 0x74]
mov rsi, rax
cmp edx, 2
jb 0x7ecb6b
mov rdi, qword [rbp + 0xf8]
movzx eax, word [r14 + rdi*2 + 0x33d88]
shr eax, 4
test rsi, rsi
je 0x7ecab0
xor eax, 0x7f
mov ecx, dword [r14 + rax*4 + 0x324dc]
movzx eax, word [r14 + rdi*2 + 0x33da0]
shr eax, 4
cmp rsi, 1
jne 0x7ecad0
mov eax, eax
jmp 0x7ecaf7
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x324dc]
movzx eax, word [r8]
xor rax, 0x7f0
jmp 0x7ecaf3
xor eax, 0x7f
add ecx, dword [r14 + rax*4 + 0x324dc]
movzx ebx, word [r14 + rdi*2 + 0x33db8]
mov eax, 2
sub eax, esi
and eax, 0x7f0
xor rax, rbx
shr rax, 4
add ecx, r9d
add ecx, dword [r14 + rax*4 + 0x324dc]
nop word cs:[rax + rax]
lea eax, [rdx - 2]
imul rbx, r10, 0x440
add rbx, r14
mov eax, dword [rbx + rax*4 + 0x38ea0]
add eax, ecx
mov edx, edx
lea rbx, [rdx + rdx*2]
shl rbx, 4
cmp eax, dword [r14 + rbx + 0x4dc]
jae 0x7ecb64
lea rdi, [r14 + rbx + 0x4dc]
mov dword [rdi], eax
mov dword [r14 + rbx + 0x4f4], 0
mov dword [r14 + rbx + 0x4f8], esi
mov dword [r14 + rbx + 0x4e4], 0
dec edx
cmp edx, 1
ja 0x7ecb10
lea rax, [rsi + 1]
cmp rax, 4
jne 0x7eca60
lea r8d, [r11 + 1]
cmp r11d, 1
mov eax, 2
cmovbe r8d, eax
cmp r8d, r15d
mov r11d, dword [rbp + 0x13c]
ja 0x7eccc4
mov rax, qword [rbp + 0xf8]
movzx eax, word [r14 + rax*2 + 0x33d70]
shr rax, 2
and eax, 0x3ffc
add r13d, dword [r14 + rax + 0x324dc]
mov edx, 0xfffffffe
add edx, 2
cmp r8d, dword [r14 + rdx*4 + 0x326dc]
ja 0x7ecbc0
jmp 0x7ecbd3
inc r8d
lea eax, [rdx + 1]
mov r9d, dword [r14 + rax*4 + 0x326dc]
lea ebx, [r8 - 2]
imul rax, r10, 0x440
add rax, r14
mov eax, dword [rax + rbx*4 + 0x34658]
add eax, r13d
cmp r8d, 5
mov ecx, 3
cmovae ebx, ecx
cmp r9, 0x7f
ja 0x7ecc20
mov ecx, ebx
shl rcx, 9
add rcx, r14
mov ecx, dword [rcx + r9*4 + 0x3338c]
jmp 0x7ecc63
mov esi, 0x7ffff
sub esi, r9d
sar esi, 0x1f
and esi, 0xc
lea rcx, [rsi + 6]
mov edi, r9d
shr edi, cl
movzx ecx, byte [r14 + rdi + 0x304dc]
lea rcx, [rcx + rsi*2 + 0xc]
mov edi, r9d
and edi, 0xf
mov ebx, ebx
shl rbx, 8
add rbx, r14
mov ecx, dword [rbx + rcx*4 + 0x32f8c]
add ecx, dword [r14 + rdi*4 + 0x33b8c]
add eax, ecx
mov ecx, r8d
lea rcx, [rcx + rcx*2]
shl rcx, 4
cmp eax, dword [r14 + rcx + 0x4dc]
jae 0x7ecca8
lea rbx, [r14 + rcx + 0x4dc]
mov dword [rbx], eax
mov dword [r14 + rcx + 0x4f4], 0
add r9d, 4
mov dword [r14 + rcx + 0x4f8], r9d
mov dword [r14 + rcx + 0x4e4], 0
mov eax, edx
cmp r8d, dword [r14 + rax*4 + 0x326dc]
jne 0x7ecbd0
add edx, 2
cmp edx, r12d
jne 0x7ecbd0
mov r12d, 1
mov rax, qword [rbp + 0x110]
cmp eax, 1
je 0x7ee456
mov rcx, rax
xor r13d, r13d
mov eax, 1
mov esi, r11d
mov r12d, ecx
jmp 0x7ecda7
mov r11d, r11d
add edi, 0xfffffffd
imul rcx, r9, 0x440
add rcx, r14
movzx edx, word [r14 + r10*2 + 0x33d88]
shr rdx, 2
and edx, 0x3ffc
movzx esi, word [r15 + r9*2 + 0x33dd0]
xor esi, 0x7f0
shr esi, 2
and esi, 0x3ffc
add eax, r8d
add eax, dword [rbp + 0x130]
add eax, dword [rcx + rdi*4 + 0x38ea0]
add eax, dword [r14 + rdx + 0x324dc]
add eax, dword [r14 + rsi + 0x324dc]
lea rcx, [r11 + r11*2]
shl rcx, 4
cmp eax, dword [r14 + rcx + 0x4dc]
jae 0x7ecd8e
lea rdx, [r14 + rcx + 0x4dc]
mov dword [rdx], eax
mov rax, qword [rbp + 0xc8]
mov dword [r14 + rcx + 0x4f4], eax
mov dword [r14 + rcx + 0x4f8], 0
mov qword [r14 + rcx + 0x4e4], 1
mov r9d, 3
mov rdx, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x100]
jmp 0x7ed5e0
mov dword [rbp + 0x108], r12d
lea edi, [rax - 1]
mov ecx, esi
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0x140], r13
nop word cs:[rax + rax]
mov r13d, eax
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
mov dword [r14 + 0x4d8], eax
mov rcx, qword [r14 + 0x30]
mov rdx, qword [rbp + 0x88]
call qword [r14 + 0x20]
mov r8d, eax
test r8d, r8d
mov qword [rbp + 0x128], r8
mov dword [rbp + 0xd8], edi
je 0x7ece80
lea eax, [r8 - 2]
mov esi, dword [r14 + rax*4 + 0x326dc]
cmp esi, dword [r14 + 0x32f70]
jne 0x7ece90
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov edi, dword [r14 + 0x4d8]
cmp edi, 0x111
mov ecx, 0x111
cmovae edi, ecx
cmp esi, edi
jae 0x7ece84
dec rax
mov r8, qword [rbp + 0x128]
lea edx, [r8 - 1]
mov ebx, dword [r14 + rdx*4 + 0x326dc]
inc ebx
mov rdx, rax
sub rdx, rbx
nop word [rax + rax]
mov ebx, esi
movzx ecx, byte [rax + rbx]
cmp cl, byte [rdx + rbx]
jne 0x7ece90
inc esi
cmp esi, edi
jb 0x7ece60
jmp 0x7ece90
xor esi, esi
jmp 0x7ece90
mov r8, qword [rbp + 0x128]
nop dword [rax + rax]
inc dword [r14 + 0x32f74]
cmp esi, dword [r14 + 0x32f70]
jae 0x7ee548
mov eax, r13d
lea r15, [rax + rax*2]
shl r15, 4
mov ecx, dword [r14 + r15 + 0x4e4]
mov eax, dword [r14 + r15 + 0x4f4]
test ecx, ecx
je 0x7ecf00
dec eax
cmp dword [r14 + r15 + 0x4e8], 0
je 0x7ecf20
mov edx, dword [r14 + r15 + 0x4ec]
lea rdx, [rdx + rdx*2]
shl rdx, 4
cmp dword [r14 + r15 + 0x4f0], 3
mov edx, dword [r14 + rdx + 0x4e0]
ja 0x7ecf34
lea rbx, [0x008a6750]
jmp 0x7ecf3b
lea rdx, [rax + rax*2]
shl rdx, 4
lea rdx, [r14 + rdx + 0x4e0]
jmp 0x7ecf4c
mov edx, eax
lea rdx, [rdx + rdx*2]
shl rdx, 4
lea rdx, [r14 + rdx + 0x4e0]
jmp 0x7ecf3f
lea rbx, [0x008a6780]
lea rdx, [rbx + rdx*4]
mov edx, dword [rdx]
lea rbx, [0x008a66f0]
lea rdx, [rbx + rdx*4]
mov rbx, qword [rbp + 0xb0]
lea edi, [rbx + 1]
mov edx, dword [rdx]
cmp eax, dword [rbp + 0x140]
mov qword [rbp + 0x100], rdi
mov dword [rbp + 0xd4], esi
jne 0x7ecf90
cmp dword [r14 + r15 + 0x4f8], 0
je 0x7ed054
lea rax, [0x008a66f0]
mov esi, dword [rax + rdx*4]
jmp 0x7ed09b
test ecx, ecx
je 0x7ecfd0
cmp dword [r14 + r15 + 0x4e8], 0
je 0x7ecfd0
mov eax, dword [r14 + r15 + 0x4ec]
mov ecx, dword [r14 + r15 + 0x4f0]
lea rbx, [0x008a6750]
mov esi, dword [rbx + rdx*4]
cmp ecx, 3
jbe 0x7ecfed
jmp 0x7ed06c
mov ecx, dword [r14 + r15 + 0x4f8]
cmp ecx, 3
ja 0x7ed060
lea rbx, [0x008a6750]
mov esi, dword [rbx + rdx*4]
mov eax, eax
mov ebx, ecx
lea r8, [rax + rax*2]
mov rdx, r8
shl rdx, 4
add rdx, r14
mov ebx, dword [rdx + rbx*4 + 0x4fc]
mov dword [rbp + 0x60], ebx
mov ebx, 1
test ecx, ecx
je 0x7ed02b
lea eax, [rbx - 1]
mov eax, dword [rdx + rax*4 + 0x4fc]
mov edi, ebx
mov dword [rbp + rdi*4 + 0x60], eax
inc ebx
cmp ebx, ecx
jbe 0x7ed010
cmp ebx, 3
ja 0x7ed094
mov eax, ebx
lea rcx, [rbp + rax*4 + 0x60]
lea rax, [rax + r8*4]
lea rdx, [r14 + rax*4 + 0x4fc]
mov eax, 3
sub eax, ebx
lea r8, [rax*4 + 4]
call fcn.007e6ba0
jmp 0x7ed094
lea rax, str._t_t_t_t_t_t_t_v_v_v_v_v_b_b_b_b_b_b_b_v_v_v_v_v_a_a_a_a_a_a_a_n_n_n_n_n
mov esi, dword [rax + rdx*4]
jmp 0x7ed09b
lea rbx, [0x008a6780]
mov esi, dword [rbx + rdx*4]
mov eax, eax
add ecx, 0xfffffffc
mov dword [rbp + 0x60], ecx
lea rax, [rax + rax*2]
shl rax, 4
mov ecx, dword [r14 + rax + 0x504]
lea rdx, [rbp + 0x64]
mov dword [rdx + 8], ecx
mov rax, qword [r14 + rax + 0x4fc]
mov qword [rdx], rax
mov rdi, qword [rbp + 0x100]
mov dword [r14 + r15 + 0x4e0], esi
movdqa xmm6, xmmword [rbp + 0x60]
movdqu xmmword [r14 + r15 + 0x4fc], xmm6
mov r12d, dword [r14 + r15 + 0x4dc]
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov r15, rax
lea r10, [r15 - 1]
movd eax, xmm6
mov qword [rbp + 0xe8], rax
lea eax, [rax + 1]
mov qword [rbp + 0xf8], r10
sub r10, rax
mov eax, dword [r14 + 0x33be4]
mov dword [rbp + 0x124], eax
mov ebx, eax
and ebx, edi
mov r8d, esi
mov r11d, esi
mov esi, dword [r14 + 0x33bd4]
mov eax, dword [r14 + 0x33be0]
mov dword [rbp + 0x38], eax
and eax, edi
mov ecx, esi
shl eax, cl
movzx edx, byte [r15 - 2]
mov ecx, 8
mov dword [rbp + 0x98], esi
sub ecx, esi
mov dword [rbp + 0xb8], ecx
shr edx, cl
add edx, eax
mov rax, r8
mov qword [rbp + 0xe0], rax
shl r8, 5
add r8, r14
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0x118], r8
movzx r9d, word [r8 + rbx*2 + 0x33bf0]
mov rax, r9
shr rax, 2
and eax, 0x3ffc
mov r8d, dword [r14 + rax + 0x324dc]
mov dword [rbp + 0x110], r12d
add r8d, r12d
shl edx, 8
cmp r11d, 7
lea eax, [rdx + rdx*2]
mov rcx, qword [r14 + 0x33be8]
mov qword [rbp + 8], rcx
lea r11, [rcx + rax*2]
mov qword [rbp + 0xc0], r10
movzx r10d, byte [r10]
mov qword [rbp + 0x90], r15
movzx eax, byte [r15 - 1]
mov qword [rbp + 0x130], rax
jae 0x7ed200
lea ecx, [rax + 0x100]
xor eax, eax
nop word cs:[rax + rax]
mov edx, ecx
shr edx, 8
movzx edx, word [r11 + rdx*2]
mov esi, ecx
shr esi, 7
and esi, 1
neg esi
and esi, 0x7f0
xor esi, edx
shr esi, 4
add eax, dword [r14 + rsi*4 + 0x324dc]
add ecx, ecx
cmp ecx, 0x10000
jb 0x7ed1c0
jmp 0x7ed259
lea ebx, [rax + 0x100]
mov edi, pe_nt_image_headers64
xor eax, eax
mov edx, r10d
lea r12d, [rdx + rdx]
mov ecx, edi
and ecx, r12d
mov esi, ebx
shr esi, 8
add esi, edi
add esi, ecx
movzx ecx, word [r11 + rsi*2]
mov esi, ebx
shr esi, 7
and esi, 1
neg esi
and esi, 0x7f0
xor esi, ecx
shr esi, 4
add eax, dword [r14 + rsi*4 + 0x324dc]
xor edx, ebx
add edx, edx
add ebx, ebx
not edx
and edi, edx
cmp ebx, 0x10000
mov edx, r12d
jb 0x7ed210
add r8d, eax
mov rax, qword [rbp + 0x140]
lea eax, [rax + 2]
mov qword [rbp + 0xc8], rax
lea rax, [rax + rax*2]
shl rax, 4
lea r11, [r14 + rax + 0x4dc]
mov ebx, dword [r14 + rax + 0x4dc]
xor r15d, r15d
cmp r8d, ebx
jae 0x7ed2b9
mov dword [r11], r8d
mov dword [r14 + rax + 0x4f4], r13d
mov dword [r14 + rax + 0x4f8], 0xffffffff
mov dword [r14 + rax + 0x4e4], 0
mov r15d, 1
mov ebx, r8d
xor r9d, 0x7f0
shr r9d, 2
and r9d, 0x3ffc
mov edx, dword [rbp + 0x110]
add edx, dword [r14 + r9 + 0x324dc]
mov rsi, qword [rbp + 0xe0]
movzx r9d, word [r14 + rsi*2 + 0x33d70]
mov ecx, r9d
xor ecx, 0x7f0
shr ecx, 2
and ecx, 0x3ffc
mov edi, dword [r14 + rcx + 0x324dc]
mov dword [rbp + 0x110], edx
add edi, edx
cmp r10b, byte [rbp + 0x130]
mov r12d, dword [rbp + 0x108]
jne 0x7ed3a9
cmp dword [r14 + rax + 0x4f4], r13d
jae 0x7ed334
cmp dword [r14 + rax + 0x4f8], 0
je 0x7ed3a9
movzx ecx, word [r14 + rsi*2 + 0x33d88]
shr rcx, 2
and ecx, 0x3ffc
mov rdx, qword [rbp + 0xf0]
mov rsi, qword [rbp + 0x118]
movzx edx, word [rsi + rdx*2 + 0x33dd0]
shr rdx, 2
and edx, 0x3ffc
mov ecx, dword [r14 + rcx + 0x324dc]
add ecx, edi
add ecx, dword [r14 + rdx + 0x324dc]
cmp ecx, ebx
ja 0x7ed3a9
lea rdx, [r14 + rax + 0x4f4]
mov dword [r11], ecx
mov dword [rdx], r13d
mov dword [r14 + rax + 0x4f8], 0
mov dword [r14 + rax + 0x4e4], 0
mov r15d, 1
mov eax, dword [r14 + 0x4d8]
mov ecx, 0xffe
sub ecx, dword [rbp + 0x140]
cmp ecx, eax
cmovae ecx, eax
cmp ecx, 2
mov rsi, qword [rbp + 0x100]
jae 0x7ed3f6
lea eax, [r13 + 1]
mov edi, dword [rbp + 0xd8]
inc edi
cmp eax, r12d
mov ecx, esi
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0x140], r13
jne 0x7ecdd0
jmp 0x7ee456
mov qword [rbp - 0x18], r9
mov dword [rbp + 0x24], edi
mov ebx, dword [r14 + 0x32f70]
cmp ecx, ebx
mov edi, ecx
mov rdx, rbx
mov qword [rbp + 0x40], rdx
cmova edi, ebx
cmp r10b, byte [rbp + 0x130]
mov dword [rbp + 0x84], ecx
mov dword [rbp + 0x34], eax
je 0x7ed5d1
test r15d, r15d
mov r9d, 3
jne 0x7ed5d7
mov rax, qword [rbp + 0x40]
lea eax, [rax + 1]
cmp eax, ecx
cmova eax, ecx
cmp eax, 2
mov ebx, edi
jb 0x7ed5c8
mov edi, 1
mov r10, qword [rbp + 0xc0]
mov ecx, edi
mov rdx, qword [rbp + 0xf8]
movzx edx, byte [rdx + rcx]
cmp dl, byte [r10 + rcx]
jne 0x7ed473
inc edi
cmp edi, eax
jb 0x7ed45a
lea r11d, [rdi - 1]
cmp r11d, 2
jb 0x7ed5c8
mov rax, qword [rbp + 0xb0]
lea r9d, [rax + 2]
and r9d, dword [rbp + 0x124]
lea rax, [0x008a66f0]
mov rcx, qword [rbp + 0xe0]
mov r10d, dword [rax + rcx*4]
mov r15, r10
shl r15, 5
add r15, r14
movzx eax, word [r15 + r9*2 + 0x33bf0]
xor eax, 0x7f0
shr eax, 2
and eax, 0x3ffc
mov eax, dword [r14 + rax + 0x324dc]
movzx ecx, word [r14 + r10*2 + 0x33d70]
xor ecx, 0x7f0
shr ecx, 2
and ecx, 0x3ffc
mov ecx, dword [r14 + rcx + 0x324dc]
mov dword [rbp + 0x130], ecx
add r11d, dword [rbp + 0xc8]
cmp r12d, r11d
jae 0x7eccf0
mov ecx, r12d
mov edx, r11d
mov esi, r11d
sub esi, r12d
mov qword [rbp + 0x108], rdx
lea r12, [rdx - 1]
sub r12, rcx
and rsi, 7
je 0x7ed547
lea rdx, [rcx + rcx*2]
shl rdx, 4
add rdx, qword [rbp + 0xa0]
neg rsi
inc rcx
mov dword [rdx], 0x40000000
add rdx, 0x30
inc rsi
jne 0x7ed535
cmp r12, 7
jb 0x7ed5b9
mov rdx, qword [rbp + 0x108]
sub rdx, rcx
lea rcx, [rcx + rcx*2]
shl rcx, 4
add rcx, qword [rbp + 0xa8]
mov dword [rcx - 0x150], 0x40000000
mov dword [rcx - 0x120], 0x40000000
mov dword [rcx - 0xf0], 0x40000000
mov dword [rcx - 0xc0], 0x40000000
mov dword [rcx - 0x90], 0x40000000
mov dword [rcx - 0x60], 0x40000000
mov dword [rcx - 0x30], 0x40000000
mov dword [rcx], 0x40000000
add rcx, 0x180
add rdx, 0xfffffffffffffff8
jne 0x7ed566
mov r12d, r11d
mov r11, qword [rbp + 0x108]
jmp 0x7eccf3
mov rdx, qword [rbp + 0x128]
jmp 0x7ed5e0
mov r9d, 3
mov rdx, qword [rbp + 0x128]
mov ebx, edi
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x118]
lea rcx, [rcx + rax*2 + 0x33dd0]
mov qword [rbp - 0x20], rcx
mov r8, rax
mov dword [rbp + 0x118], 2
xor edi, edi
mov dword [rbp + 0xc8], ebx
mov rcx, qword [rbp + 0xe8]
jmp 0x7ed627
mov ecx, dword [rbp + rdi*4 + 0x64]
mov rdi, rax
inc ecx
mov rax, qword [rbp + 0xf8]
mov r11, rax
sub r11, rcx
mov al, byte [rax]
cmp al, byte [r11]
jne 0x7edc86
mov rax, qword [rbp + 0x90]
mov al, byte [rax]
cmp al, byte [r11 + 1]
jne 0x7edc86
mov edx, 2
cmp ebx, 3
jb 0x7ed689
mov edx, 2
nop word cs:[rax + rax]
mov eax, edx
mov rcx, qword [rbp + 0xf8]
movzx ecx, byte [rcx + rax]
cmp cl, byte [r11 + rax]
jne 0x7ed689
inc edx
cmp edx, ebx
jb 0x7ed670
lea r15d, [rdx + r13]
cmp r12d, r15d
jae 0x7ed765
mov eax, r12d
mov ecx, r15d
mov ebx, r15d
sub ebx, r12d
dec rcx
sub rcx, rax
test bl, 7
je 0x7ed6e2
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rbp + 0xa0]
lea esi, [rdx + r13]
sub sil, r12b
movzx esi, sil
and esi, 7
neg rsi
nop dword [rax]
inc rax
mov dword [rbx], 0x40000000
add rbx, 0x30
inc rsi
jne 0x7ed6d0
cmp rcx, 7
mov r12d, r15d
jb 0x7ed765
lea ecx, [rdx + r13]
sub rcx, rax
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [rbp + 0xa8]
nop word cs:[rax + rax]
mov dword [rax - 0x150], 0x40000000
mov dword [rax - 0x120], 0x40000000
mov dword [rax - 0xf0], 0x40000000
mov dword [rax - 0xc0], 0x40000000
mov dword [rax - 0x90], 0x40000000
mov dword [rax - 0x60], 0x40000000
mov dword [rax - 0x30], 0x40000000
mov dword [rax], 0x40000000
add rax, 0x180
add rcx, 0xfffffffffffffff8
jne 0x7ed710
mov r12d, r15d
mov rcx, qword [rbp + 0xe0]
movzx eax, word [r14 + rcx*2 + 0x33d88]
shr eax, 4
test rdi, rdi
mov qword [rbp + 0xe8], r15
je 0x7ed7a5
xor eax, 0x7f
mov r10d, dword [r14 + rax*4 + 0x324dc]
movzx eax, word [r14 + rcx*2 + 0x33da0]
shr eax, 4
cmp rdi, 1
jne 0x7ed7be
mov eax, eax
jmp 0x7ed7e5
mov eax, eax
mov r10d, dword [r14 + rax*4 + 0x324dc]
mov rax, qword [rbp - 0x20]
movzx eax, word [rax]
xor rax, 0x7f0
jmp 0x7ed7e1
xor eax, 0x7f
add r10d, dword [r14 + rax*4 + 0x324dc]
movzx ecx, word [r14 + rcx*2 + 0x33db8]
mov eax, 2
sub eax, edi
and eax, 0x7f0
xor rax, rcx
shr rax, 4
add r10d, dword [rbp + 0x24]
add r10d, dword [r14 + rax*4 + 0x324dc]
mov eax, edx
mov r15, rdi
nop word cs:[rax + rax]
lea ebx, [rax - 2]
imul rcx, r8, 0x440
add rcx, r14
mov ebx, dword [rcx + rbx*4 + 0x38ea0]
add ebx, r10d
lea esi, [r13 + rax]
lea rsi, [rsi + rsi*2]
shl rsi, 4
cmp ebx, dword [r14 + rsi + 0x4dc]
jae 0x7ed857
lea rdi, [r14 + rsi + 0x4dc]
mov dword [rdi], ebx
mov rdi, r15
mov dword [r14 + rsi + 0x4f4], r13d
mov dword [r14 + rsi + 0x4f8], edi
mov dword [r14 + rsi + 0x4e4], 0
dec eax
cmp eax, 1
ja 0x7ed800
mov dword [rbp + 0x108], r12d
lea r12d, [rdx + 1]
test rdi, rdi
mov eax, dword [rbp + 0x118]
cmove eax, r12d
mov dword [rbp + 0x118], eax
mov rax, qword [rbp + 0x40]
lea esi, [rdx + rax + 1]
mov eax, dword [rbp + 0x84]
cmp esi, eax
cmova esi, eax
cmp r12d, esi
mov eax, r12d
jae 0x7ed8b9
mov eax, r12d
nop word [rax + rax]
mov edi, eax
mov rbx, qword [rbp + 0xf8]
movzx ebx, byte [rbx + rdi]
cmp bl, byte [r11 + rdi]
jne 0x7ed8b9
inc eax
cmp eax, esi
jb 0x7ed8a0
mov esi, eax
sub esi, r12d
cmp esi, 2
jb 0x7edade
mov qword [rbp + 0x130], rsi
mov rbx, qword [rbp + 0x100]
lea r8d, [rdx + rbx]
mov esi, r8d
and esi, dword [rbp + 0x124]
lea edi, [rdx - 2]
mov ecx, dword [rcx + rdi*4 + 0x38ea0]
mov dword [rbp + 0x28], ecx
lea rcx, [0x008a6750]
mov rbx, qword [rbp + 0xe0]
mov ecx, dword [rcx + rbx*4]
mov rbx, rcx
mov qword [rbp + 0x48], rbx
shl rcx, 5
add rcx, r14
movzx ecx, word [rcx + rsi*2 + 0x33bf0]
shr rcx, 2
and ecx, 0x3ffc
mov ecx, dword [r14 + rcx + 0x324dc]
mov dword [rbp + 0x2c], ecx
mov qword [rbp + 0xc0], r8
mov esi, r8d
and esi, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x98]
shl esi, cl
lea ecx, [rdx - 1]
mov rbx, qword [rbp + 0xf8]
movzx edi, byte [rbx + rcx]
mov ecx, dword [rbp + 0xb8]
shr edi, cl
add edi, esi
shl edi, 8
lea ecx, [rdi + rdi*2]
mov rdi, qword [rbp + 8]
lea r9, [rdi + rcx*2]
mov ecx, edx
movzx edx, byte [rbx + rcx]
movzx edi, byte [r11 + rcx]
or edx, 0x100
mov r8d, pe_nt_image_headers64
xor ecx, ecx
nop
lea r11d, [rdi + rdi]
mov ebx, r8d
and ebx, r11d
mov r12d, edx
shr r12d, 8
add r12d, r8d
add r12d, ebx
movzx ebx, word [r9 + r12*2]
mov esi, edx
shr esi, 7
and esi, 1
neg esi
and esi, 0x7f0
xor esi, ebx
shr esi, 4
add ecx, dword [r14 + rsi*4 + 0x324dc]
xor edi, edx
add edi, edi
add edx, edx
not edi
and r8d, edi
cmp edx, 0x10000
mov edi, r11d
jb 0x7ed980
mov rbx, qword [rbp + 0xc0]
inc ebx
and ebx, dword [rbp + 0x124]
lea rdx, [0x008a66f0]
mov rdi, qword [rbp + 0x48]
mov edi, dword [rdx + rdi*4]
mov rdx, rdi
shl rdx, 5
add rdx, r14
mov qword [rbp - 0x28], rdx
movzx edx, word [rdx + rbx*2 + 0x33bf0]
xor edx, 0x7f0
shr edx, 2
and edx, 0x3ffc
mov edx, dword [r14 + rdx + 0x324dc]
mov dword [rbp + 0x48], edx
mov qword [rbp - 0x30], rdi
movzx edx, word [r14 + rdi*2 + 0x33d70]
xor edx, 0x7f0
shr edx, 2
and edx, 0x3ffc
mov edx, dword [r14 + rdx + 0x324dc]
mov dword [rbp + 0x30], edx
mov rdx, qword [rbp + 0xe8]
mov rsi, qword [rbp + 0x130]
lea edi, [rsi + rdx + 1]
mov r12d, dword [rbp + 0x108]
cmp r12d, edi
jae 0x7edaf8
mov qword [rbp + 0xc0], rbx
mov edx, r12d
mov r11d, edi
mov ebx, edi
sub ebx, r12d
lea rsi, [r11 - 1]
sub rsi, rdx
test bl, 7
mov r9d, 3
mov r8, qword [rbp + 0xf0]
je 0x7edac2
lea rbx, [rdx + rdx*2]
shl rbx, 4
add rbx, qword [rbp + 0xa0]
add eax, r13d
sub al, r12b
movzx eax, al
and eax, 7
neg rax
nop
inc rdx
mov dword [rbx], 0x40000000
add rbx, 0x30
inc rax
jne 0x7edab0
cmp rsi, 7
jae 0x7edb0d
mov r12d, edi
mov rsi, qword [rbp + 0x130]
mov rbx, qword [rbp + 0xc0]
jmp 0x7edb88
mov rdx, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x100]
mov r12d, dword [rbp + 0x108]
jmp 0x7edc7d
mov r11d, edi
mov r9d, 3
mov r8, qword [rbp + 0xf0]
jmp 0x7edb88
lea rax, [rdx + rdx*2]
shl rax, 4
add rax, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0x130]
mov rbx, qword [rbp + 0xc0]
nop word [rax + rax]
mov dword [rax - 0x150], 0x40000000
mov dword [rax - 0x120], 0x40000000
mov dword [rax - 0xf0], 0x40000000
mov dword [rax - 0xc0], 0x40000000
mov dword [rax - 0x90], 0x40000000
mov dword [rax - 0x60], 0x40000000
mov dword [rax - 0x30], 0x40000000
add rdx, 8
mov dword [rax], 0x40000000
add rax, 0x180
cmp rdx, r11
jb 0x7edb30
mov r12d, edi
add esi, 0xfffffffe
mov qword [rbp + 0x130], rsi
imul rdx, rbx, 0x440
add rdx, r14
mov rax, qword [rbp - 0x30]
movzx eax, word [r14 + rax*2 + 0x33d88]
shr rax, 2
and eax, 0x3ffc
mov rdi, qword [rbp - 0x28]
movzx ebx, word [rdi + rbx*2 + 0x33dd0]
xor ebx, 0x7f0
shr ebx, 2
and ebx, 0x3ffc
mov esi, dword [rbp + 0x28]
add esi, r10d
mov edi, esi
add edi, dword [rbp + 0x2c]
add edi, ecx
add edi, dword [rbp + 0x48]
add edi, dword [rbp + 0x30]
mov rcx, qword [rbp + 0x130]
add edi, dword [rdx + rcx*4 + 0x38ea0]
add edi, dword [r14 + rax + 0x324dc]
add edi, dword [r14 + rbx + 0x324dc]
lea rax, [r11 + r11*2]
shl rax, 4
cmp edi, dword [r14 + rax + 0x4dc]
jae 0x7edc6f
mov rcx, qword [rbp + 0xe8]
mov rdx, rcx
inc edx
lea rcx, [r14 + rax + 0x4dc]
mov dword [rcx], edi
mov dword [r14 + rax + 0x4f4], edx
mov dword [r14 + rax + 0x4f8], 0
movabs rcx, 0x100000001
mov qword [r14 + rax + 0x4e4], rcx
mov dword [r14 + rax + 0x4ec], r13d
mov rdi, r15
mov dword [r14 + rax + 0x4f0], edi
mov rdx, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x100]
jmp 0x7edc80
mov rdx, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x100]
mov rdi, r15
mov ebx, dword [rbp + 0xc8]
lea rax, [rdi + 1]
cmp rax, 4
jne 0x7ed620
mov eax, dword [rbp + 0xd4]
cmp eax, ebx
mov r10d, eax
mov r8d, eax
jbe 0x7edcca
xor edx, edx
nop word cs:[rax + rax]
mov eax, edx
add edx, 2
cmp ebx, dword [r14 + rax*4 + 0x326dc]
ja 0x7edcb0
mov dword [r14 + rax*4 + 0x326dc], ebx
mov r8d, ebx
cmp r8d, dword [rbp + 0x118]
jb 0x7ee449
mov qword [rbp + 0x128], rdx
mov rcx, qword [rbp - 0x18]
shr rcx, 4
mov eax, dword [rbp + 0x110]
add eax, dword [r14 + rcx*4 + 0x324dc]
mov dword [rbp + 0x110], eax
add r8d, r13d
cmp r12d, r8d
jae 0x7edd89
mov ecx, r12d
mov eax, r8d
mov edi, r8d
sub edi, r12d
lea r11, [rax - 1]
sub r11, rcx
test dil, 7
je 0x7edd9b
lea rdi, [rcx + rcx*2]
shl rdi, 4
add rdi, qword [rbp + 0xa0]
mov esi, dword [rbp + 0x34]
not esi
mov rbx, qword [rbp + 0x40]
not ebx
cmp esi, ebx
cmova ebx, esi
mov edx, r10d
not edx
cmp ebx, edx
cmova edx, ebx
mov rsi, qword [rbp + 0x140]
add esi, 0xfffff001
cmp edx, esi
cmova esi, edx
mov edx, dword [rbp + 0xd8]
sub edx, esi
sub dl, r12b
movzx esi, dl
and esi, 7
neg rsi
mov r15d, dword [rbp + 0x110]
inc rcx
mov dword [rdi], 0x40000000
add rdi, 0x30
inc rsi
jne 0x7edd75
jmp 0x7edda2
mov r15d, dword [rbp + 0x110]
mov edi, dword [rbp + 0x118]
jmp 0x7ede21
mov r15d, dword [rbp + 0x110]
cmp r11, 7
jae 0x7eddb3
mov r12d, r8d
mov edi, dword [rbp + 0x118]
jmp 0x7ede21
lea rbx, [rcx + rcx*2]
shl rbx, 4
add rbx, qword [rbp + 0xa8]
mov edi, dword [rbp + 0x118]
mov dword [rbx - 0x150], 0x40000000
mov dword [rbx - 0x120], 0x40000000
mov dword [rbx - 0xf0], 0x40000000
mov dword [rbx - 0xc0], 0x40000000
mov dword [rbx - 0x90], 0x40000000
mov dword [rbx - 0x60], 0x40000000
mov dword [rbx - 0x30], 0x40000000
add rcx, 8
mov dword [rbx], 0x40000000
add rbx, 0x180
cmp rcx, rax
jb 0x7eddc8
mov r12d, r8d
mov dword [rbp + 0x108], r12d
mov ebx, 0xfffffffe
mov rdx, qword [rbp + 0xf0]
nop word cs:[rax + rax]
add ebx, 2
cmp edi, dword [r14 + rbx*4 + 0x326dc]
ja 0x7ede40
lea eax, [rbx + 1]
mov eax, dword [r14 + rax*4 + 0x326dc]
mov esi, 0x7ffff
sub esi, eax
sar esi, 0x1f
and esi, 0xc
lea ecx, [rsi + 6]
mov edi, eax
shr edi, cl
movzx ecx, byte [r14 + rdi + 0x304dc]
lea ecx, [rcx + rsi*2 + 0xc]
mov r10d, dword [rbp + 0x118]
mov qword [rbp + 0x18], r13
jmp 0x7edead
mov esi, 0x7ffff
sub esi, eax
sar esi, 0x1f
and esi, 0xc
lea ecx, [rsi + 6]
mov edi, eax
shr edi, cl
movzx ecx, byte [r14 + rdi + 0x304dc]
lea ecx, [rcx + rsi*2 + 0xc]
inc r12d
mov r10d, r12d
mov r8d, ecx
mov qword [rbp + 0x90], r8
nop word [rax + rax]
mov esi, eax
lea ecx, [rax + 4]
mov ebx, ebx
mov qword [rbp + 0x140], rbx
and eax, 0xf
mov r12d, r10d
mov qword [rbp + 0x130], rsi
jmp 0x7edeea
inc r12d
mov rsi, qword [rbp + 0x130]
lea edi, [r12 - 2]
imul rbx, rdx, 0x440
add rbx, r14
mov ebx, dword [rbx + rdi*4 + 0x34658]
add ebx, r15d
cmp r12d, 5
cmovae rdi, r9
cmp esi, 0x7f
ja 0x7edf20
shl rdi, 9
add rdi, r14
mov esi, dword [rdi + rsi*4 + 0x3338c]
jmp 0x7edf37
shl rdi, 8
add rdi, r14
mov esi, dword [r14 + rax*4 + 0x33b8c]
add esi, dword [rdi + r8*4 + 0x32f8c]
add ebx, esi
lea r11d, [r13 + r12]
lea rdi, [r11 + r11*2]
shl rdi, 4
cmp ebx, dword [r14 + rdi + 0x4dc]
jae 0x7edf76
lea rsi, [r14 + rdi + 0x4dc]
mov dword [rsi], ebx
mov dword [r14 + rdi + 0x4f4], r13d
mov dword [r14 + rdi + 0x4f8], ecx
mov dword [r14 + rdi + 0x4e4], 0
mov rsi, qword [rbp + 0x140]
cmp r12d, dword [r14 + rsi*4 + 0x326dc]
jne 0x7edee0
mov rax, qword [rbp + 0x130]
lea eax, [rax + 1]
mov r15, qword [rbp + 0xf8]
sub r15, rax
lea r10d, [r12 + 1]
mov eax, dword [r14 + 0x32f70]
lea edi, [rax + r12 + 1]
mov eax, dword [rbp + 0x84]
cmp edi, eax
cmova edi, eax
cmp r10d, edi
mov r8d, r10d
jae 0x7edfec
mov r8d, r10d
nop word cs:[rax + rax]
mov ecx, r8d
mov rax, qword [rbp + 0xf8]
movzx eax, byte [rax + rcx]
cmp al, byte [r15 + rcx]
jne 0x7edfec
inc r8d
cmp r8d, edi
jb 0x7edfd0
lea eax, [r8 - 1]
sub eax, r12d
cmp eax, 2
jb 0x7ee240
mov qword [rbp + 0xb8], rax
mov dword [rbp + 0x118], r10d
mov rax, qword [rbp + 0xb0]
lea edi, [rax + r12 + 1]
mov ecx, dword [r14 + 0x33bd4]
mov eax, dword [r14 + 0x33be4]
mov dword [rbp + 0x124], eax
mov esi, eax
and esi, edi
lea rax, [0x008a6780]
mov rdx, qword [rbp + 0xe0]
mov eax, dword [rax + rdx*4]
mov rdx, rax
mov qword [rbp + 0x98], rdx
shl rax, 5
add rax, r14
mov qword [rbp + 0xd8], rsi
movzx eax, word [rax + rsi*2 + 0x33bf0]
shr rax, 2
and eax, 0x3ffc
mov eax, dword [r14 + rax + 0x324dc]
mov dword [rbp + 0xe8], eax
and edi, dword [r14 + 0x33be0]
shl edi, cl
lea eax, [r12 - 1]
mov rdx, qword [rbp + 0xf8]
movzx esi, byte [rdx + rax]
mov eax, 8
sub eax, ecx
mov ecx, eax
shr esi, cl
add esi, edi
shl esi, 8
lea eax, [rsi + rsi*2]
mov rcx, qword [rbp + 8]
lea r10, [rcx + rax*2]
mov eax, r12d
movzx edi, byte [rdx + rax]
movzx ecx, byte [r15 + rax]
or edi, 0x100
mov r13d, pe_nt_image_headers64
xor r15d, r15d
nop word cs:[rax + rax]
lea eax, [rcx + rcx]
mov esi, r13d
and esi, eax
mov r9d, edi
shr r9d, 8
add r9d, r13d
add r9d, esi
movzx esi, word [r10 + r9*2]
mov edx, edi
shr edx, 7
and edx, 1
neg edx
and edx, 0x7f0
xor edx, esi
shr edx, 4
add r15d, dword [r14 + rdx*4 + 0x324dc]
xor ecx, edi
add ecx, ecx
add edi, edi
not ecx
and r13d, ecx
cmp edi, 0x10000
mov ecx, eax
jb 0x7ee0d0
mov rdx, qword [rbp + 0xd8]
inc edx
and edx, dword [rbp + 0x124]
lea rax, [0x008a66f0]
mov rcx, qword [rbp + 0x98]
mov eax, dword [rax + rcx*4]
mov rsi, rax
shl rsi, 5
add rsi, r14
movzx ecx, word [rsi + rdx*2 + 0x33bf0]
xor ecx, 0x7f0
shr ecx, 2
and ecx, 0x3ffc
mov r10d, dword [r14 + rcx + 0x324dc]
movzx ecx, word [r14 + rax*2 + 0x33d70]
xor ecx, 0x7f0
shr ecx, 2
and ecx, 0x3ffc
mov r9d, dword [r14 + rcx + 0x324dc]
mov rcx, qword [rbp + 0xb8]
lea r11d, [rcx + r11 + 1]
mov edi, dword [rbp + 0x108]
cmp edi, r11d
mov dword [rbp + 0x124], r10d
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0x38], rax
mov dword [rbp + 0xd4], r9d
jae 0x7ee268
mov qword [rbp + 0xd8], rdx
mov ecx, edi
mov r10d, r11d
mov edx, r11d
sub edx, edi
mov qword [rbp + 0xb8], r10
dec r10
sub r10, rcx
test dl, 7
mov r13, qword [rbp + 0x18]
je 0x7ee212
lea rsi, [rcx + rcx*2]
shl rsi, 4
add rsi, qword [rbp + 0xa0]
lea edx, [r13 + r8]
sub dl, dil
movzx edi, dl
and edi, 7
neg rdi
inc rcx
mov dword [rsi], 0x40000000
add rsi, 0x30
inc rdi
jne 0x7ee200
cmp r10, 7
mov r9d, 3
jae 0x7ee295
mov dword [rbp + 0x108], r11d
mov r11, qword [rbp + 0x128]
mov r10d, dword [rbp + 0x118]
mov esi, dword [rbp + 0xe8]
jmp 0x7ee31d
mov r15d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0x140]
mov r11, qword [rbp + 0x128]
jmp 0x7ee418
mov eax, r11d
mov qword [rbp + 0xb8], rax
mov r9d, 3
mov r13, qword [rbp + 0x18]
mov r11, qword [rbp + 0x128]
mov r10d, dword [rbp + 0x118]
mov esi, dword [rbp + 0xe8]
jmp 0x7ee324
lea edi, [r13 + r8]
sub rdi, rcx
lea rcx, [rcx + rcx*2]
shl rcx, 4
add rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x128]
mov r10d, dword [rbp + 0x118]
mov esi, dword [rbp + 0xe8]
mov dword [rcx - 0x150], 0x40000000
mov dword [rcx - 0x120], 0x40000000
mov dword [rcx - 0xf0], 0x40000000
mov dword [rcx - 0xc0], 0x40000000
mov dword [rcx - 0x90], 0x40000000
mov dword [rcx - 0x60], 0x40000000
mov dword [rcx - 0x30], 0x40000000
mov dword [rcx], 0x40000000
add rcx, 0x180
add rdi, 0xfffffffffffffff8
jne 0x7ee2c0
mov dword [rbp + 0x108], r11d
mov r11, rdx
mov rdx, qword [rbp + 0xd8]
add r8d, 0xfffffffd
sub r8d, r12d
imul rcx, rdx, 0x440
add rcx, r14
mov rax, rdx
mov rdx, qword [rbp + 0x38]
movzx edx, word [r14 + rdx*2 + 0x33d88]
shr rdx, 2
and edx, 0x3ffc
mov rdi, qword [rbp + 0x98]
movzx eax, word [rdi + rax*2 + 0x33dd0]
xor eax, 0x7f0
shr eax, 2
and eax, 0x3ffc
add esi, ebx
add esi, r15d
add esi, dword [rbp + 0x124]
add esi, dword [rbp + 0xd4]
add esi, dword [rcx + r8*4 + 0x38ea0]
add esi, dword [r14 + rdx + 0x324dc]
add esi, dword [r14 + rax + 0x324dc]
mov rax, qword [rbp + 0xb8]
lea rax, [rax + rax*2]
shl rax, 4
cmp esi, dword [r14 + rax + 0x4dc]
mov rbx, qword [rbp + 0x130]
jae 0x7ee3fc
lea ecx, [r13 + r12 + 1]
lea rdx, [r14 + rax + 0x4dc]
mov dword [rdx], esi
mov dword [r14 + rax + 0x4f4], ecx
mov dword [r14 + rax + 0x4f8], 0
movabs rcx, 0x100000001
mov qword [r14 + rax + 0x4e4], rcx
mov dword [r14 + rax + 0x4ec], r13d
add ebx, 4
mov dword [r14 + rax + 0x4f0], ebx
mov r15d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0x140]
lea ebx, [rax + 2]
cmp ebx, r11d
je 0x7ee43b
add eax, 3
mov eax, dword [r14 + rax*4 + 0x326dc]
cmp eax, 0x80
jb 0x7edec0
jmp 0x7ede86
mov rsi, qword [rbp + 0x100]
mov r12d, dword [rbp + 0x108]
lea eax, [r13 + 1]
cmp eax, r12d
jne 0x7ecda7
mov eax, r12d
lea rax, [rax + rax*2]
shl rax, 4
mov r11d, dword [r14 + rax + 0x4f4]
mov eax, dword [r14 + rax + 0x4f8]
mov dword [r14 + 0x4c8], r12d
nop dword [rax + rax]
mov r10d, r12d
mov r12d, r11d
mov ecx, r10d
lea rsi, [rcx + rcx*2]
shl rsi, 4
mov edx, r12d
lea rcx, [rdx + rdx*2]
shl rcx, 4
cmp dword [r14 + rsi + 0x4e4], 0
lea rdi, [r14 + rcx + 0x4f8]
je 0x7ee520
mov dword [rdi], 0xffffffff
mov dword [r14 + rcx + 0x4e4], 0
lea r11d, [rdx - 1]
lea r9, [r14 + rcx + 0x4f4]
mov dword [r14 + rcx + 0x4f4], r11d
mov r8d, 0xffffffff
cmp dword [r14 + rsi + 0x4e8], 0
je 0x7ee533
mov ecx, r11d
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov dword [r14 + rcx + 0x4e4], 0
mov ebx, dword [r14 + rsi + 0x4ec]
mov dword [r14 + rcx + 0x4f4], ebx
mov esi, dword [r14 + rsi + 0x4f0]
mov dword [r14 + rcx + 0x4f8], esi
jmp 0x7ee533
mov r8d, dword [rdi]
lea r9, [r14 + rcx + 0x4f4]
mov r11d, dword [r14 + rcx + 0x4f4]
mov dword [rdi], eax
mov dword [r9], r10d
test edx, edx
mov eax, r8d
jne 0x7ee480
jmp 0x7ee643
mov dword [r14 + 0x4d4], r8d
mov dword [r14 + 0x4d0], esi
mov eax, r13d
lea rax, [rax + rax*2]
shl rax, 4
mov r11d, dword [r14 + rax + 0x4f4]
mov eax, dword [r14 + rax + 0x4f8]
mov dword [r14 + 0x4c8], r13d
nop dword [rax + rax]
mov r10d, r13d
mov r13d, r11d
mov ecx, r10d
lea rsi, [rcx + rcx*2]
shl rsi, 4
mov edx, r13d
lea rcx, [rdx + rdx*2]
shl rcx, 4
cmp dword [r14 + rsi + 0x4e4], 0
lea rdi, [r14 + rcx + 0x4f8]
je 0x7ee620
mov dword [rdi], 0xffffffff
mov dword [r14 + rcx + 0x4e4], 0
lea r11d, [rdx - 1]
lea r9, [r14 + rcx + 0x4f4]
mov dword [r14 + rcx + 0x4f4], r11d
mov r8d, 0xffffffff
cmp dword [r14 + rsi + 0x4e8], 0
je 0x7ee633
mov ecx, r11d
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov dword [r14 + rcx + 0x4e4], 0
mov ebx, dword [r14 + rsi + 0x4ec]
mov dword [r14 + rcx + 0x4f4], ebx
mov esi, dword [r14 + rsi + 0x4f0]
mov dword [r14 + rcx + 0x4f8], esi
jmp 0x7ee633
mov r8d, dword [rdi]
lea r9, [r14 + rcx + 0x4f4]
mov r11d, dword [r14 + rcx + 0x4f4]
mov dword [rdi], eax
mov dword [r9], r10d
test edx, edx
mov eax, r8d
jne 0x7ee580
mov eax, dword [r14 + 0x4f4]
mov r12d, dword [r14 + 0x4f8]
mov qword [rbp + 0x140], rax
mov dword [r14 + 0x4cc], eax
nop
mov r9, qword [rbp + 0x148]
mov r15d, dword [rbp + 0x13c]
mov r13d, dword [r14 + 0x33be4]
and r13d, r15d
mov ebx, dword [r14 + 0x32f88]
mov rax, rbx
shl rax, 5
add rax, r14
movzx edi, word [rax + r13*2 + 0x33bf0]
mov ecx, dword [r14 + 0x3d2f0]
mov edx, ecx
shr edx, 0xb
imul edx, edi
cmp r12d, 0xffffffff
lea rsi, [rax + r13*2 + 0x33bf0]
jne 0x7ee7e0
cmp dword [rbp + 0x140], 1
jne 0x7ee7e0
mov dword [r9], edx
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
mov word [rsi], ax
cmp edx, 0xffffff
ja 0x7ee6eb
shl edx, 8
mov rcx, qword [rbp + 0x148]
mov dword [rcx], edx
call fcn.007f0480
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x18]
mov ebx, dword [r14 + 0x32f74]
mov rdx, rax
sub rdx, rbx
neg rbx
mov edi, dword [r14 + 0x33be0]
and edi, r15d
mov ecx, dword [r14 + 0x33bd4]
shl edi, cl
movzx ebx, byte [rax + rbx - 1]
mov eax, 8
sub eax, ecx
mov ecx, eax
shr ebx, cl
add ebx, edi
shl ebx, 8
lea r13d, [rbx + rbx*2]
add r13, r13
add r13, qword [r14 + 0x33be8]
cmp dword [r14 + 0x32f88], 6
movzx edi, byte [rdx]
ja 0x7eea30
or edi, 0x100
mov r9, qword [rbp + 0x148]
nop word [rax + rax]
mov eax, edi
shr eax, 8
movzx esi, word [r13 + rax*2]
mov ebx, dword [r9]
mov ecx, ebx
shr ecx, 0xb
imul ecx, esi
test dil, dil
js 0x7ee790
mov dword [r9], ecx
mov edx, 0x800
sub edx, esi
shr edx, 5
add edx, esi
jmp 0x7ee7ad
mov edx, ecx
add qword [r14 + 0x3d2f8], rdx
sub ebx, ecx
mov dword [r14 + 0x3d2f0], ebx
mov ecx, esi
shr ecx, 5
sub esi, ecx
mov ecx, ebx
mov edx, esi
mov word [r13 + rax*2], dx
cmp ecx, 0xffffff
ja 0x7ee7d0
shl ecx, 8
mov dword [r9], ecx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
add edi, edi
cmp edi, 0x10000
jb 0x7ee760
jmp 0x7eeaf8
mov eax, edx
add qword [r14 + 0x3d2f8], rax
sub ecx, edx
mov dword [r14 + 0x3d2f0], ecx
mov eax, edi
shr eax, 5
sub edi, eax
mov word [rsi], di
cmp ecx, 0xffffff
ja 0x7ee82b
shl ecx, 8
mov dword [r14 + 0x3d2f0], ecx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
mov ebx, dword [r14 + 0x32f88]
mov ecx, dword [r14 + 0x3d2f0]
mov edx, ebx
movzx esi, word [r14 + rdx*2 + 0x33d70]
mov edi, ecx
shr edi, 0xb
imul edi, esi
cmp r12d, 3
ja 0x7ee970
mov eax, edi
add qword [r14 + 0x3d2f8], rax
sub ecx, edi
mov dword [r14 + 0x3d2f0], ecx
mov eax, esi
shr eax, 5
sub esi, eax
mov word [r14 + rdx*2 + 0x33d70], si
cmp ecx, 0xffffff
ja 0x7ee887
shl ecx, 8
mov dword [r9], ecx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
test r12d, r12d
je 0x7eece3
mov eax, r12d
mov r15d, dword [r14 + rax*4 + 0x32f78]
mov ecx, dword [r14 + 0x32f88]
movzx eax, word [r14 + rcx*2 + 0x33d88]
mov esi, dword [r14 + 0x3d2f0]
mov edx, esi
shr edx, 0xb
imul edx, eax
add qword [r14 + 0x3d2f8], rdx
sub esi, edx
mov dword [r14 + 0x3d2f0], esi
mov edx, eax
shr edx, 5
sub eax, edx
mov word [r14 + rcx*2 + 0x33d88], ax
cmp esi, 0xffffff
ja 0x7ee909
shl esi, 8
mov dword [r14 + 0x3d2f0], esi
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
mov ecx, dword [r14 + 0x32f88]
mov esi, dword [r14 + 0x3d2f0]
mov edx, ecx
movzx edi, word [r14 + rdx*2 + 0x33da0]
mov eax, esi
shr eax, 0xb
imul eax, edi
cmp r12d, 1
jne 0x7eed90
mov dword [r14 + 0x3d2f0], eax
mov ecx, 0x800
sub ecx, edi
shr ecx, 5
add ecx, edi
mov word [r14 + rdx*2 + 0x33da0], cx
cmp eax, 0xffffff
mov rsi, qword [rbp + 0x140]
ja 0x7eef61
shl eax, 8
mov dword [r9], eax
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
jmp 0x7eef61
mov dword [r14 + 0x3d2f0], edi
mov eax, 0x800
sub eax, esi
shr eax, 5
add eax, esi
mov word [r14 + rdx*2 + 0x33d70], ax
cmp edi, 0xffffff
ja 0x7ee9b4
shl edi, 8
mov dword [r14 + 0x3d2f0], edi
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
mov ebx, dword [r14 + 0x32f88]
mov eax, ebx
lea rcx, [0x008a6780]
mov eax, dword [rcx + rax*4]
mov dword [r14 + 0x32f88], eax
mov rax, qword [rbp + 0x140]
lea edi, [rax - 2]
xor eax, eax
cmp dword [r14 + 0x3d2e8], 0
sete al
mov rcx, qword [rbp - 0x10]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov rcx, qword [rbp - 0x48]
mov rdx, r9
mov r8d, edi
mov r9d, r13d
call fcn.007f0030
lea edx, [r12 - 4]
cmp edx, 0x7f
mov dword [rbp + 0x130], edx
ja 0x7eeb15
mov eax, edx
movzx r13d, byte [r14 + rax + 0x304dc]
jmp 0x7eeb36
mov rax, qword [rbp - 8]
mov eax, dword [rax]
sub rdx, rax
movzx r15d, byte [rdx - 1]
or edi, 0x100
mov r12d, pe_nt_image_headers64
mov r9, qword [rbp + 0x148]
nop word cs:[rax + rax]
add r15d, r15d
mov ecx, r15d
and ecx, r12d
mov eax, edi
shr eax, 8
add eax, r12d
add eax, ecx
movzx esi, word [r13 + rax*2]
mov ebx, dword [r9]
mov ecx, ebx
shr ecx, 0xb
imul ecx, esi
test dil, dil
js 0x7eeaa0
mov dword [r9], ecx
mov edx, 0x800
sub edx, esi
shr edx, 5
add edx, esi
jmp 0x7eeabd
mov edx, ecx
add qword [r14 + 0x3d2f8], rdx
sub ebx, ecx
mov dword [r14 + 0x3d2f0], ebx
mov ecx, esi
shr ecx, 5
sub esi, ecx
mov ecx, ebx
mov edx, esi
mov word [r13 + rax*2], dx
cmp ecx, 0xffffff
ja 0x7eeae0
shl ecx, 8
mov dword [r9], ecx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
add edi, edi
mov eax, r15d
xor eax, edi
not eax
and r12d, eax
cmp edi, 0x10000
jb 0x7eea60
mov eax, dword [r14 + 0x32f88]
lea rcx, [0x008a66f0]
mov eax, dword [rcx + rax*4]
mov dword [r14 + 0x32f88], eax
jmp 0x7ef1ad
mov eax, 0x80003
sub eax, r12d
sar eax, 0x1f
and eax, 0xc
lea ecx, [rax + 6]
shr edx, cl
movzx ecx, byte [r14 + rdx + 0x304dc]
lea r13d, [rcx + rax*2 + 0xc]
mov eax, 3
cmp dword [rbp + 0x140], 5
mov r12d, edi
cmovae r12, rax
mov edi, 1
mov ebx, 5
mov r9, qword [rbp + 0x148]
nop word [rax + rax]
mov r15d, r13d
mov ecx, ebx
shr r15d, cl
mov r8d, edi
mov rsi, r12
shl rsi, 7
add rsi, r14
movzx edx, word [rsi + r8*2 + 0x33f50]
mov ecx, dword [r14 + 0x3d2f0]
mov eax, ecx
shr eax, 0xb
imul eax, edx
and r15d, 1
lea r8, [rsi + r8*2 + 0x33f50]
jne 0x7eebb0
mov dword [r9], eax
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add ecx, edx
jmp 0x7eebcd
mov esi, eax
add qword [r14 + 0x3d2f8], rsi
sub ecx, eax
mov dword [r14 + 0x3d2f0], ecx
mov eax, edx
shr eax, 5
sub edx, eax
mov eax, ecx
mov ecx, edx
mov word [r8], cx
cmp eax, 0xffffff
ja 0x7eebed
shl eax, 8
mov dword [r9], eax
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
add edi, edi
or edi, r15d
dec ebx
cmp ebx, 0xffffffff
jne 0x7eeb60
cmp r13d, 4
jb 0x7ef179
mov edi, r13d
shr edi, 1
lea r14d, [rdi - 1]
mov eax, r13d
and eax, 1
or eax, 2
mov ecx, r14d
shl eax, cl
mov r15d, dword [rbp + 0x130]
sub r15d, eax
cmp r13d, 0xd
ja 0x7eee12
mov eax, eax
mov rcx, qword [rbp + 0x50]
lea r12, [rcx + rax*2 + 0x34150]
mov eax, r13d
add rax, rax
sub r12, rax
add r12, 0xfffffffffffffffe
mov edi, 1
nop word cs:[rax + rax]
mov edi, edi
movzx ecx, word [r12 + rdi*2]
mov edx, dword [r9]
mov eax, edx
shr eax, 0xb
imul eax, ecx
mov esi, r15d
and esi, 1
jne 0x7eec90
mov dword [r9], eax
mov edx, 0x800
sub edx, ecx
shr edx, 5
add edx, ecx
jmp 0x7eecb1
mov ebx, eax
mov r8, qword [rbp + 0x50]
add qword [r8 + 0x3d2f8], rbx
sub edx, eax
mov dword [r8 + 0x3d2f0], edx
mov eax, ecx
shr eax, 5
sub ecx, eax
mov eax, edx
mov edx, ecx
mov word [r12 + rdi*2], dx
cmp eax, 0xffffff
ja 0x7eecd2
shl eax, 8
mov dword [r9], eax
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
add edi, edi
or edi, esi
shr r15d, 1
dec r14d
jne 0x7eec60
jmp 0x7ef179
mov ecx, dword [r14 + 0x32f88]
movzx edx, word [r14 + rcx*2 + 0x33d88]
mov eax, dword [r14 + 0x3d2f0]
shr eax, 0xb
imul eax, edx
mov dword [r14 + 0x3d2f0], eax
mov ebx, 0x800
sub ebx, edx
shr ebx, 5
add ebx, edx
mov word [r14 + rcx*2 + 0x33d88], bx
cmp eax, 0xffffff
ja 0x7eed43
shl eax, 8
mov dword [r14 + 0x3d2f0], eax
mov rcx, r9
call fcn.007f0480
mov ecx, dword [r14 + 0x32f88]
mov eax, dword [r14 + 0x3d2f0]
mov rsi, qword [rbp + 0x140]
mov edx, ecx
shl rdx, 5
add rdx, r14
movzx edi, word [rdx + r13*2 + 0x33dd0]
mov ecx, eax
shr ecx, 0xb
imul ecx, edi
cmp esi, 1
lea rdx, [rdx + r13*2 + 0x33dd0]
jne 0x7eeea1
mov r9, qword [rbp + 0x148]
mov dword [r9], ecx
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
jmp 0x7eeec5
mov ebx, eax
add qword [r14 + 0x3d2f8], rbx
sub esi, eax
mov dword [r14 + 0x3d2f0], esi
mov eax, edi
shr eax, 5
sub edi, eax
mov word [r14 + rdx*2 + 0x33da0], di
cmp esi, 0xffffff
ja 0x7eedda
shl esi, 8
mov dword [r14 + 0x3d2f0], esi
mov rcx, r9
call fcn.007f0480
mov ecx, dword [r14 + 0x32f88]
mov esi, dword [r14 + 0x3d2f0]
mov ecx, ecx
movzx edi, word [r14 + rcx*2 + 0x33db8]
mov edx, esi
shr edx, 0xb
imul edx, edi
cmp r12d, 2
jne 0x7eeeee
mov r9, qword [rbp + 0x148]
mov dword [r9], edx
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
jmp 0x7eef12
mov esi, r15d
shr esi, 4
add edi, 0xfffffffa
mov r14, qword [rbp + 0x50]
nop
mov edx, dword [r14 + 0x3d2f0]
mov eax, edx
shr eax, 1
mov dword [r14 + 0x3d2f0], eax
mov ebx, esi
mov ecx, edi
shr ebx, cl
and ebx, 1
neg ebx
and ebx, eax
add qword [r14 + 0x3d2f8], rbx
cmp edx, 0x1ffffff
ja 0x7eee63
shl eax, 8
mov dword [r9], eax
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
dec edi
cmp edi, 0xffffffff
jne 0x7eee20
movzx eax, word [r14 + 0x34236]
mov edx, dword [r14 + 0x3d2f0]
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
mov edi, r15d
and edi, 1
jne 0x7eefda
mov dword [r9], ecx
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
jmp 0x7eeff7
mov ebx, ecx
add qword [r14 + 0x3d2f8], rbx
sub eax, ecx
mov dword [r14 + 0x3d2f0], eax
mov ecx, edi
shr ecx, 5
sub edi, ecx
mov ecx, eax
mov eax, edi
mov r9, qword [rbp + 0x148]
mov word [rdx], ax
cmp ecx, 0xffffff
ja 0x7eef7d
shl ecx, 8
mov dword [r9], ecx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
jmp 0x7eef7d
mov eax, edx
add qword [r14 + 0x3d2f8], rax
sub esi, edx
mov dword [r14 + 0x3d2f0], esi
mov eax, edi
shr eax, 5
sub edi, eax
mov edx, esi
mov eax, edi
mov r9, qword [rbp + 0x148]
mov word [r14 + rcx*2 + 0x33db8], ax
cmp edx, 0xffffff
ja 0x7eef38
shl edx, 8
mov dword [r9], edx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
cmp r12d, 3
jne 0x7eef4c
mov eax, dword [r14 + 0x32f80]
mov dword [r14 + 0x32f84], eax
mov eax, dword [r14 + 0x32f7c]
mov dword [r14 + 0x32f80], eax
mov rsi, qword [rbp + 0x140]
mov eax, dword [r14 + 0x32f78]
mov dword [r14 + 0x32f7c], eax
mov dword [r14 + 0x32f78], r15d
mov r15d, dword [rbp + 0x13c]
cmp esi, 1
lea rax, str._t_t_t_t_t_t_t_v_v_v_v_v_b_b_b_b_b_b_b_v_v_v_v_v_a_a_a_a_a_a_a_n_n_n_n_n
je 0x7eefc4
lea r8d, [rsi - 2]
xor eax, eax
cmp dword [r14 + 0x3d2e8], 0
sete al
mov rcx, qword [rbp - 0x10]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov rcx, qword [rbp - 0x40]
mov rdx, r9
mov r9d, r13d
call fcn.007f0030
mov r9, qword [rbp + 0x148]
lea rax, [0x008a6750]
mov ecx, dword [r14 + 0x32f88]
mov eax, dword [rax + rcx*4]
mov dword [r14 + 0x32f88], eax
jmp 0x7ef1bb
mov ebx, ecx
add qword [r14 + 0x3d2f8], rbx
sub edx, ecx
mov dword [r14 + 0x3d2f0], edx
mov ecx, eax
shr ecx, 5
sub eax, ecx
mov ecx, edx
mov edx, eax
mov word [r14 + 0x34236], dx
cmp ecx, 0xffffff
ja 0x7ef01f
shl ecx, 8
mov dword [r9], ecx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
mov ecx, dword [r9]
or edi, 2
mov ebx, r15d
shr ebx, 1
movzx edx, word [r14 + rdi*2 + 0x34234]
mov eax, ecx
shr eax, 0xb
imul eax, edx
and ebx, 1
jne 0x7ef04e
mov dword [r9], eax
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add edx, ecx
jmp 0x7ef069
mov esi, eax
add qword [r14 + 0x3d2f8], rsi
sub ecx, eax
mov dword [r14 + 0x3d2f0], ecx
mov eax, edx
shr eax, 5
sub edx, eax
mov eax, ecx
mov word [r14 + rdi*2 + 0x34234], dx
cmp eax, 0xffffff
ja 0x7ef091
shl eax, 8
mov dword [r9], eax
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
mov eax, dword [r9]
add edi, edi
or edi, ebx
mov ebx, r15d
shr ebx, 2
movzx edx, word [r14 + rdi*2 + 0x34234]
mov ecx, eax
shr ecx, 0xb
imul ecx, edx
and ebx, 1
jne 0x7ef0c2
mov dword [r9], ecx
mov eax, 0x800
sub eax, edx
shr eax, 5
add edx, eax
jmp 0x7ef0dd
mov esi, ecx
add qword [r14 + 0x3d2f8], rsi
sub eax, ecx
mov dword [r14 + 0x3d2f0], eax
mov ecx, edx
shr ecx, 5
sub edx, ecx
mov ecx, eax
mov word [r14 + rdi*2 + 0x34234], dx
cmp ecx, 0xffffff
ja 0x7ef106
shl ecx, 8
mov dword [r9], ecx
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
mov ecx, dword [r9]
add edi, edi
or edi, ebx
movzx edx, word [r14 + rdi*2 + 0x34234]
mov eax, ecx
shr eax, 0xb
imul eax, edx
test r15b, 8
jne 0x7ef132
mov dword [r9], eax
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add edx, ecx
jmp 0x7ef14d
mov ebx, eax
add qword [r14 + 0x3d2f8], rbx
sub ecx, eax
mov dword [r14 + 0x3d2f0], ecx
mov eax, edx
shr eax, 5
sub edx, eax
mov eax, ecx
mov word [r14 + rdi*2 + 0x34234], dx
cmp eax, 0xffffff
ja 0x7ef172
shl eax, 8
mov dword [r9], eax
mov rcx, r9
call fcn.007f0480
mov r9, qword [rbp + 0x148]
inc dword [r14 + 0x33bcc]
mov r14, qword [rbp + 0x50]
mov eax, dword [r14 + 0x32f80]
mov dword [r14 + 0x32f84], eax
mov rax, qword [r14 + 0x32f78]
mov qword [r14 + 0x32f7c], rax
mov eax, dword [rbp + 0x130]
mov dword [r14 + 0x32f78], eax
inc dword [r14 + 0x3d350]
mov r15d, dword [rbp + 0x13c]
mov rsi, qword [rbp + 0x140]
mov eax, dword [r14 + 0x32f74]
sub eax, esi
mov dword [r14 + 0x32f74], eax
add r15d, esi
test eax, eax
jne 0x7ebc30
cmp dword [r14 + 0x3d2e8], 0
jne 0x7ef2e0
cmp dword [r14 + 0x3d350], 0x80
jb 0x7ef1f9
mov rcx, r14
call fcn.007eb350
cmp dword [r14 + 0x33bcc], 0x10
jb 0x7ef2e0
movzx r8d, word [r14 + 0x34236]
xor esi, esi
nop word cs:[rax + rax]
mov ebx, esi
and ebx, 1
mov edx, esi
shr edx, 1
lea edi, [rbx + 2]
and edx, 1
lea r9d, [rdx + rbx*2 + 4]
neg ebx
and ebx, 0x7f0
xor ebx, r8d
shr ebx, 4
mov ecx, esi
shr ecx, 2
movzx edi, word [r14 + rdi*2 + 0x34234]
neg edx
and edx, 0x7f0
xor edx, edi
shr edx, 4
mov edx, dword [r14 + rdx*4 + 0x324dc]
add edx, dword [r14 + rbx*4 + 0x324dc]
and ecx, 1
mov eax, esi
shr eax, 3
movzx ebx, word [r14 + r9*2 + 0x34234]
lea edi, [rcx + r9*2]
neg ecx
and ecx, 0x7f0
xor ecx, ebx
shr ecx, 4
add edx, dword [r14 + rcx*4 + 0x324dc]
and eax, 1
movzx ecx, word [r14 + rdi*2 + 0x34234]
neg eax
and eax, 0x7f0
xor eax, ecx
shr eax, 4
add edx, dword [r14 + rax*4 + 0x324dc]
mov dword [r14 + rsi*4 + 0x33b8c], edx
inc rsi
cmp rsi, 0x10
jne 0x7ef220
mov dword [r14 + 0x33bcc], 0
nop word [rax + rax]
mov rcx, qword [r14 + 0x30]
call qword [r14 + 0x10]
test eax, eax
je 0x7ef350
mov eax, r15d
sub eax, dword [rbp + 0x58]
cmp eax, 0x8000
mov r9, qword [rbp + 0x148]
jb 0x7ebc30
mov eax, eax
add qword [r14 + 0x3d348], rax
mov eax, dword [r14 + 0x3d35c]
test eax, eax
jne 0x7ef41b
cmp dword [r14 + 0x3d338], 0
je 0x7ef3db
mov dword [r14 + 0x3d35c], 9
mov eax, 9
cmp dword [r14 + 0xc4], 0
je 0x7ef3e7
jmp 0x7ef43a
mov eax, r15d
sub eax, dword [rbp + 0x58]
add qword [r14 + 0x3d348], rax
mov edx, r15d
mov rcx, r14
call fcn.007efba0
test eax, eax
jne 0x7ef41b
cmp dword [r14 + 0x3d354], 0
jne 0x7ef436
cmp qword [rbp], 0
je 0x7eb9f0
mov rcx, qword [r14 + 0x3d348]
mov rdx, qword [r14 + 0x3d308]
add rdx, qword [r14 + 0x3d330]
sub rdx, qword [r14 + 0x3d318]
add rdx, qword [r14 + 0x3d300]
mov r8, qword [r14 + 0x46a98]
call qword [rbp]
test eax, eax
je 0x7eb9f0
jmp 0x7ef457
xor eax, eax
cmp dword [r14 + 0xc4], 0
je 0x7eba65
jmp 0x7ef43a
mov rdx, qword [rbp + 0x58]
jmp 0x7ef360
xor eax, eax
cmp dword [r14 + 0xc4], 0
jne 0x7ef43a
test eax, eax
je 0x7ef370
jmp 0x7ef44a
mov rcx, rsi
call qword [rsi + 8]
mov rdx, qword [r14 + 0x3d388]
mov rcx, rsi
call qword [rsi + 8]
mov qword [r14 + 0x33be8], 0
mov qword [r14 + 0x3d388], 0
mov eax, 2
movaps xmm6, xmmword [rbp + 0x150]
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor eax, eax
jmp 0x7ef41b
mov dword [r14 + 0x3d35c], 8
mov eax, 8
mov dword [r14 + 0x3d354], 1
jmp 0x7ef41b
mov eax, 0xa
jmp 0x7ef41b