Function at 0x1403138c0
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov r13, r9
mov r14, r8
mov rbx, rdx
mov r12, rcx
mov rdi, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov r15, qword [rsp + 0xf8]
mov ebp, dword [rsp + 0xf0]
mov rax, qword [0x14077ee28]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov eax, ebp
and eax, 0x1f
cmp eax, 0xe
jae case.default.0x14031392a
mov eax, eax
lea rcx, [0x1405f8cbc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp qword [0x1407914e0], 0
jne 0x1403145ca
movzx eax, byte [0x140744e37]
cmp al, 0x8d
je 0x140314375
mov cl, 0x84
mov al, 0x75
lock cmpxchg byte [0x140744e37], cl
je 0x140314340
cmp al, 0x8d
jne 0x14031394b
jmp 0x140314375
cmp eax, 0x14
jbe 0x1403139ae
cmp eax, 0x1a
jae 0x140313a68
cmp eax, 0x15
jne 0x140313ac2
mov r14, qword [rdi + 8]
sub r14, qword [rdi]
cmp r14, 4
je 0x140313992
cmp r14, 0x10
jne 0x1403141d1
pxor xmm0, xmm0
movdqu xmmword [rsi], xmm0
cmp qword [rsi + 0x30], 0x10
jb 0x140314035
mov rax, qword [rsi + 0x18]
jmp 0x140314039
cmp eax, 0x10
ja 0x140313a86
cmp eax, 0xe
je 0x140313b2b
mov qword [rsp + 0x40], rdi
mov edi, 0x81fbf787
cmp eax, 0xf
je 0x140313dc0
cmp rsi, r12
je 0x140314146
test bpl, 0x20
jne 0x14031423a
mov eax, 0x46be557c
mov ecx, 0xb941aa8e
mov edx, 1
mov r8d, 0x46be557d
mov r9d, 0xaaaaaaab
lea r10, [0x140744da0]
lea r11, [0x1405f8be0]
nop
mov edi, ecx
imul rdi, r9
shr rdi, 0x23
shl edi, 2
lea edi, [rdi + rdi*2]
lea ebp, [rax + rdi]
add edi, r8d
movzx edi, byte [rdi + r11]
xor dil, 0xc8
add byte [rdx + r10 - 1], dil
movzx edi, byte [rbp + r11]
xor dil, 0xc8
add byte [rdx + r10], dil
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
cmp rdx, 0xd
jne 0x140313a10
mov al, 0xbd
xchg byte [0x140744dac], al
mov rdi, qword [rsp + 0x40]
jmp 0x14031451f
cmp eax, 0x1c
jae 0x140313ae4
cmp eax, 0x1a
jne 0x140313f41
mov rcx, r12
call fcn.14059ca5c
xor r15d, r15d
jmp 0x1403149e4
add eax, 0xffffffef
lea rcx, [0x1405f8cac]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14059b6c0
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14034c520
cmp eax, 0x17
ja 0x140313fab
jne 0x1403140ac
mov ecx, r14d
mov rdx, rdi
call fcn.14059d614
mov r15d, eax
jmp 0x1403149e4
jne 0x140313fc4
cmp qword [0x1407914c8], 0
jne 0x1403144b3
movzx eax, byte [0x140744dd7]
cmp al, 0x90
je 0x140314470
mov cl, 0x4d
mov al, 0x7f
lock cmpxchg byte [0x140744dd7], cl
je 0x14031443b
cmp al, 0x90
jne 0x140313b09
test bpl, bpl
jns 0x14031412b
jmp 0x140314470
mov r15, rbx
test rbx, rbx
jg 0x140313ba2
test bpl, 0x20
jne 0x140313bdc
movabs rax, 0xb46dce9e3daca56a
xor qword [0x140744de0], rax
movq xmm0, qword [0x140744de8]
pxor xmm0, xmmword [0x1405f89e0]
movd dword [0x140744de8], xmm0
mov al, 0xd0
xchg byte [0x140744dec], al
jmp 0x140314491
cmp r15, rdi
cmovb rdi, r15
mov rcx, r14
mov edx, 0x732664a9
mov r9, rdi
call fcn.140315e60
add r14, rdi
sub r15, rdi
mov rax, qword [rsi + 0x58]
sub dword [rax], edi
mov rax, qword [rsi + 0x40]
add qword [rax], rdi
test r15, r15
jle 0x140313bdc
mov rax, qword [rsi + 0x40]
mov r8, qword [rax]
test r8, r8
je 0x140313bb8
mov rax, qword [rsi + 0x58]
mov edi, dword [rax]
test edi, edi
jg 0x140313b73
movzx edx, byte [r14]
mov rax, qword [rsi]
mov rax, qword [rax + 0x18]
mov rcx, rsi
call qword [0x140704440]
cmp eax, 0xffffffff
je 0x140313bdc
inc r14
dec r15
test r15, r15
jg 0x140313ba2
sub rbx, r15
mov r15, rbx
jmp 0x1403149e4
or ebx, dword [rsi + 0x10]
xor eax, eax
cmp qword [rsi + 0x48], 0
mov edi, dword [0x140745c70]
sete al
shl eax, 2
and ebx, 0x17
or ebx, eax
mov dword [rsi + 0x10], ebx
and ebx, dword [rsi + 0x14]
je 0x14031400d
test r13b, 1
jne 0x1403149a1
mov ecx, 0xdea25117
xor rcx, rdi
mov edx, 0x59ad118d
call fcn.140315e60
mov ecx, 0x82d21724
xor rcx, rdi
mov edx, 0xce9a1578
call fcn.140315e60
test bl, 2
lea rax, [0x140744c60]
lea r14, [0x140744c40]
cmove r14, rax
xor edi, 0xa2a01c06
mov ecx, edi
call fcn.14030fa10
test bl, 4
lea rsi, [0x140744c20]
cmove rsi, r14
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov edx, 1
call fcn.14008c180
lea rbx, [rsp + 0x58]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.140096540
dec dword [rax - 0x73]
adc eax, 0x333ba0
dec dword [rax - 0x73]
adc eax, 0x333ba0
mov rcx, rbx
call fcn.1400954f0
push rax
sbb al, bl
invalid
push rax
sbb al, bl
inc dword [rbx + rcx*4 + 0x3d]
mov r15d, dword [0x140745c74]
jmp 0x1403149e4
mov rbx, r12
invalid
mov r15d, dword [0x140745c74]
jmp 0x1403149e4
mov rbx, r12
test r12, r12
test esp, esp
jle 0x140313d22
mov rbx, r12
jmp 0x140313ce8
cmp rbx, rdi
cmovb rdi, rbx
mov edx, 0x732664a9
mov r8, r13
mov r9, rdi
call fcn.140315e60
add r13, rdi
sub rbx, rdi
mov rax, qword [rsi + 0x50]
sub dword [rax], edi
mov rax, qword [rsi + 0x38]
add qword [rax], rdi
test rbx, rbx
jle 0x140313d22
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax]
test rcx, rcx
je 0x140313cfe
mov rax, qword [rsi + 0x50]
mov edi, dword [rax]
test edi, edi
jg 0x140313cb9
mov ebx, 0x48068b48
mov eax, dword [rax + 0x38]
mov rax, qword [rsi]
mov rax, qword [rax + 0x38]
mov rcx, rsi
call qword [0x140704440]
cmp eax, 0xffffffff
je 0x140313d22
mov byte [r13], al
inc r13
dec rbx
test rbx, rbx
jg 0x140313ce8
sub r12, rbx
mov r15, r12
jmp 0x1403149e4
mov rax, qword [rbx]
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
cmp qword [rax + 0x30], 0x10
adc byte [rdi], cl
invalid
invalid
add eax, dword [rax]
invalid
adc byte [rdi], cl
invalid
mov rcx, qword [rax + 0x18]
jmp 0x140314084
mov eax, 0xffffffff
mov rcx, qword [r12 + 0x38]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140314306
mov rdx, qword [r12 + 0x18]
cmp rcx, qword [rdx]
jbe 0x140314306
cmp r15d, 0xffffffff
jne 0x1403142d5
mov rax, qword [r12 + 0x50]
inc dword [rax]
add byte [rcx - 0x75], cl
and al, 0x38
add byte [rcx - 0x75], cl
and al, 0x38
dec qword [rax]
xor eax, eax
jmp 0x140314306
mov r9d, dword [0x140745c74]
add rdi, 0x10
movzx eax, r12b
xor r9, 0x4d6b1fe6
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0x26fb0aca
mov rdx, rdi
jmp 0x140313f9d
mov r12, rsi
mov edi, ebp
mov rcx, r13
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
je 0x140314007
mov rsi, rax
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14059b6c0
mov rcx, rsi
mov rdx, r12
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sub.KERNEL32.dll_GetProcAddress
cmp rsi, r15
je 0x1403149e4
mov rsi, qword [rsi]
mov rdi, qword [r15]
cmp rdi, rsi
je 0x1403149e4
mov r9d, 0x10
mov rcx, rsi
mov edx, 0x732664a9
mov r8, rdi
call fcn.140315e60
lea rdx, [rsi + 0x10]
lea rcx, [rdi + 0x10]
call fcn.1400959d0
mov eax, dword [rsi + 0x38]
mov dword [rdi + 0x38], eax
jmp 0x1403149e4
mov r9, rsi
sub r9, r13
mov rcx, r13
mov edx, 0x732664a9
mov r8, r15
call fcn.140315e60
mov r15, rsi
jmp 0x1403149e4
cmp r13, 0x10
jne 0x14031400d
test byte [r15 + 0x38], 4
je 0x14031400d
pxor xmm0, xmm0
movdqu xmmword [rdi], xmm0
mov word [rdi + 0xa], 0xffff
movzx eax, word [r15]
rol ax, 8
mov word [rdi + 0xc], ax
movzx eax, word [r15 + 2]
rol ax, 8
or byte [rsi - 0x77], ah
invalid
invalid
mov r15d, 1
jmp 0x1403149e4
or byte [rsi - 0x77], ah
invalid
mov ecx, esi
mov rdx, rbx
call fcn.14059db48
mov r15d, eax
jmp 0x1403149e4
cmp rbx, r14
je 0x14031414e
mov r12d, dword [0x140745c7c]
add rdi, 0x10
mov r13, rdi
jmp 0x1403149aa
mov eax, dword [rdi + 0x38]
mov r12d, eax
and r12d, 8
je 0x140313ef1
test byte [rsi + 0x38], 8
jne 0x14031427c
test al, 4
je 0x140313eff
test byte [rsi + 0x38], 4
jne 0x14031430e
test al, 1
je 0x1403141ea
cmp qword [rdi + 0x28], 0
je 0x1403141ea
test byte [rsi + 0x38], 1
je 0x1403141ea
cmp qword [rsi + 0x28], 0
je 0x1403141ea
add rdi, 0x10
add rsi, 0x10
mov rcx, rdi
mov rdx, rsi
call fcn.1401b7fe0
test eax, eax
jmp 0x1403142cd
cmp qword [0x1407914b8], 0
jne 0x140314541
movzx eax, byte [0x140744d97]
cmp al, 0xef
je 0x140314502
mov cl, 0xc9
mov al, 0xe1
lock cmpxchg byte [0x140744d97], cl
je 0x1403144cd
cmp al, 0xef
jne 0x140313f60
jmp 0x140314502
mov eax, dword [0x140745c74]
add rbx, 0x10
movzx r8d, sil
mov r9d, 0xba433a64
xor r9, rax
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x20], 0xeba61a77
call fcn.1403138c0
movzx r15d, al
jmp 0x1403149e4
cmp eax, 0x19
jne 0x1403140d6
mov rcx, rbx
call fcn.14059cc7c
xor r15d, r15d
jmp 0x1403149e4
cmp eax, 0x1d
jbe 0x14031410e
cmp qword [0x1407914d0], 0
je 0x14031432c
test bpl, 0x40
je 0x1403149e4
jmp 0x14031471a
mov rax, qword [rbx]
mov rax, qword [rax + 0x30]
mov rcx, rbx
call qword [0x140704440]
cmp eax, 0xffffffff
jne 0x140314015
mov r10d, 0xffffffff
jmp 0x14031402d
test dil, 0x20
jne 0x140314015
xor r15d, r15d
jmp 0x1403149e4
mov rax, qword [rbx + 0x50]
dec dword [rax]
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
movzx r10d, byte [rcx]
mov r15, r10
jmp 0x1403149e4
lea rax, [rsi + 0x18]
mov qword [rsi + 0x28], 0
mov byte [rax], 0
mov dword [rsi + 0x38], 0
mov rbx, qword [rdi]
mov rax, qword [rdi + 8]
sub rax, rbx
cmp rax, 0x10
je 0x140314156
cmp rax, 4
jne 0x140314192
cmp byte [rbx], 0x7f
je 0x1403141af
mov eax, dword [rbx]
mov dword [rsi], eax
mov eax, 4
jmp 0x1403141ce
lea rcx, [rax + 0x18]
mov qword [rax + 0x28], 0
mov byte [rcx], 0
mov dword [rax + 0x38], 0
mov rcx, rbx
mov rdx, r12
call fcn.14030c070
mov r15d, 1
jmp 0x1403149e4
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14059b6c0
mov ecx, edi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14059d418
cmp qword [0x1407914c0], 0
jne 0x1403147a9
movzx eax, byte [0x140744db7]
cmp al, 0xc6
je 0x14031476a
mov cl, 0x3d
mov al, 0x82
lock cmpxchg byte [0x140744db7], cl
je 0x14031472b
cmp al, 0xc6
jne 0x1403140f5
jmp 0x14031476a
cmp qword [0x1407914d8], 0
jne 0x140314976
movzx eax, byte [0x140744e17]
cmp al, 0x55
je 0x140314891
mov cl, 0xf3
mov al, 0x32
lock cmpxchg byte [0x140744e17], cl
je 0x140314572
cmp al, 0x55
jne 0x14031412d
jmp 0x140314891
mov r15, rsi
jmp 0x1403149e4
mov r15, rbx
jmp 0x1403149e4
lea r9, [0x1405f8a50]
mov r8d, 0x10
mov rcx, rbx
mov edx, 0x5041974f
call fcn.140315e60
test eax, eax
je 0x1403141af
lea r9, [0x1405f8a40]
mov r8d, 0x10
mov rcx, rbx
mov edx, 0xef62b52f
call fcn.140315e60
test eax, eax
je 0x1403141af
mov r9d, 0x10
mov rcx, rbx
mov edx, 0x732664a9
mov r8, rsi
call fcn.140315e60
mov eax, 8
jmp 0x1403141ce
lea rcx, [0x1405f8a40]
mov r9d, 0x10
mov edx, 0x732664a9
mov r8, rsi
call fcn.140315e60
mov eax, 0xc
mov dword [rsi + 0x38], eax
cmp r14, 4
sete al
cmp r14, 0x10
sete cl
or cl, al
movzx r15d, cl
jmp 0x1403149e4
movzx r15d, word [rdi + 2]
cmp eax, 8
jne 0x14031428f
lea r9, [rdi + 0xc]
mov r8d, 4
mov rcx, rsi
mov edx, 0x841962ef
call fcn.140315e60
mov rcx, rax
xor eax, eax
test ecx, ecx
jns 0x140313fa2
cmp word [rdi], 0
jne 0x140313fa2
test r15w, r15w
jne 0x140313fa2
cmp word [rdi + 0xa], 0
jmp 0x1403142cd
mov edi, dword [0x140745c7c]
add r13, 0x10
xor rdi, 0x6969d94d
mov r15, rsi
nop
movzx eax, byte [r15]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0xf08302ca
mov rdx, r13
mov r9, rdi
call fcn.1403138c0
mov byte [r15], al
inc r15
cmp r15, r12
jne 0x140314250
jmp 0x1403149e4
mov r8d, 0x10
mov rcx, rsi
mov edx, 0xa9d0d6af
jmp 0x14031431c
lea r13, [rdi + 0x28]
lea rcx, [rsi + 0xc]
mov r8d, 4
mov edx, 0xc250d1ef
mov r9, rdi
call fcn.140315e60
xor ebx, ebx
test eax, eax
jns 0x1403149d7
cmp word [rsi], 0
jne 0x1403149d7
test r15w, r15w
jne 0x1403149d7
cmp word [rsi + 0xa], 0
sete al
jmp 0x140313fa2
test bpl, 0x20
je 0x1403149e4
cmp byte [rcx - 1], r15b
jne 0x1403145dd
mov rax, qword [r12 + 0x50]
inc dword [rax]
mov rax, qword [r12 + 0x38]
dec qword [rax]
mov rax, qword [r12 + 0x38]
mov rax, qword [rax]
mov byte [rax], r15b
mov eax, r15d
mov r15, rax
jmp 0x1403149e4
mov r8d, 4
mov rcx, rsi
mov edx, 0xdf0d2b2f
mov r9, rdi
call fcn.140315e60
shr eax, 0x1f
jmp 0x140313fa2
movzx eax, byte [0x140744df7]
cmp al, 0x51
je 0x14031463c
jmp 0x1403145f3
movdqa xmm0, xmmword [0x140744e30]
paddb xmm0, xmmword [0x1405f8a20]
movd dword [0x140744e30], xmm0
add byte [0x140744e34], 0x1e
add byte [0x140744e35], 0x14
add byte [0x140744e36], 0x21
mov al, 0x8d
xchg byte [0x140744e37], al
movzx eax, byte [0x140744e4f]
cmp al, 0x76
je 0x1403145a8
mov cl, 0xe4
mov al, 0xfd
lock cmpxchg byte [0x140744e4f], cl
je 0x14031439b
cmp al, 0x76
jne 0x140314386
jmp 0x1403145a8
mov r8d, 0x7522231a
mov r9d, 0x75222318
xor r10d, r10d
movabs r11, 0x4924924924924925
lea rsi, [0x1405f8c20]
lea r14, [0x140744e40]
mov rax, r8
shr rax, 1
mul r11
mov rcx, rdx
mov rax, r9
shr rax, 1
mul r11
shr rdx, 1
imul rax, rdx, 0xfffffffffffffff2
add rax, rsi
add rax, 0x75222312
movzx edx, byte [r10 + r14]
xor dl, byte [r10 + rax + 7]
xor dl, 0x50
mov byte [r10 + r14], dl
cmp r10, 0xe
je 0x14031442e
shr rcx, 1
imul rax, rcx, 0xfffffffffffffff2
add rax, rsi
add rax, 0x7522231a
movzx ecx, byte [r10 + r14 + 1]
xor cl, byte [rax + r10]
xor cl, 0x50
mov byte [r10 + r14 + 1], cl
add r10, 2
add r8, 2
add r9, 2
jmp 0x1403143c2
mov al, 0x76
xchg byte [0x140744e4f], al
jmp 0x1403145a8
movdqa xmm0, xmmword [0x140744dd0]
paddb xmm0, xmmword [0x1405f89d0]
movd dword [0x140744dd0], xmm0
add byte [0x140744dd4], 0xd8
add byte [0x140744dd5], 0x21
add byte [0x140744dd6], 0xc0
mov al, 0x90
xchg byte [0x140744dd7], al
movzx eax, byte [0x140744dec]
cmp al, 0xd0
je 0x140314491
mov cl, 0xf0
mov al, 0xb4
lock cmpxchg byte [0x140744dec], cl
je 0x140313b3d
cmp al, 0xd0
jne 0x14031447d
mov dword [rsp + 0x20], 0xd08f1fef
lea rcx, [0x140744de0]
lea r9, [0x140744dd0]
call fcn.1403138c0
mov qword [0x1407914c8], rax
mov rcx, r14
mov rdx, rdi
mov r8, rsi
mov r9, r13
call qword [0x1407914c8]
mov r15d, eax
jmp 0x1403149e4
movdqa xmm0, xmmword [0x140744d90]
pxor xmm0, xmmword [0x1405f89f0]
movd dword [0x140744d90], xmm0
xor byte [0x140744d94], 0x7d
xor byte [0x140744d95], 0xc2
xor byte [0x140744d96], 0xb6
mov al, 0xef
xchg byte [0x140744d97], al
movzx eax, byte [0x140744dac]
cmp al, 0xbd
je 0x14031451f
mov cl, 0xf2
mov al, 0x99
lock cmpxchg byte [0x140744dac], cl
je 0x140314568
cmp al, 0xbd
jne 0x14031450f
mov dword [rsp + 0x20], 0xd6fb492f
lea rcx, [0x140744da0]
lea r9, [0x140744d90]
call fcn.1403138c0
mov qword [0x1407914b8], rax
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r12
mov rcx, rbx
mov edx, r13d
mov r8, r15
mov r9d, r14d
call qword [0x1407914b8]
mov r15d, eax
jmp 0x1403149e4
mov qword [rsp + 0x40], rdi
jmp 0x1403139e6
movdqa xmm0, xmmword [0x140744e10]
paddb xmm0, xmmword [0x1405f89c0]
movd dword [0x140744e10], xmm0
add byte [0x140744e14], 0x64
add byte [0x140744e15], 0x7a
dec byte [0x140744e16]
test bpl, 0x40
jne 0x140314889
mov dword [rsp + 0x20], 0xb2d4c54f
lea rcx, [0x140744e40]
lea r9, [0x140744e30]
call fcn.1403138c0
mov qword [0x1407914e0], rax
mov rcx, rbx
mov edx, edi
call qword [0x1407914e0]
mov r15d, eax
jmp 0x1403149e4
test bpl, bpl
js 0x1403145f3
test byte [r12 + 0x70], 2
je 0x1403142e9
jmp 0x140314306
mov cl, 0x81
mov al, 0x12
lock cmpxchg byte [0x140744df7], cl
je 0x140314607
cmp al, 0x51
jne 0x1403145f5
jmp 0x14031463c
movdqa xmm0, xmmword [0x140744df0]
paddb xmm0, xmmword [0x1405f8a10]
movd dword [0x140744df0], xmm0
add byte [0x140744df4], 0x83
add byte [0x140744df5], 0xce
add byte [0x140744df6], 4
mov al, 0x51
xchg byte [0x140744df7], al
movzx eax, byte [0x140744e0d]
cmp al, 0xfc
je 0x1403146f8
mov cl, 0xef
mov al, 0xc
lock cmpxchg byte [0x140744e0d], cl
je 0x140314662
cmp al, 0xfc
jne 0x14031464d
jmp 0x1403146f8
mov ecx, 0x1eff7388
mov r8d, 0x1eff7387
xor r10d, r10d
movabs r11, 0x4ec4ec4ec4ec4ec5
lea rsi, [0x1405f8c00]
lea rdi, [0x140744e00]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 2
imul rax, rdx, 0xfffffffffffffff3
add rax, rsi
add rax, 0x1eff7385
movzx edx, byte [r10 + rdi]
xor dl, byte [r10 + rax + 2]
xor dl, 0x8e
mov byte [r10 + rdi], dl
cmp r10, 0xc
je 0x1403146f0
shr r9, 2
imul rax, r9, 0xfffffffffffffff3
add rax, rsi
add rax, 0x1eff7388
movzx edx, byte [r10 + rdi + 1]
xor dl, byte [rax + r10]
xor dl, 0x8e
mov byte [r10 + rdi + 1], dl
add r10, 2
add rcx, 2
add r8, 2
jmp 0x140314688
mov al, 0xfc
xchg byte [0x140744e0d], al
mov dword [rsp + 0x20], 0x478b036f
lea rcx, [0x140744e00]
lea r9, [0x140744df0]
call fcn.1403138c0
mov qword [0x1407914d0], rax
mov rcx, r12
call qword [0x1407914d0]
xor r15d, r15d
jmp 0x1403149e4
movdqa xmm0, xmmword [0x140744db0]
paddb xmm0, xmmword [0x1405f8a00]
movd dword [0x140744db0], xmm0
add byte [0x140744db4], 0xd
add byte [0x140744db5], 0x9b
add byte [0x140744db6], 0x75
mov al, 0xc6
xchg byte [0x140744db7], al
test bpl, 0x20
jne 0x1403148b7
movzx eax, byte [0x140744dcc]
cmp al, 0xba
je 0x140314787
mov cl, 0xdc
mov al, 0xf1
lock cmpxchg byte [0x140744dcc], cl
je 0x1403147bc
cmp al, 0xba
jne 0x140314777
mov dword [rsp + 0x20], 0x168adcf
lea rcx, [0x140744dc0]
lea r9, [0x140744db0]
call fcn.1403138c0
mov qword [0x1407914c0], rax
mov rcx, r15
mov edx, edi
call qword [0x1407914c0]
mov r15d, eax
jmp 0x1403149e4
test bpl, bpl
js 0x140314987
lea r11, [0x1405f8bf0]
lea rsi, [r11 + 0x3fe1bb2a]
add r11, 0x3fe1bb29
mov ecx, 0x3fe1bb2a
mov r8d, 0x3fe1bb28
movabs rbx, 0xaaaaaaaaaaaaaaab
lea r14, [0x140744dc0]
xor r10d, r10d
mov rax, rcx
mul rbx
mov r9, rdx
mov rax, r8
mul rbx
shr rdx, 1
and rdx, 0xfffffffffffffffc
lea rax, [rdx + rdx*2]
mov rdx, r11
sub rdx, rax
movzx eax, byte [rcx + r14 - 0x3fe1bb2a]
xor al, byte [rdx]
xor al, 0xec
mov byte [rcx + r14 - 0x3fe1bb2a], al
test bpl, 0x40
je 0x14031402d
shr r9, 1
and r9, 0xfffffffffffffffc
lea rax, [r9 + r9*2]
neg rax
movzx edx, byte [rcx + r14 - 0x3fe1bb29]
xor dl, byte [rsi + rax]
xor dl, 0xec
mov byte [rcx + r14 - 0x3fe1bb29], dl
cmp rcx, 0x3fe1bb34
je 0x14031498f
add rsi, 2
add rcx, 2
add r11, 2
add r8, 2
test bpl, 0x40
jne 0x1403147f9
jmp 0x14031402d
mov al, 0x55
xchg byte [0x140744e17], al
movzx eax, byte [0x140744e2f]
cmp al, 0x16
je 0x140314954
mov cl, 0xc0
mov al, 0x3d
lock cmpxchg byte [0x140744e2f], cl
je 0x1403148b7
cmp al, 0x16
jne 0x1403148a2
jmp 0x140314954
mov eax, 1
mov ecx, 0x4ef08beb
mov edx, 0xb10f7423
mov r8d, 0x4ef08bec
mov r9d, 0xb10f7422
mov r10d, 0x88888889
lea r11, [0x140744e20]
lea rdi, [0x1405f8c10]
mov ebx, r9d
imul rbx, r10
shr rbx, 0x23
lea ebx, [rbx + rbx*4]
lea ebx, [rbx + rbx*2]
add ebx, r8d
movzx ebp, byte [rax + r11 - 1]
xor bpl, byte [rbx + rdi]
xor bpl, 0x48
mov byte [rax + r11 - 1], bpl
cmp rax, 0xf
je 0x14031494c
mov ebx, edx
imul rbx, r10
shr rbx, 0x23
lea ebx, [rbx + rbx*4]
lea ebx, [rbx + rbx*2]
add ebx, ecx
movzx ebp, byte [rax + r11]
mov ebx, ebx
xor bpl, byte [rbx + rdi]
xor bpl, 0x48
mov byte [rax + r11], bpl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x1403148e6
mov al, 0x16
xchg byte [0x140744e2f], al
mov dword [rsp + 0x20], 0x5161ef2f
lea rcx, [0x140744e20]
lea r9, [0x140744e10]
call fcn.1403138c0
mov qword [0x1407914d8], rax
mov rcx, rsi
mov edx, r14d
call qword [0x1407914d8]
mov r15d, eax
jmp 0x1403149e4
xor r10d, r10d
jmp 0x14031402d
mov al, 0xba
xchg byte [0x140744dcc], al
jmp 0x140314787
call fcn.1405c5020
xor ecx, ecx
xor edx, edx
call fcn.1400954f0
movzx r8d, byte [rbx]
mov r9d, r12d
xor r9d, 0x9e41fccf
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x20], 0x94b6ac77
call fcn.1403138c0
mov byte [rbx], al
inc rbx
mov r15, rbx
cmp rbx, r14
je 0x1403149e4
test bpl, 0x20
je 0x1403149aa
xor eax, eax
jmp 0x140313fa2
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14059b6c0
int3
insb byte [rdi], dx
sub byte [rax], al
mov rax, r15
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
int3
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
add rdi, 8
mov rcx, rdi
call fcn.140095510
lea rax, [0x1405e8218]
mov qword [rsi], rax
mov rax, rsi
jmp 0x14031580c
nop
mov rcx, qword [0x140745c98]
mov eax, dword [0x140745c80]
add eax, edi
add eax, 0xffffe050
cdqe
add rax, rcx
mov rcx, rsi
call qword [0x140704440]
mov rax, rsi
jmp 0x14031580c
jmp 0x18831793a
mov rcx, r14
call fcn.1400954d0
test ebx, 0x400
mov rax, r14
jne 0x14031580c
jmp 0x14031563c
invalid
dec dword [rax - 0x77]
clc
jmp 0x14031580c
add byte [rdi], cl
xchg dword [rax + 5], esp
add byte [rax], al
jmp 0x14031530f
add byte [rcx], al
add byte [rax], al
je 0x1403157f6
jmp 0x14031580a
sub eax, 0xc894800
invalid
push rax
call fcn.140314a10
lea rax, [0x1405e8c48]
mov qword [rdi + 8], rax
mov r15, qword [rdi + 0x68]
test r15, r15
jne 0x140315391
test ebx, 0x200
add byte [rdx], al
add byte [rax], al
jne 0x1403153d6
nop
mov rcx, qword [rdi + 0x18]
call fcn.1400956e0
jmp 0x1403154d4
fdivr st(7)
test esi, esi
je 0x140315420
mov rcx, rdi
call fcn.1400954d0
xor r15d, r15d
jmp 0x14031564b
sub eax, 0x6894800
lea rcx, [rsi + 8]
call fcn.140095500
test edi, edi
jne 0x1403153ed
test bl, bl
jns 0x1403153fe
xor ecx, ecx
jmp 0x140314f24
mov eax, dword [rdi + 0x20]
cmp r8, 0xf
jbe 0x14031579b
test ebx, 0x2000
je 0x1403154d4
nop
mov rax, qword [r12]
lea rdx, [r8 + 1]
cmp rdx, 0xfff
jbe 0x14031561b
xor ecx, ecx
jmp 0x140315714
lea esi, [rsi + 8]
mov rcx, r14
call fcn.140095500
test edi, edi
jne 0x14031503a
mov rax, rsi
test bl, bl
js 0x140314c22
jmp 0x14031580c
mov qword [rdi], rax
mov r14, qword [rdi + 0x10]
mov rcx, r14
call fcn.1400956e0
mov rcx, qword [rdi + 0x20]
call fcn.1400956e0
mov rcx, qword [rdi + 0x28]
call fcn.1400956e0
mov rax, r14
test esi, esi
jne 0x14031501e
test bl, 0x40
je 0x14031580c
jmp 0x1403157f6
test bh, ch
or byte [rax], al
add byte [rax - 0x77], cl
stc
call fcn.1400954d0
mov rax, rdi
jmp 0x14031580c
nop
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
xor eax, eax
cmp rdx, 0x1000
jb 0x140315309
nop
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140315641
add rdx, 0x27
mov rcx, rax
sal esi, 0xc3
je 0x1403153fe
sal esi, 0xc3
je 0x1403153fe
jmp 0x140315406
movups xmmword [rdi + 8], xmm0
lea rcx, [rsi + 8]
call fcn.140095510
lea rax, [0x1405e81d8]
mov qword [rdi], rax
lea r8, [rdi + 0x18]
add rsi, 0x18
mov r9d, 0x10
mov rcx, rsi
mov edx, 0x732664a9
call fcn.140315e60
lea rax, [0x1405e8038]
mov qword [rdi], rax
mov rax, rdi
jmp 0x14031580c
test bl, bl
jns 0x1403153fe
mov rcx, rdi
call fcn.1400954d0
fdivr st(7)
fdivr st(7)
test ebx, 0x100
jne 0x1403157f6
mov rcx, rsi
call fcn.1400954d0
test ebx, 0x200
je 0x1403153fe
nop
mov rax, qword [rsi]
mov r8d, 1
xor r14d, r14d
xor ecx, ecx
xor edx, edx
jmp 0x14031530f
clc
jmp 0x14031580c
dec dword [rdi]
add byte [rax], al
jbe 0x1403154bd
test bl, 0x40
je 0x140314de5
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
clc
clc
sub rcx, r8
cmp rcx, 0x20
jae 0x140315646
add rax, 0x28
mov rdx, rax
mov rcx, r8
jmp 0x140315611
jmp 0x14031580a
jmp 0x1403154d4
mov rcx, rdi
call fcn.140095510
lea rax, [0x1405e84e8]
mov qword [rsi], rax
mov rax, rsi
jmp 0x14031580c
clc
sub rax, rcx
cmp rax, 0x20
jae 0x14031562c
mov rax, rdi
test ebx, 0x800
je 0x14031580c
test ebx, 0x1000
je 0x140315641
add r9, 0x28
mov r8, r9
mov rax, rcx
jmp 0x14031531b
xor r8d, r8d
xor r14d, r14d
test ebx, 0x4000
jne 0x140315406
mov rcx, rax
mov rdx, r8
call fcn.140095520
nop
mov qword [rsi + 0x10], 0
mov qword [r14], 0xf
mov byte [rsi], 0
xor eax, eax
jmp 0x14031580c
nop
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1403153ce
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140704440]
test rax, rax
je 0x1403153ce
test ebx, 0x100
jne 0x1403153ed
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [0x140704440]
mov rcx, r15
call fcn.1400954d0
lea rax, [0x1405e7ef0]
mov qword [r14], rax
mov rcx, r14
call fcn.140095600
jmp 0x14031580a
mov rcx, rsi
call fcn.1400954d0
xor ecx, ecx
xor edx, edx
test bl, 0x40
jne 0x140315406
mov rax, rsi
jmp 0x14031580c
call fcn.140095520
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
xor eax, eax
jmp 0x14031580c
xor r15d, r15d
jmp 0x14031547a
test ebx, 0x200
jne 0x1403157f6
nop
mov qword [r15], 0
lea r14, [rsi + 0x38]
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x1403154fc
call fcn.1400956e0
jmp 0x1403154ed
mov rax, rcx
test ebx, 0x1000
jne 0x140315611
mov rcx, rax
call fcn.140095520
nop
mov rcx, qword [rdi + 0x28]
call fcn.1400956e0
test esi, esi
je 0x140315558
mov rcx, rdi
call fcn.1400954d0
xor r14d, r14d
mov rax, rdi
test ebx, 0x800
jne 0x14031580c
nop
mov qword [r14], 0
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x140315512
call fcn.1400956e0
nop
mov qword [rsi + 0x28], 0
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140315529
call fcn.1400956e0
nop
mov qword [rsi + 0x18], 0
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140315540
call fcn.1400956e0
nop
mov qword [rsi + 8], 0
mov rcx, rsi
call fcn.140095690
xor eax, eax
jmp 0x14031580c
lea rcx, [rdi + 0x28]
xor r15d, r15d
mov rax, rdi
test ebx, 0x4000
je 0x14031580c
lea r10, [rsi + 0x58]
nop
mov rax, qword [r10]
movsxd rdx, dword [rax]
add rdx, rcx
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1403155b8
nop
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14031582f
add rdx, 0x27
mov rcx, rax
test ebx, 0x100
je 0x14031580a
call fcn.140095520
nop
mov rax, qword [rsi + 0x18]
mov qword [rax], 0
mov rax, qword [rsi + 0x38]
mov qword [rax], 0
mov rax, qword [rsi + 0x50]
mov dword [rax], 0
mov rax, qword [rsi + 0x20]
mov qword [rax], 0
mov rax, qword [rsi + 0x40]
mov qword [rax], 0
mov rax, qword [rsi + 0x58]
mov dword [rax], 0
mov qword [rsi + 0x68], 0
and byte [r15], 0xfe
xor eax, eax
jmp 0x14031580c
call fcn.140095520
jmp 0x1403157b5
test ebx, 0x100
je 0x140314ba5
jmp 0x1403156c6
mov rax, rsi
test bl, bl
jns 0x14031580c
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
mov r14, r15
test ebx, 0x100
je 0x1403157f6
nop
mov r15, qword [r14]
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x140315767
xor r12d, r12d
xor r13d, r13d
test ebx, 0x200
je 0x1403157b5
nop
mov rax, qword [r14 + 0x20]
sub rax, rcx
cmp rax, 0x1000
jb 0x140315753
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140315834
xor r12d, r12d
xor r13d, r13d
mov rcx, r8
test ebx, 0x1000
je 0x14031574a
add r8, 0x28
mov rdx, r8
mov rax, rcx
mov rcx, rax
call fcn.140095520
test bl, bl
js 0x14031579b
nop
mov rax, qword [rdi]
nop
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0x22d9ee30
call fcn.140312850
nop
mov rax, qword [rdi]
mov rcx, qword [rax]
movsxd r8, dword [rcx + 4]
mov rcx, qword [rax + r8 + 0x48]
xor eax, eax
test rcx, rcx
mov r13d, 0
mov r12d, 0
je 0x14031580c
test ebx, 0x200
jne 0x1403157fb
lea rdx, [rax - 8]
mov rcx, qword [rax - 8]
sub rdx, rcx
xor r15d, r15d
cmp rdx, 0x20
mov r14d, 0
jae 0x14031582a
test ebx, 0x1000
jne 0x1403156bc
add rax, 0x27
mov rcx, r8
jmp 0x14031575f
test ebx, 0x800
jne 0x14031582f
mov rdx, rax
call fcn.140095520
mov edx, 0x28
mov rcx, r14
call fcn.140095520
test r15, r15
jne 0x14031564b
mov rax, rsi
test bl, 0x40
jne 0x14031580c
nop
mov rcx, qword [rdi]
mov edx, 0x28
call fcn.140095520
xor eax, eax
jmp 0x14031580c
nop
mov qword [rdi + 0x18], 0
mov qword [r13], 0xf
mov byte [r12], 0
xor eax, eax
jmp 0x14031580c
nop
mov qword [rdi + 0x18], 0
mov qword [r13], 0xf
mov byte [r12], 0
test esi, esi
je 0x1403157f6
test bl, bl
js 0x14031581d
mov rcx, rsi
call fcn.1400954d0
xor ecx, ecx
mov rax, rsi
test bl, 0x40
jne 0x14031580c
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
nop
call qword [0x140704440]
jmp 0x14031580a
mov rax, rdi
jmp 0x14031580c
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
nop
call qword [0x140704440]
xor eax, eax
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rdi
call fcn.1400954d0
mov rax, rdi
jmp 0x14031580c
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
int3
push rbp
push rsi
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], 0xfffffffffffffffe
nop
mov eax, dword [0x14079166c]
mov ecx, dword [0x140793440]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x14034c56f
lea rax, [0x140791668]
add rsp, 0x1c8
pop rsi
pop rbp
ret
call fcn.14034c4e0
cmp dword [0x14079166c], 0xffffffff
jne 0x14034c55e
nop
mov dword [0x140791668], 0xffffffff
lea rsi, [rbp - 0x58]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call fcn.1405c44a0
mov cx, 2
mov rdx, rsi
call fcn.14034c730
nop
mov dword [0x140791668], eax
call fcn.14034c4f0
call fcn.14034c510
jmp 0x14034c55e