Function at 0x14030ab30
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, 0x38
mov r14, r9
mov r15, r8
mov rdi, rdx
mov ebx, ecx
xor r12d, r12d
mov bpl, 0xf6
lea r13, [rsp + 0x28]
jmp 0x14030ab7e
nop
mov r14, qword [rcx]
mov edi, 0xffffffff
mov ebx, 0x54a45f04
mov eax, 1
test r12b, 1
cmove rsi, rax
mov r12b, 1
mov eax, ebx
and eax, 0x1f
cmp eax, 6
jae 0x14030abd0
cmp eax, 3
jae 0x14030ac40
test eax, eax
jne 0x14030ad17
nop
cmp qword [0x140791490], 0
jne 0x14030b3cc
nop
movzx eax, byte [0x140744649]
cmp al, 0xd0
je 0x14030ad02
test bl, bl
jns 0x14030acc0
jmp 0x14030aee9
cmp eax, 0xa
jbe 0x14030ac60
cmp eax, 0xb
je 0x14030ad71
cmp eax, 0xc
jbe 0x14030ae3c
cmp eax, 0xd
je 0x14030ae4b
cmp eax, 0xe
jbe 0x14030ae6f
cmp eax, 0xf
jne 0x14030aea7
nop
mov qword [rsp + 0x30], r15
mov rcx, r15
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
jne 0x14030aeb3
test bl, 0x40
jne 0x14030aef4
nop
mov qword [rsp + 0x28], 0
test bl, bl
jns 0x14030acc0
jmp 0x14030aee9
cmp eax, 5
jne 0x14030ad44
mov edi, edi
mov ebx, 0xfa1f83a3
xor eax, eax
jmp 0x14030acae
cmp eax, 8
jae 0x14030ac9c
cmp eax, 6
jne 0x14030aefb
nop
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14030b3ec
nop
mov rax, qword [rcx]
inc rax
cmp rax, 2
jb 0x14030b3ec
nop
cmp dword [rcx + 8], 0
je 0x14030b3ec
xor eax, eax
jmp 0x14030acd0
cmp eax, 0xa
jne 0x14030af41
mov ebx, 0xfa1f83a3
xor eax, eax
xor edi, edi
jmp 0x14030ab73
mov al, 0x64
lock cmpxchg byte [0x140744649], bpl
mov rcx, r13
je 0x14030ace2
test ebx, 0x200
je 0x14030ab60
cmp al, 0xd0
jne 0x14030acc0
jmp 0x14030ad02
movabs rax, 0xcd5aa09887239546
xor qword [0x140744640], rax
xor byte [0x140744648], 0x46
mov al, 0xd0
xchg byte [0x140744649], al
nop
movzx eax, byte [0x140744663]
cmp al, 0x61
je 0x14030b3ad
jmp 0x14030b236
cmp eax, 2
jne 0x14030adbf
nop
cmp qword [0x140791480], 0
jne 0x14030b5de
nop
movzx eax, byte [0x1407445e9]
cmp al, 0x50
je 0x14030b44a
jmp 0x14030b3da
cmp eax, 3
jne 0x14030adf9
nop
cmp qword [0x140791468], 0
jne 0x14030b658
nop
movzx eax, byte [0x140744579]
cmp al, 0xb8
jne 0x14030b577
jmp 0x14030b5a5
mov ecx, 0x10
call fcn.1400954c0
mov qword [rax], r15
mov qword [rax + 8], rdi
mov rdx, qword [r15 + 8]
add rdx, 8
mov rcx, rax
call fcn.14030a8a0
mov rcx, qword [r15 + 8]
mov qword [rcx], rax
mov rax, qword [r15 + 8]
cmp qword [rax], 0
je 0x14030af53
nop
mov rcx, qword [rax]
inc rcx
cmp rcx, 2
jae 0x14030b052
xor eax, eax
jmp 0x14030b463
nop
cmp qword [0x140791460], 0
jne 0x14030b226
nop
movzx eax, byte [0x140744559]
cmp al, 0xf7
je 0x14030b141
mov cl, 0x87
mov al, 0x94
lock cmpxchg byte [0x140744559], cl
je 0x14030b065
cmp al, 0xf7
jne 0x14030ade0
jmp 0x14030b141
nop
cmp qword [0x140791488], 0
jne 0x14030b127
nop
movzx eax, byte [0x140744619]
cmp al, 0xf4
je 0x14030b0f8
mov cl, 0x43
mov al, 0x9e
lock cmpxchg byte [0x140744619], cl
je 0x14030b0d8
test bl, 0x40
jne 0x14030b3ec
cmp al, 0xf4
jne 0x14030ae1a
jmp 0x14030b0f8
mov rcx, r15
call fcn.1405c515c
xor edi, edi
jmp 0x14030b552
nop
cmp qword [0x140791478], 0
jne 0x14030b2e5
nop
movzx eax, byte [0x1407445b9]
cmp al, 0xfc
je 0x14030b4ad
jmp 0x14030b420
nop
mov rax, qword [r14 + 8]
mov edi, 1
test rax, rax
je 0x14030b552
nop
mov rcx, qword [rax]
inc rcx
cmp rcx, 2
jb 0x14030b552
nop
cmp dword [rax + 8], 0
je 0x14030b552
add r14, 8
jmp 0x14030b2fd
nop
mov edi, dword [0x140744a90]
jmp 0x14030b552
mov rcx, rax
mov rdx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x28], rax
test bl, 0x20
jne 0x14030aee9
mov cl, 0x3e
nop word [rax + rax]
mov al, 0x55
lock cmpxchg byte [0x140744634], cl
je 0x14030af85
cmp al, 0x56
jne 0x14030aed0
jmp 0x14030b108
nop
mov rdi, qword [rsp + 0x28]
jmp 0x14030b552
xor eax, eax
jmp 0x14030b248
nop
cmp qword [0x140791498], 0
jne 0x14030b711
nop
movzx eax, byte [0x140744679]
cmp al, 0x52
je 0x14030b0ad
test ebx, 0x100
jne 0x14030b585
mov cl, 0x34
mov al, 0x29
lock cmpxchg byte [0x140744679], cl
je 0x14030b07d
cmp al, 0x52
jne 0x14030af28
jmp 0x14030b0ad
cmp eax, 8
jne 0x14030af79
mov rcx, rdi
call fcn.140303480
jmp 0x14030b552
test ebx, 0x100
jne 0x14030b4ad
nop
mov qword [rax], 0xffffffffffffffff
mov rax, qword [r15 + 8]
test rax, rax
jne 0x14030ada7
jmp 0x14030adb8
nop
mov edi, dword [0x140744a8c]
jmp 0x14030b552
mov eax, 0x5a1c7def
mov ecx, 0xa5e38223
mov edx, 1
mov r8d, 0x5a1c7df0
mov r9d, 0xa5e38222
lea r11, [0x140744620]
lea rbx, [0x1405f8830]
nop
mov r15d, ecx
mov r10d, 0xaf286bcb
imul r15, r10
shr r15, 0x20
mov r13d, ecx
sub r13d, r15d
shr r13d, 1
add r13d, r15d
shr r13d, 4
lea r15d, [r13 + r13*8]
lea r15d, [r13 + r15*2]
add r15d, eax
mov r13d, r9d
imul r13, r10
shr r13, 0x20
mov ebp, r9d
sub ebp, r13d
shr ebp, 1
add ebp, r13d
shr ebp, 4
lea r13d, [rbp + rbp*8]
lea r13d, [rbp + r13*2]
add r13d, r8d
movzx ebp, byte [rdx + r11 - 1]
movzx r10d, byte [rdx + r11]
xor bpl, byte [r13 + rbx]
xor bpl, 0x40
mov byte [rdx + r11 - 1], bpl
xor r10b, byte [r15 + rbx]
xor r10b, 0x40
mov byte [rdx + r11], r10b
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
add r9d, 2
cmp rdx, 0x15
jne 0x14030afb0
mov al, 0x56
xchg byte [0x140744634], al
jmp 0x14030b108
nop
cmp dword [rax + 8], 0
setne al
or al, byte [0x140790470]
jmp 0x14030b45a
movabs rax, 0xca3762cf772d85ca
xor qword [0x140744550], rax
xor byte [0x140744558], 0x85
test bl, bl
js 0x14030b139
nop
movq xmm0, qword [0x140744670]
paddb xmm0, xmmword [0x1405f8750]
movq qword [0x140744670], xmm0
add byte [0x140744678], 0xda
mov al, 0x52
xchg byte [0x140744679], al
nop
movzx eax, byte [0x140744691]
cmp al, 0x9d
je 0x14030b6f2
mov cl, 0x14
mov al, 0xce
lock cmpxchg byte [0x140744691], cl
je 0x14030b5ff
cmp al, 0x9d
jne 0x14030b0bf
jmp 0x14030b6f2
movabs rax, 0xe1ce2bef7e90abc6
xor qword [0x140744610], rax
xor byte [0x140744618], 6
mov al, 0xf4
xchg byte [0x140744619], al
nop
movzx eax, byte [0x140744634]
cmp al, 0x56
jne 0x14030aec3
lea rdx, [0x140744620]
lea r8, [0x140744610]
mov ecx, 0x8727e3af
call fcn.14030ab30
mov qword [0x140791488], rax
mov rcx, r14
mov edx, edi
call qword [0x140791488]
mov edi, eax
jmp 0x14030b552
mov al, 0xf7
xchg byte [0x140744559], al
nop
movzx eax, byte [0x14074456c]
cmp al, 0x4f
je 0x14030b207
mov cl, 0x77
mov al, 0x23
lock cmpxchg byte [0x14074456c], cl
je 0x14030b171
cmp al, 0x4f
je 0x14030b207
test bl, 0x20
je 0x14030b153
jmp 0x14030b3ec
mov eax, 0xcb4644ed
mov ecx, 0x34b9bb1d
mov edx, 1
mov r8d, 0xcb4644ee
mov r9d, 0x34b9bb1c
mov r10d, 0xba2e8ba3
lea r11, [0x140744560]
lea rbx, [0x1405f87f0]
mov r14d, ecx
imul r14, r10
shr r14, 0x23
lea r15d, [r14 + r14*4]
lea r14d, [r14 + r15*2]
add r14d, eax
mov r15d, r9d
imul r15, r10
shr r15, 0x23
lea r13d, [r15 + r15*4]
lea r15d, [r15 + r13*2]
add r15d, r8d
movzx ebp, byte [r15 + rbx]
xor bpl, 0x41
add byte [rdx + r11 - 1], bpl
movzx ebp, byte [r14 + rbx]
xor bpl, 0x41
add byte [rdx + r11], bpl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
add r9d, 2
cmp rdx, 0xd
jne 0x14030b1a0
mov al, 0x4f
xchg byte [0x14074456c], al
lea rdx, [0x140744560]
lea r8, [0x140744550]
mov ecx, 0x8727e3af
call fcn.14030ab30
mov qword [0x140791460], rax
mov rcx, rdi
call qword [0x140791460]
mov edi, eax
jmp 0x14030b552
mov cl, 0xf4
mov al, 0xc9
lock cmpxchg byte [0x140744663], cl
je 0x14030b2f8
cmp al, 0x61
jne 0x14030b236
test bl, 0x20
je 0x14030b3ad
mov eax, 0xb
lea rcx, [0x1407445c0]
lea rdx, [0x1405f8800]
nop dword [rax + rax]
mov r8d, eax
not r8d
lea r9d, [rax - 1]
and r9d, 0xe
xor r9, 0xf
movzx r10d, byte [rax + rcx - 0xb]
movzx r11d, byte [rax + rcx - 0xa]
xor r10b, byte [r9 + rdx]
xor r10b, 0x9e
mov byte [rax + rcx - 0xb], r10b
and r8d, 0xe
xor r11b, byte [r8 + rdx]
xor r11b, 0x9e
mov byte [rax + rcx - 0xa], r11b
add rax, 2
cmp rax, 0x1b
jne 0x14030b270
mov al, 0xf3
xchg byte [0x1407445d0], al
lea rdx, [0x1407445c0]
lea r8, [0x1407445b0]
mov ecx, 0x8727e3af
call fcn.14030ab30
mov qword [0x140791478], rax
test bl, bl
js 0x14030b658
mov rcx, r15
mov edx, r14d
call qword [0x140791478]
mov edi, eax
jmp 0x14030b552
lea r14, [rsp + 0x30]
test ebx, 0x100
jne 0x14030b319
mov rcx, r14
xor edx, edx
call fcn.140309c10
mov edi, 1
jmp 0x14030b552
mov ecx, 0x953aa38c
mov r8d, 0x953aa38b
xor r10d, r10d
movabs r11, 0xd79435e50d79435f
lea rax, [0x1405f8850]
mov edi, 0x953aa37e
add rdi, rax
lea rbx, [0x140744650]
nop word [rax + rax]
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 + 0xd]
xor al, 7
add byte [r10 + rbx], al
cmp r10, 0x12
je 0x14030b3a5
shr r9, 4
imul rax, r9, 0xffffffffffffffed
add rax, rdi
add rax, 0xe
movzx eax, byte [rax + r10]
xor al, 7
add byte [r10 + rbx + 1], al
add r10, 2
add rcx, 2
add r8, 2
jmp 0x14030b350
mov al, 0x61
xchg byte [0x140744663], al
lea rdx, [0x140744650]
lea r8, [0x140744640]
mov ecx, 0x8727e3af
call fcn.14030ab30
mov qword [0x140791490], rax
nop
call qword [0x140791490]
mov edi, eax
jmp 0x14030b552
mov cl, 0xd8
mov al, 0x72
lock cmpxchg byte [0x1407445e9], cl
jne 0x14030b432
test bl, bl
js 0x14030b3f6
mov edi, 1
jmp 0x14030b552
nop
movq xmm0, qword [0x1407445e0]
paddb xmm0, xmmword [0x1405f8740]
movq qword [0x1407445e0], xmm0
add byte [0x1407445e8], 0x29
mov al, 0x50
xchg byte [0x1407445e9], al
jmp 0x14030b44a
mov cl, 0x43
mov al, 0x17
lock cmpxchg byte [0x1407445b9], cl
je 0x14030b485
cmp al, 0xfc
je 0x14030b4ad
test ebx, 0x200
jne 0x14030b420
cmp al, 0x50
jne 0x14030b3da
test ebx, 0x400
je 0x14030b585
nop
movzx ebp, byte [0x140744602]
cmp bpl, 0x56
jne 0x14030b46e
xor eax, eax
test bl, 0x40
je 0x14030b5bf
movzx edi, al
and edi, 1
jmp 0x14030b552
mov cl, 0x1e
mov al, 0xf9
lock cmpxchg byte [0x140744602], cl
je 0x14030b4d8
cmp al, 0x56
jne 0x14030b470
jmp 0x14030b5bf
nop
movq xmm0, qword [0x1407445b0]
paddb xmm0, xmmword [0x1405f8730]
movq qword [0x1407445b0], xmm0
add byte [0x1407445b8], 0x4d
mov al, 0xfc
xchg byte [0x1407445b9], al
nop
movzx eax, byte [0x1407445d0]
cmp al, 0xf3
je 0x14030b2be
mov cl, 0x87
mov al, 0x80
lock cmpxchg byte [0x1407445d0], cl
je 0x14030b255
cmp al, 0xf3
jne 0x14030b4bf
jmp 0x14030b2be
mov ecx, 0x1cadb6fc
mov edx, 0xe3524916
mov r8d, 1
mov r9d, 0x1cadb6fd
mov r10d, 0xcccccccd
lea r11, [0x1407445f0]
lea r15, [0x1405f8810]
mov eax, ebp
mov r13d, edx
imul r13, r10
shr r13, 0x24
shl r13d, 2
lea r13d, [r13 + r13*4]
lea ebp, [rcx + r13]
add r13d, r9d
movzx r13d, byte [r13 + r15]
xor r13b, 0x6e
add byte [r8 + r11 - 1], r13b
movzx ebp, byte [rbp + r15]
xor bpl, 0x6e
add byte [r8 + r11], bpl
add ecx, 0xfffffffe
add edx, 2
add r8, 2
add r9d, 0xfffffffe
cmp r8, 0x13
jne 0x14030b504
jmp 0x14030b56e
test r12b, 1
cmove rsi, rdi
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test bl, 0x20
je 0x14030b5b7
cmp al, 0xb8
je 0x14030b5a5
mov cl, 0xee
mov al, 0xc6
lock cmpxchg byte [0x140744579], cl
jne 0x14030b56e
movabs rax, 0x5ff97086e0b07d2a
xor qword [0x140744570], rax
xor byte [0x140744578], 0x24
mov al, 0xb8
xchg byte [0x140744579], al
nop
movzx eax, byte [0x140744586]
cmp al, 0xab
je 0x14030b639
jmp 0x14030b5f1
mov al, 0x56
xchg byte [0x140744602], al
lea rdx, [0x1407445f0]
lea r8, [0x1407445e0]
mov ecx, 0x8727e3af
call fcn.14030ab30
mov qword [0x140791480], rax
mov rcx, rdi
mov rdx, r14
call qword [0x140791480]
mov edi, eax
jmp 0x14030b552
mov cl, 0x30
mov al, 0x11
lock cmpxchg byte [0x140744586], cl
je 0x14030b60a
test bl, 0x40
jne 0x14030b667
cmp al, 0xab
jne 0x14030b5f1
jmp 0x14030b639
nop
movdqa xmm0, xmmword [0x140744580]
pxor xmm0, xmmword [0x1405f8760]
movd dword [0x140744580], xmm0
xor byte [0x140744584], 0x6c
xor byte [0x140744585], 0xfc
mov al, 0xab
xchg byte [0x140744586], al
lea rdx, [0x140744580]
lea r8, [0x140744570]
mov ecx, 0x8727e3af
call fcn.14030ab30
mov qword [0x140791468], rax
mov ecx, edi
call qword [0x140791468]
xor edi, edi
jmp 0x14030b552
mov eax, 0x7fdc69e9
mov ecx, 0x80239627
mov edx, 0x7fdc69ea
mov r8d, 0x80239626
xor r9d, r9d
mov r10d, 0xf0f0f0f1
lea r11, [0x140744680]
lea rdi, [0x1405f8870]
mov ebx, r8d
imul rbx, r10
shr rbx, 0x24
lea ebp, [rdx + rbx]
shl ebx, 4
add ebx, ebp
movzx ebx, byte [rbx + rdi]
xor bl, 0xbc
add byte [r9 + r11], bl
cmp r9, 0x10
je 0x14030b6ea
mov ebx, ecx
imul rbx, r10
shr rbx, 0x24
lea ebp, [rax + rbx]
shl ebx, 4
add ebx, ebp
mov ebx, ebx
movzx ebx, byte [rbx + rdi]
xor bl, 0xbc
add byte [r9 + r11 + 1], bl
add r9, 2
add eax, 0xfffffffe
add ecx, 2
add edx, 0xfffffffe
add r8d, 2
jmp 0x14030b693
mov al, 0x9d
xchg byte [0x140744691], al
lea rdx, [0x140744680]
lea r8, [0x140744670]
mov ecx, 0x8727e3af
call fcn.14030ab30
mov qword [0x140791498], rax
nop
call qword [0x140791498]
mov rdi, rax
jmp 0x14030b552