Function at 0x140164a70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov rbx, r9
mov rdi, r8
mov ebp, edx
mov rsi, rcx
mov r14, qword [rsp + 0x90]
movabs rcx, 0x800000000000
mov dl, 0xf
mov r8b, 0x20
movdqa xmm0, xmmword [0x1405ed060]
lea r9, [0x1405ed414]
mov eax, ebp
and eax, 0x3f
cmp eax, 0x16
jbe 0x140164b00
cmp eax, 0x22
ja 0x140164cce
cmp eax, 0x1c
jbe 0x140164b60
cmp eax, 0x1e
ja 0x14016508e
cmp eax, 0x1d
jne 0x140164cfc
nop
mov eax, dword [0x14072248c]
mov r10, qword [rdi]
mov r11, r10
shr r11, 0x10
mov ebp, 0xf7cd04f
cmp r11, rcx
je 0x140164b39
jmp 0x140164b42
mov eax, eax
movsxd rax, dword [r9 + rax*4]
add rax, r9
jmp rax
nop
cmp qword [0x140790448], 0
jne 0x140165207
nop
movzx eax, byte [0x1407217b9]
cmp al, 0x5f
jne 0x14016500b
mov r10, rbx
mov eax, edi
test bpl, 0x40
jne 0x14016511d
movzx edi, r10w
mov ebp, 0xee477d0f
xor eax, 0xd57d41f6
mov rsi, rdi
mov rdi, rax
jmp 0x140164aaf
cmp eax, 0x19
jb 0x14016504b
cmp eax, 0x1b
jae 0x1401650c4
cmp eax, 0x19
je 0x1401650e5
nop
cmp qword [0x140790408], 0
jne 0x140164caf
nop
movzx eax, byte [0x140721679]
cmp al, 0x4b
je 0x140164bd7
nop word cs:[rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x140721679], r8b
je 0x140164bb3
cmp al, 0x4b
jne 0x140164ba0
jmp 0x140164bd7
nop
movq xmm1, qword [0x140721670]
paddb xmm1, xmm0
movq qword [0x140721670], xmm1
add byte [0x140721678], 0xdd
mov al, 0x4b
xchg byte [0x140721679], al
nop
movzx eax, byte [0x140721691]
cmp al, 0x32
je 0x140164c90
nop word [rax + rax]
mov al, 0x93
lock cmpxchg byte [0x140721691], dl
je 0x140164c16
cmp al, 0x32
je 0x140164c90
test bpl, bpl
js 0x140164bf0
mov ebp, 0xf7cd04f
mov eax, r14d
jmp 0x140164b42
mov eax, 0xf91a12be
mov ecx, 0x6e5ed54
mov edx, 0xf91a12bf
xor r8d, r8d
mov r9d, 0xcccccccd
lea r10, [0x140721680]
lea r11, [0x1405ed2f0]
nop dword [rax]
mov esi, ecx
imul rsi, r9
shr rsi, 0x24
shl esi, 2
lea esi, [rsi + rsi*4]
lea r14d, [rdx + rsi]
movzx ebp, byte [r14 + r11]
xor bpl, 0x8a
add byte [r8 + r10], bpl
cmp r8, 0x10
je 0x140164c88
add esi, eax
mov esi, esi
movzx esi, byte [rsi + r11]
xor sil, 0x8a
add byte [r8 + r10 + 1], sil
add r8, 2
add eax, 0xfffffffe
add ecx, 2
add edx, 0xfffffffe
jmp 0x140164c40
mov al, 0x32
xchg byte [0x140721691], al
lea r8, [0x140721680]
lea r9, [0x140721670]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790408], rax
mov rcx, rdi
mov edx, ebx
call qword [0x140790408]
mov edi, eax
mov rax, rdi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
cmp eax, 0x28
jbe 0x140165029
cmp eax, 0x2b
jbe case.default.0x140164cf1
invalid
invalid
invalid
add byte [rax], al
xchg byte [0xc3164ce6], dh
rcl ah, 0x48
lea ecx, [0x1405ed488]
add eax, 0xffffffd4
lea rcx, [0x1405ed488]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
nop
mov edi, dword [0x140722478]
jmp 0x140164cbc
mov rcx, rsi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp 0x1401ec4d0
nop
cmp qword [0x140790460], 0
jne 0x1401654fc
nop
movzx eax, byte [0x140721839]
cmp al, 0x2b
je 0x14016543b
mov cl, pe_nt_image_headers64
mov al, 0x5a
lock cmpxchg byte [0x140721839], cl
je 0x140165413
cmp al, 0x2b
jne 0x140164d33
jmp 0x14016543b
nop
cmp qword [0x140790430], 0
jne 0x14016569c
nop
movzx eax, byte [0x140721749]
cmp al, 0xa0
je 0x1401655c2
mov cl, 0x8d
mov al, 0x9e
lock cmpxchg byte [0x140721749], cl
je 0x1401655a2
cmp al, 0xa0
jne 0x140164d6d
jmp 0x1401655c2
nop
cmp qword [0x140790468], 0
jne 0x140165973
test bpl, 0x40
jne 0x140164f7b
nop
movzx eax, byte [0x140721869]
cmp al, 0xc7
je 0x140165885
mov cl, 0x47
mov al, 0x98
lock cmpxchg byte [0x140721869], cl
je 0x14016585d
cmp al, 0xc7
jne 0x140164db1
jmp 0x140165885
mov rcx, rsi
call fcn.1400e5b90
xor edi, edi
jmp 0x140164cbc
mov rcx, rbx
call fcn.1400e5b80
xor edi, edi
jmp 0x140164cbc
mov rcx, rbx
call fcn.14045e2d0
movzx edi, al
jmp 0x140164cbc
nop
test byte [0x1407838f3], 0x10
je 0x140164e07
call fcn.1401638a0
mov edx, 0x8b442aea
call fcn.140164a70
test rbx, rbx
je 0x14016527a
xor edi, edi
xor ecx, ecx
mov rdx, rbx
call fcn.1401638c0
jmp 0x140164cbc
mov rcx, rbx
mov edx, r14d
mov r8, rdi
mov r9d, esi
call fcn.14017ae80
movzx edi, al
jmp 0x140164cbc
mov rcx, rdi
mov rdx, r14
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.14028d130
nop
cmp qword [0x140790400], 0
jne 0x140165dbd
nop
movzx eax, byte [0x140721659]
cmp al, 0x19
je 0x1401656de
mov cl, 0x3d
mov al, 0xe3
lock cmpxchg byte [0x140721659], cl
je 0x1401656ac
cmp al, 0x19
jne 0x140164e7e
jmp 0x1401656de
mov rcx, rdi
mov rdx, r14
call fcn.1400c2a10
xor edi, edi
jmp 0x140164cbc
mov rcx, rsi
call fcn.1405c515c
xor edi, edi
jmp 0x140164cbc
nop
cmp qword [0x140790418], 0
jne 0x1401657c9
nop
cmp byte [0x1407216d9], 0
je 0x1401653c8
mov cl, 0xef
mov al, 0x9b
lock cmpxchg byte [0x1407216d9], cl
je 0x1401653a8
test al, al
jne 0x140164ed7
jmp 0x1401653c8
mov rcx, rbx
mov rdx, rsi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp 0x14047db90
nop
cmp qword [0x140790320], 0
je 0x140164f7b
test bpl, bpl
js 0x1401652bc
call fcn.1401601d0
mov rcx, rax
call fcn.140163880
test ebp, 0x100
jne 0x140164f7b
jmp 0x1401655c2
nop
mov eax, dword [0x140722478]
mov r8d, 0xa88ea1bb
xor r8, rax
mov edx, 0xdf2f341c
mov r9, rbx
call fcn.140164a70
test rax, rax
je 0x140164f7b
test bpl, bpl
js 0x140165b83
mov rcx, rax
mov rdx, rdi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp sub.KERNEL32.dll_GetProcAddress
xor edi, edi
jmp 0x140164cbc
mov rcx, rdi
mov rdx, rbx
call fcn.14027ef80
jmp 0x140164cbc
nop
cmp qword [0x140790450], 0
jne 0x140165f80
nop
movzx eax, byte [0x1407217e9]
cmp al, 0xf0
je 0x140165e9e
mov cl, 0x78
mov al, 0x28
lock cmpxchg byte [0x1407217e9], cl
je 0x1401657d9
cmp al, 0xf0
jne 0x140164fb3
jmp 0x140165e9e
nop
mov edi, dword [0x14072248c]
jmp 0x140164cbc
nop
cmp qword [0x140790410], 0
jne 0x1401660ca
nop
movzx eax, byte [0x1407216a9]
cmp al, 0xe5
jne 0x140165f95
jmp 0x140165fd1
mov rcx, rsi
call fcn.140142890
xor edi, edi
jmp 0x140164cbc
mov cl, 0xd7
nop dword [rax]
mov al, 0xf2
lock cmpxchg byte [0x1407217b9], cl
je 0x1401650f5
cmp al, 0x5f
jne 0x140165010
jmp 0x14016511d
add eax, 0xffffffdd
lea rcx, [0x1405ed470]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, rdi
call fcn.1401ec410
xor edi, edi
jmp 0x140164cbc
cmp eax, 0x17
jne 0x140165238
nop
cmp qword [0x140790458], 0
jne 0x140165b3c
nop
movzx eax, byte [0x140721817]
cmp al, 0x27
je 0x1401659bb
mov cl, 0x6f
mov al, 0xb8
lock cmpxchg byte [0x140721817], cl
je 0x140165985
cmp al, 0x27
jne 0x140165075
jmp 0x1401659bb
cmp eax, 0x20
jbe 0x140165248
cmp eax, 0x22
jne 0x1401652c3
nop
cmp qword [0x140790420], 0
jne 0x140165ccf
nop
movzx eax, byte [0x140721709]
cmp al, 0xa
jne 0x140165295
jmp 0x140165832
cmp eax, 0x1c
jne 0x140165267
mov rcx, rbx
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rsi
call fcn.1400c7840
mov rdi, rsi
jmp 0x140164cbc
nop
movq xmm0, qword [0x1407217b0]
paddb xmm0, xmmword [0x1405ed030]
movq qword [0x1407217b0], xmm0
add byte [0x1407217b8], 0x70
mov al, 0x5f
xchg byte [0x1407217b9], al
nop
movzx eax, byte [0x1407217d3]
cmp al, 0xd9
je 0x1401651e8
mov cl, 0x3f
nop
mov al, 0xe6
lock cmpxchg byte [0x1407217d3], cl
je 0x140165145
cmp al, 0xd9
jne 0x140165130
jmp 0x1401651e8
mov ecx, 0xf445b802
mov r8d, 0xf445b801
xor r10d, r10d
movabs r11, 0xd79435e50d79435f
lea rax, [0x1405ed390]
mov esi, 0xf445b7fc
add rsi, rax
lea rdi, [0x1407217c0]
nop word cs:[rax + rax]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
add rax, rsi
movzx edx, byte [r10 + rdi]
xor dl, byte [r10 + rax + 5]
xor dl, 0x27
mov byte [r10 + rdi], dl
cmp r10, 0x12
je 0x1401651e0
shr r9, 4
imul rax, r9, 0xffffffffffffffed
add rax, rsi
add rax, 6
movzx edx, byte [r10 + rdi + 1]
xor dl, byte [rax + r10]
xor dl, 0x27
mov byte [r10 + rdi + 1], dl
add r10, 2
add rcx, 2
add r8, 2
jmp 0x140165180
mov al, 0xd9
xchg byte [0x1407217d3], al
lea r8, [0x1407217c0]
lea r9, [0x1407217b0]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790448], rax
nop
call qword [0x140790448]
mov edi, eax
jmp 0x140164cbc
cmp eax, 0x29
je 0x1401652f8
cmp eax, 0x2b
jne 0x14016539c
mov rcx, r14
mov edx, esi
call fcn.1401e1550
xor edi, edi
jmp 0x140164cbc
mov rcx, rdi
call fcn.1404d7740
movzx edi, al
jmp 0x140164cbc
cmp eax, 0x1f
jne 0x1401652d4
mov rcx, rsi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp 0x14028d110
mov rcx, r14
mov rdx, rdi
call fcn.140125640
movzx edi, al
jmp 0x140164cbc
nop
mov r15, qword [0x1407925f0]
test r15, r15
je 0x140164e1a
test bpl, 0x40
jne 0x1401653f3
mov cl, 0x3f
mov al, 0x41
lock cmpxchg byte [0x140721709], cl
je 0x14016580a
cmp al, 0xa
je 0x140165832
test ebp, 0x800
je 0x140165297
jmp 0x140165bc1
xor eax, eax
jmp 0x140165fa3
mov rcx, rdi
mov edx, ebx
call fcn.14059d028
xor edi, edi
jmp 0x140164cbc
mov rcx, r14
call fcn.1401da0d0
movzx edi, al
jmp 0x140164cbc
nop
cmp qword [0x140790440], 0
jne 0x140165e80
jmp 0x14016550f
mov rcx, rsi
call fcn.1401ec440
xor edi, edi
jmp 0x140164cbc
nop
cmp qword [0x140790428], 0
jne 0x140165baa
nop
movzx eax, byte [0x140721729]
cmp al, 0x36
je 0x140166105
mov cl, 0xad
mov al, 0xb9
lock cmpxchg byte [0x140721729], cl
je 0x1401660e5
cmp al, 0x36
jne 0x140165328
jmp 0x140166105
nop
cmp qword [0x1407903f8], 0
jne 0x140166183
nop
movzx ecx, byte [0x140721639]
cmp cl, 0xe3
je 0x140165cf0
mov dl, 0x3d
mov al, 0x1f
lock cmpxchg byte [0x140721639], dl
je 0x140165bbf
cmp al, 0xe3
jne 0x140165363
jmp 0x140165cf0
mov rcx, rbx
call fcn.140461fb0
movzx edi, al
jmp 0x140164cbc
mov rcx, rdi
mov rdx, rbx
call fcn.1401ec3e0
jmp 0x140164cbc
call fcn.14014d770
xor edi, edi
jmp 0x140164cbc
movabs rax, 0xf005cde5ff973474
xor qword [0x1407216d0], rax
xor byte [0x1407216d8], 0x74
xor eax, eax
xchg byte [0x1407216d9], al
nop
movzx eax, byte [0x1407216ff]
cmp al, 0xc2
je 0x1401657aa
mov cl, 0x60
mov al, 0x2a
lock cmpxchg byte [0x1407216ff], cl
je 0x1401656f3
cmp al, 0xc2
jne 0x1401653da
jmp 0x1401657aa
mov rcx, r15
call fcn.140096430
mov rcx, r15
call fcn.1400954d0
mov qword [0x1407925f0], 0
jmp 0x140164e1a
nop
movq xmm0, qword [0x140721830]
paddb xmm0, xmmword [0x1405ed080]
movq qword [0x140721830], xmm0
add byte [0x140721838], 0x3f
mov al, 0x2b
xchg byte [0x140721839], al
nop
movzx eax, byte [0x140721852]
cmp al, 0x57
je 0x1401654dd
mov cl, 0xd1
mov al, 0x46
lock cmpxchg byte [0x140721852], cl
je 0x14016545f
cmp al, 0x57
jne 0x14016544d
jmp 0x1401654dd
mov ecx, 0x5199742
xor r8d, r8d
movabs r9, 0xe38e38e38e38e38f
lea r10, [0x1405ed3e0]
lea r11, [0x140721840]
mov rax, rcx
mul r9
shr rdx, 3
and rdx, 0xfffffffffffffffe
lea rax, [rdx + rdx*8]
mov rdx, r10
sub rdx, rax
movzx eax, byte [r8 + r11]
movzx edi, byte [r8 + r11 + 1]
xor al, byte [rdx + r8 + 0x5199742]
xor al, 0x9a
mov byte [r8 + r11], al
xor dil, byte [rdx + r8 + 0x5199743]
xor dil, 0x9a
mov byte [r8 + r11 + 1], dil
add r8, 2
add rcx, 2
cmp r8, 0x12
jne 0x14016547f
mov al, 0x57
xchg byte [0x140721852], al
test bpl, 0x40
jne 0x14016550f
lea r8, [0x140721840]
lea r9, [0x140721830]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790460], rax
mov rcx, rbx
mov edx, r14d
call qword [0x140790460]
mov edi, eax
jmp 0x140164cbc
nop
movzx eax, byte [0x140721789]
cmp al, 0xcb
je 0x140165ca4
mov cl, 0x4c
mov al, 0xe9
lock cmpxchg byte [0x140721789], cl
je 0x140165c7c
invalid
add byte [rax], al
invalid
cmp al, 0xcb
je 0x140165ca4
test ebp, 0x100
je 0x140165521
add byte [rax + riz*8 - 0x17], dh
xlatb
sti
invalid
jmp 0x14016511d
mov rcx, r14
call fcn.140142870
movzx edi, al
jmp 0x140164cbc
nop
cmp qword [0x140790438], 0
jne 0x140166289
nop
movzx eax, byte [0x140721769]
cmp al, 0x6f
je 0x140165c0b
mov cl, 0x2e
mov al, 0x86
lock cmpxchg byte [0x140721769], cl
xchg al, dh
cmpxchg byte [0x140721769], cl
je 0x140165be3
cmp al, 0x6f
jne 0x140165577
jmp 0x140165c0b
mov rcx, rdi
mov rdx, rsi
call fcn.14011dbb0
xor edi, edi
jmp 0x140164cbc
movabs rax, 0x2a94274b3deecf98
xor qword [0x140721740], rax
xor byte [0x140721748], 0x7f
mov al, 0xa0
xchg byte [0x140721749], al
nop
movzx eax, byte [0x14072175e]
cmp al, 0x8e
je 0x14016567d
mov cl, 0xe1
mov al, 0xa4
lock cmpxchg byte [0x14072175e], cl
je 0x1401655e9
cmp al, 0x8e
jne 0x1401655d4
jmp 0x14016567d
lea r10, [0x1405ed360]
mov ecx, 0x8816714a
lea r11, [r10 + rcx]
mov edi, 0x88167149
xor ebx, ebx
movabs r14, 0x8888888888888889
lea r15, [0x140721750]
mov r8d, 0x88167149
mov rax, rcx
mul r14
mov r9, rdx
shr r9, 3
mov rax, r8
mul r14
shr rdx, 3
mov rax, rdx
shl rax, 4
sub rdx, rax
add rdx, r10
add rdx, rbx
mov rax, r9
movzx edx, byte [rdi + rdx]
xor dl, 0x30
add byte [rbx + r15], dl
shl rax, 4
sub r9, rax
movzx eax, byte [r11 + r9]
xor al, 0x30
add byte [rbx + r15 + 1], al
add rbx, 2
add r11, 2
add rcx, 2
add r8, 2
cmp rbx, 0xe
jne 0x140165617
mov al, 0x8e
xchg byte [0x14072175e], al
lea r8, [0x140721750]
lea r9, [0x140721740]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790430], rax
mov rcx, rsi
call qword [0x140790430]
mov edi, eax
jmp 0x140164cbc
test bpl, 0x40
je 0x140164cbc
nop
movq xmm0, qword [0x140721650]
paddb xmm0, xmmword [0x1405ed010]
movq qword [0x140721650], xmm0
add byte [0x140721658], 0xf9
mov al, 0x19
xchg byte [0x140721659], al
nop
movzx eax, byte [0x14072166f]
cmp al, 0x1c
jne 0x140165c25
jmp 0x140165d9e
mov eax, 1
mov ecx, 0x248e23f8
mov edx, 0xdb71dc26
mov r8d, 0x248e23f9
mov r9d, 0xdb71dc25
lea r10, [0x1407216e0]
lea r11, [0x1405ed330]
mov esi, r9d
imul rsi, rsi, 0x8421085
shr rsi, 0x20
mov ebx, r9d
sub ebx, esi
shr ebx, 1
add ebx, esi
shr ebx, 4
mov esi, ebx
shl esi, 5
sub esi, ebx
add esi, r8d
movzx ebx, byte [rax + r10 - 1]
xor bl, byte [rsi + r11]
xor bl, 0xba
mov byte [rax + r10 - 1], bl
cmp rax, 0x1f
je 0x1401657a2
mov esi, edx
imul rsi, rsi, 0x8421085
shr rsi, 0x20
mov ebx, edx
sub ebx, esi
shr ebx, 1
add ebx, esi
shr ebx, 4
mov esi, ebx
shl esi, 5
sub esi, ebx
add esi, ecx
movzx ebx, byte [rax + r10]
mov esi, esi
xor bl, byte [rsi + r11]
xor bl, 0xba
mov byte [rax + r10], bl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x14016571c
mov al, 0xc2
xchg byte [0x1407216ff], al
lea r8, [0x1407216e0]
lea r9, [0x1407216d0]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790418], rax
mov rcx, rdi
call qword [0x140790418]
mov edi, eax
jmp 0x140164cbc
test ebp, 0x100
jne 0x14016619a
nop
movq xmm0, qword [0x1407217e0]
paddb xmm0, xmmword [0x1405ed000]
movq qword [0x1407217e0], xmm0
add byte [0x1407217e8], 0xb6
jmp 0x140166154
nop
movq xmm0, qword [0x140721700]
paddb xmm0, xmmword [0x1405ed0a0]
movq qword [0x140721700], xmm0
add byte [0x140721708], 0x73
mov al, 0xa
xchg byte [0x140721709], al
nop
movzx eax, byte [0x14072171a]
cmp al, 0x8b
je 0x140165c58
mov cl, 0xa
mov al, 0x7d
lock cmpxchg byte [0x14072171a], cl
je 0x140165b4e
cmp al, 0x8b
jne 0x140165844
jmp 0x140165c58
nop
movq xmm0, qword [0x140721860]
paddb xmm0, xmmword [0x1405ed020]
movq qword [0x140721860], xmm0
add byte [0x140721868], 0xbc
mov al, 0xc7
xchg byte [0x140721869], al
nop
movzx eax, byte [0x140721881]
cmp al, 0x3a
je 0x140165954
mov cl, 0xc3
mov al, 0x41
lock cmpxchg byte [0x140721881], cl
je 0x1401658ac
cmp al, 0x3a
jne 0x140165897
jmp 0x140165954
mov ecx, 0xb8c38d36
mov r8d, 0xb8c38d35
xor r10d, r10d
movabs r11, 0xf0f0f0f0f0f0f0f1
lea rax, [0x1405ed400]
mov edi, 0xb8c38d29
add rdi, rax
lea r14, [0x140721870]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov rax, rdi
sub rax, rdx
movzx edx, byte [r10 + r14]
xor dl, byte [rax + r10 + 0xc]
xor dl, 0x42
mov byte [r10 + r14], dl
cmp r10, 0x10
je 0x14016594c
mov rax, r9
shr rax, 4
and r9, 0xfffffffffffffff0
add r9, rax
mov rax, rdi
sub rax, r9
add rax, 0xd
movzx edx, byte [r10 + r14 + 1]
xor dl, byte [rax + r10]
xor dl, 0x42
mov byte [r10 + r14 + 1], dl
add r10, 2
add rcx, 2
add r8, 2
jmp 0x1401658da
mov al, 0x3a
xchg byte [0x140721881], al
lea r8, [0x140721870]
lea r9, [0x140721860]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790468], rax
mov rcx, rbx
mov edx, esi
call qword [0x140790468]
mov edi, eax
jmp 0x140164cbc
nop
movdqa xmm0, xmmword [0x140721810]
pxor xmm0, xmmword [0x1405ed070]
movd dword [0x140721810], xmm0
xor byte [0x140721814], 0xaa
xor byte [0x140721815], 0xcd
xor byte [0x140721816], 0x82
mov al, 0x27
xchg byte [0x140721817], al
nop
movzx eax, byte [0x14072182f]
cmp al, 0x25
je 0x140165b1d
mov cl, 0x53
mov al, 0xb6
lock cmpxchg byte [0x14072182f], cl
je 0x140165a85
cmp al, 0x25
jne 0x1401659cd
test ebp, 0x100
jne 0x140165b1d
mov eax, 1
mov ecx, 0xffa3073d
mov edx, 0x5cf8d0
mov r8d, 0xffa3073e
mov r9d, 0x5cf8ce
mov r10d, 0x92492493
lea r11, [0x140721730]
lea rsi, [0x1405ed350]
mov ebx, r9d
shr ebx, 1
imul rbx, r10
shr rbx, 0x22
lea r14d, [rbx + rbx]
shl ebx, 4
sub ebx, r14d
add ebx, r8d
movzx ebx, byte [rbx + rsi]
xor bl, 0x68
add byte [rax + r11 - 1], bl
cmp rax, 0xf
je 0x140165b7a
mov ebx, edx
shr ebx, 1
imul rbx, r10
shr rbx, 0x22
lea r14d, [rbx + rbx]
shl ebx, 4
sub ebx, r14d
add ebx, ecx
mov ebx, ebx
movzx ebx, byte [rbx + rsi]
xor bl, 0x68
add byte [rax + r11], bl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x140165a1c
mov ecx, 0xe936d3db
mov r8d, 0xe936d3da
xor r10d, r10d
movabs r11, 0x8888888888888889
lea rax, [0x1405ed3d0]
mov edi, 0xe936d3cf
add rdi, rax
lea r14, [0x140721820]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 3
mov rax, rdx
shl rax, 4
sub rdx, rax
add rdx, rdi
movzx eax, byte [r10 + rdx + 0xb]
xor al, 0x4d
add byte [r10 + r14], al
cmp r10, 0xe
je 0x140165b15
shr r9, 3
mov rax, r9
shl rax, 4
sub r9, rax
lea rax, [rdi + r9]
add rax, 0xc
movzx eax, byte [rax + r10]
xor al, 0x4d
add byte [r10 + r14 + 1], al
add r10, 2
add rcx, 2
add r8, 2
jmp 0x140165ab3
mov al, 0x25
xchg byte [0x14072182f], al
lea r8, [0x140721820]
lea r9, [0x140721810]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790458], rax
mov rcx, rsi
mov edx, ebx
call qword [0x140790458]
mov edi, eax
jmp 0x140164cbc
nop
movq xmm0, qword [0x140721710]
paddb xmm0, xmmword [0x1405ed0b0]
movq qword [0x140721710], xmm0
add byte [0x140721718], 0x17
add byte [0x140721719], 0x2e
jmp 0x140165c50
test bpl, bpl
jns 0x140164f62
mov al, 0x83
xchg byte [0x14072173f], al
lea r8, [0x140721730]
lea r9, [0x140721720]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790428], rax
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp qword [0x140790428]
mov eax, ecx
movabs rcx, 0x716242884e4e10e
xor qword [0x140721630], rcx
xor byte [0x140721638], 0x63
mov cl, 0xe3
xchg byte [0x140721639], cl
jmp 0x140165c37
nop
movq xmm0, qword [0x140721760]
paddb xmm0, xmmword [0x1405ed050]
movq qword [0x140721760], xmm0
add byte [0x140721768], 0xa
mov al, 0x6f
xchg byte [0x140721769], al
nop
movzx eax, byte [0x140721779]
cmp al, 0x5d
jne 0x14016622e
jmp 0x14016626a
call fcn.1405c5020
mov cl, 0x59
mov al, 0x60
lock cmpxchg byte [0x14072166f], cl
je 0x140165d05
test bpl, bpl
jns 0x140165cf0
cmp al, 0x1c
jne 0x140165c25
test ebp, 0x100
jne 0x140165d9e
mov al, 0x8b
xchg byte [0x14072171a], al
lea r8, [0x140721710]
lea r9, [0x140721700]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790420], rax
test bpl, bpl
js 0x140165ccf
nop
movq xmm0, qword [0x140721780]
paddb xmm0, xmmword [0x1405ed0c0]
movq qword [0x140721780], xmm0
add byte [0x140721788], 0xd5
mov al, 0xcb
xchg byte [0x140721789], al
nop
movzx eax, byte [0x1407217a3]
cmp al, 0xe8
je 0x140165e61
mov cl, 0xef
mov al, 0x30
lock cmpxchg byte [0x1407217a3], cl
je 0x140165dd6
cmp al, 0xe8
jne 0x140165cb6
jmp 0x140165e61
nop
mov rax, qword [0x140790420]
mov rcx, r14
mov edx, edi
mov r8, rsi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp rax
nop
movzx eax, byte [0x14072164d]
cmp al, 0xa
jne 0x140166146
jmp 0x140166164
mov ecx, 0x537491ce
mov r8d, 0x537491cd
xor r10d, r10d
movabs r11, 0x8888888888888889
lea r15, [0x1405ed2e0]
lea r12, [0x140721660]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 3
mov rax, rdx
shl rax, 4
sub rdx, rax
lea rax, [r15 + rdx]
add rax, 0x537491c4
movzx eax, byte [r10 + rax + 9]
xor al, 0xd1
add byte [r10 + r12], al
cmp r10, 0xe
je 0x140165d96
shr r9, 3
mov rax, r9
shl rax, 4
sub r9, rax
lea rax, [r15 + r9]
add rax, 0x537491ce
movzx eax, byte [rax + r10]
xor al, 0xd1
add byte [r10 + r12 + 1], al
add r10, 2
add rcx, 2
add r8, 2
jmp 0x140165d2b
mov al, 0x1c
xchg byte [0x14072166f], al
lea r8, [0x140721660]
lea r9, [0x140721650]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790400], rax
mov rcx, r14
mov rdx, rbx
mov r8d, esi
mov r9, rdi
call qword [0x140790400]
mov edi, eax
jmp 0x140164cbc
mov ecx, 0xe22081b3
mov r8d, 0xe22081b2
xor r10d, r10d
movabs r11, 0xd79435e50d79435f
lea rax, [0x1405ed370]
mov edi, 0xe22081af
add rdi, rax
lea r15, [0x140721790]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
add rax, rdi
movzx eax, byte [r10 + rax + 3]
xor al, 0x1e
add byte [r10 + r15], al
cmp r10, 0x12
je 0x140165e59
shr r9, 4
imul rax, r9, 0xffffffffffffffed
add rax, rdi
add rax, 4
movzx eax, byte [rax + r10]
xor al, 0x1e
add byte [r10 + r15 + 1], al
add r10, 2
add rcx, 2
add r8, 2
jmp 0x140165e04
mov al, 0xe8
xchg byte [0x1407217a3], al
lea r8, [0x140721790]
lea r9, [0x140721780]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790440], rax
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
call qword [0x140790440]
mov edi, eax
jmp 0x140164cbc
mov al, 0xf0
xchg byte [0x1407217e9], al
nop
movzx eax, byte [0x140721801]
cmp al, 0xd0
je 0x140165f61
mov cl, 0xf9
mov al, 0x43
lock cmpxchg byte [0x140721801], cl
je 0x140165ec5
cmp al, 0xd0
jne 0x140165eb0
jmp 0x140165f61
mov ecx, 0x252140a7
mov r8d, 0x252140a6
xor r10d, r10d
movabs r11, 0xf0f0f0f0f0f0f0f1
lea rsi, [0x1405ed3b0]
add rsi, 0x2521409b
lea rdi, [0x1407217f0]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov rax, rsi
sub rax, rdx
movzx eax, byte [rax + r10 + 0xb]
xor al, 0x31
add byte [r10 + rdi], al
cmp r10, 0x10
je 0x140165f59
mov rax, r9
shr rax, 4
and r9, 0xfffffffffffffff0
add r9, rax
mov rax, rsi
sub rax, r9
add rax, 0xc
movzx eax, byte [rax + r10]
xor al, 0x31
add byte [r10 + rdi + 1], al
add r10, 2
add rcx, 2
add r8, 2
jmp 0x140165ef2
mov al, 0xd0
xchg byte [0x140721801], al
lea r8, [0x1407217f0]
lea r9, [0x1407217e0]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790450], rax
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp qword [0x140790450]
mov cl, 0xb4
mov al, 0x41
lock cmpxchg byte [0x1407216a9], cl
je 0x140165fa9
cmp al, 0xe5
jne 0x140165f95
jmp 0x140165fd1
nop
movq xmm0, qword [0x1407216a0]
paddb xmm0, xmmword [0x1405ed040]
movq qword [0x1407216a0], xmm0
add byte [0x1407216a8], 0x4c
mov al, 0xe5
xchg byte [0x1407216a9], al
nop
movzx eax, byte [0x1407216c2]
cmp al, 0xdb
je 0x1401660ab
mov cl, 0x4f
mov al, 0x78
lock cmpxchg byte [0x1407216c2], cl
je 0x140165ff8
cmp al, 0xdb
jne 0x140165fe3
jmp 0x1401660ab
test bpl, 0x40
je 0x14016569c
mov eax, 0xa2531f20
mov ecx, 0x5dace0f4
mov edx, 1
mov r8d, 0xa2531f21
mov r9d, 0x5dace0f3
mov r10d, 0x86186187
lea r11, [0x1407216b0]
lea rsi, [0x1405ed310]
mov edi, ecx
imul rdi, r10
shr rdi, 0x20
mov ebx, ecx
sub ebx, edi
shr ebx, 1
add ebx, edi
shr ebx, 4
lea edi, [rbx + rbx*4]
lea edi, [rbx + rdi*4]
add edi, eax
mov ebx, r9d
imul rbx, r10
shr rbx, 0x20
mov r14d, r9d
sub r14d, ebx
shr r14d, 1
add r14d, ebx
shr r14d, 4
lea ebx, [r14 + r14*4]
lea ebx, [r14 + rbx*4]
add ebx, r8d
movzx ebx, byte [rbx + rsi]
xor bl, 0xa7
add byte [rdx + r11 - 1], bl
movzx ebx, byte [rdi + rsi]
xor bl, 0xa7
add byte [rdx + r11], bl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
add r9d, 2
cmp rdx, 0x13
jne 0x140166031
mov al, 0xdb
xchg byte [0x1407216c2], al
lea r8, [0x1407216b0]
lea r9, [0x1407216a0]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790410], rax
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp qword [0x140790410]
test bpl, 0x40
jne 0x14016613c
movabs rax, 0x7ba0dce8b14a1675
xor qword [0x140721720], rax
xor byte [0x140721728], 0x2a
mov al, 0x36
xchg byte [0x140721729], al
nop
movzx eax, byte [0x14072173f]
cmp al, 0x83
je 0x140165b8b
test ebp, 0x200
jne 0x14016623c
mov cl, 0x81
mov al, 0x1e
lock cmpxchg byte [0x14072173f], cl
je 0x1401659ed
cmp al, 0x83
jne 0x140166123
jmp 0x140165b8b
mov al, 0xa
xchg byte [0x14072164d], al
jmp 0x140166164
mov cl, 0xcf
mov al, 0x97
lock cmpxchg byte [0x14072164d], cl
je 0x14016619a
test ebp, 0x200
jne 0x140165e96
cmp al, 0xa
jne 0x140166146
lea r8, [0x140721640]
lea r9, [0x140721630]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x1407903f8], rax
mov rcx, rsi
mov rdx, rbx
mov r8, r14
call qword [0x1407903f8]
mov rdi, rax
jmp 0x140164cbc
test ebp, 0x400
jne 0x140164d31
mov ecx, 0x9295e8ba
mov r8d, 0x9295e8b9
xor r10d, r10d
movabs r11, 0x4ec4ec4ec4ec4ec5
lea rax, [0x1405ed2d0]
mov r15d, 0x9295e8b3
add r15, rax
lea r12, [0x140721640]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 2
imul rax, rdx, 0xfffffffffffffff3
add rax, r15
movzx eax, byte [r10 + rax + 6]
xor al, 0xd0
add byte [r10 + r12], al
cmp r10, 0xc
je 0x1401660df
shr r9, 2
imul rax, r9, 0xfffffffffffffff3
add rax, r15
add rax, 7
movzx eax, byte [rax + r10]
xor al, 0xd0
add byte [r10 + r12 + 1], al
add r10, 2
add rcx, 2
add r8, 2
jmp 0x1401661d5
mov cl, 0xe8
mov al, 0xbe
lock cmpxchg byte [0x140721779], cl
je 0x140166242
cmp al, 0x5d
jne 0x14016622e
jmp 0x14016626a
nop
movq xmm0, qword [0x140721770]
paddb xmm0, xmmword [0x1405ed090]
movq qword [0x140721770], xmm0
add byte [0x140721778], 0x57
mov al, 0x5d
xchg byte [0x140721779], al
lea r8, [0x140721770]
lea r9, [0x140721760]
mov edx, 0x419f1200
call fcn.140164a70
mov qword [0x140790438], rax
mov rcx, rsi
mov edx, edi
mov r8, r14
call qword [0x140790438]
mov edi, eax
jmp 0x140164cbc
add byte [rax - 0x73], cl
add eax, 0x487178
clc
sub dword [rbx + 0x3c], esi
mov ebx, edi
loope 0x14016649f
mov edx, ebp
mov esi, dword [rbp + 0x220]
loopne 0x1401664dc
mov eax, esp
ret
loopne 0x1401664ed
mov ecx, dword [rbp + 0x220]
sti
add byte [rax], al
sar byte [rdi + 0x615c56be], cl
invalid
sti
mov ecx, edi
add byte [rax], al
dec dword [rbx + rcx*4 - 0x43]
and byte [rdx], al
add byte [rax], al
adc byte [rdx], al
add byte [rax], al
invalid
and byte [rdx], al
add byte [rax], al
add byte [rax - 0x75], cl
mov ch, 0xc0
add al, byte [rax]
add byte [rcx + rcx*4 - 0x16], cl
add byte [rcx + rcx*4 - 0x16], cl
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rbx + rcx*4 - 0x63], cl
or byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rbx + rcx*4 - 0x63], cl
or byte [rdx], al
add byte [rax], al
invalid
add byte [rax], al
add byte [rax], al
sar edi, 0xff
inc edi
test dword [rdx + rax], ebx
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
test edi, edi
add byte [rax], al
add byte [rax], al
add al, byte [rax]
add byte [rax], al
add byte [rax], al
add byte [rax - 0x75], cl
popfq
or byte [rdx], al
add byte [rax], al
and byte [rdx], al
add byte [rax], al
and al, 0x28
add byte [rax], al
add dword [rax + 0xf], ecx
test dword [r8 - 0x16ffffff], r10d
jb 0x14016ad43
add byte [rax], al
test dword [rdx + rax], ebx
add byte [rax], al
add byte [rax], al
add byte [rax], al
adc byte [rdx], al
add byte [rax], al
invalid
add bh, al
test dword [rdx + rax], ebx
add byte [rax], al
add byte [rax], al
add byte [rax], al
mov esi, dword [rbp + 0x2c0]
rol byte [rdx], 0
add byte [rbx + rcx*4 - 0x63], cl
or byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
mov dword [rbp + 0x220], esi
and byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rax - 0x77], cl
mov ch, 0x20
add al, byte [rax]
add byte [rax - 0x75], cl
mov ch, 0xc0
add al, byte [rax]
add byte [rcx + rcx*4 - 0x16], cl
inc edi
test dword [rdx + rax], ebx
add byte [rax], al
add byte [rax], al
add byte [rax], al
add al, byte [rax]
add byte [rax - 0x77], cl
mov ch, 0x20
add al, byte [rax]
add cl, ch
pushfq
fdivr st(7)
inc edi
mov dword [rbp + 0x21c], 0
add byte [rax], al
add byte [rbp - 0x77], cl
dec byte [rbx + rcx*4 - 0x43]
and byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
and byte [rdx], al
add byte [rax], al
add cl, ch
xchg esi, eax
invalid
add byte [rax - 0x75], cl
mov ch, 0xc0
add al, byte [rax]
add byte [rcx + rcx*4 - 0x16], cl
add byte [rax], al
add byte [rax], al
add byte [rax], al
adc byte [rdx], al
add byte [rax], al
inc edi
test dword [rdx + rax], ebx
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
dec byte [rbx + rcx*4 - 0x43]
and byte [rdx], al
add byte [rax], al
sub cl, bl
invalid
adc byte [rdx], al
add byte [rax], al
push rsi
push rdi
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
call fcn.14047dc60
mov rcx, qword [0x140769c20]
mov edx, dword [0x140769c10]
add eax, edx
add eax, 0xfffff3e9
cdqe
add rax, rcx
mov r8, qword [0x140704440]
mov rcx, rdi
mov rdx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp r8