Function at 0x14000c360
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x70], rdx
mov rdi, rcx
lea rax, [rcx + 0xc]
mov qword [rsp + 0x90], rax
lea rax, [rcx + 8]
mov qword [rsp + 0x88], rax
lea rbp, [rcx + 4]
mov eax, 0xa54b0133
mov r13d, 0x7c8cc7c3
mov r14d, 0x3920025c
lea rsi, [0x1400472d0]
mov r8d, 0xac1d16d8
mov r15d, 0xfed8b907
mov r12d, 0xeacd51f3
mov qword [rsp + 0x48], rbp
jmp 0x14000c3fd
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x2a34d0db
mov ecx, 0x1364a72f
nop word cs:[rax + rax]
nop dword [rax + rax]
cmove eax, ecx
cmp dword [0x140053de0], 0xa
cmovl eax, ecx
cmp eax, 0xfcebe609
jle 0x14000c440
cmp eax, 0x1a918c0f
jle 0x14000c4a0
cmp eax, 0x470df61c
jle 0x14000c516
cmp eax, 0x6057e709
jle 0x14000c5ca
cmp eax, 0x6057e70a
je 0x14000c5e3
cmp eax, 0x78553b45
jne 0x14000c3fd
mov eax, 0xfc78fdf4
jmp 0x14000c3fd
cmp eax, 0xc0a1f76e
jg 0x14000c4e0
cmp eax, 0x9c0da1a3
jg 0x14000c549
cmp eax, 0x846c4904
je 0x14000c601
cmp eax, 0x8b2c0b17
je 0x14000c60b
cmp eax, 0x97b769b8
jne 0x14000c3fd
mov rcx, rdi
call fcn.14000df50
mov rbp, qword [rsp + 0x48]
mov r8d, 0xac1d16d8
lea rsi, [0x1400472d0]
mov eax, 0xd0d511da
jmp 0x14000c3fd
cmp eax, 0x1364a72e
jg 0x14000c574
cmp eax, 0xfcebe60a
je 0x14000c629
cmp eax, 0xffa42e4c
je 0x14000c647
cmp eax, 0x894a4d8
jne 0x14000c3fd
mov eax, 0x9c0da1a4
mov byte [rsp + 0x22], 9
jmp 0x14000c3fd
cmp eax, 0xd0d511d9
jg 0x14000c59f
cmp eax, 0xc0a1f76f
je 0x14000c665
cmp eax, 0xc4ee34f9
je 0x14000c66f
cmp eax, 0xca010623
jne 0x14000c3fd
mov eax, 0x6057e70a
jmp 0x14000c3fd
cmp eax, 0x1a918c10
je 0x14000c68d
cmp eax, 0x2a34d0db
je 0x14000c697
cmp eax, 0x3f413652
jne 0x14000c3fd
mov eax, 0x9c0da1a4
mov cl, byte [rsp + 0x27]
mov byte [rsp + 0x22], cl
jmp 0x14000c3fd
cmp eax, 0x9c0da1a4
je 0x14000c6c2
cmp eax, 0xa102a6a2
je 0x14000c3c8
cmp eax, 0xa54b0133
jne 0x14000c3fd
mov eax, 0xa102a6a2
jmp 0x14000c3fd
cmp eax, 0x1364a72f
je 0x14000cddd
cmp eax, 0x1519bd5e
je 0x14000ce1c
cmp eax, 0x16bc8354
jne 0x14000c3fd
mov eax, 0xc4ee34f9
jmp 0x14000c3fd
cmp eax, 0xd0d511da
je 0x14000ce3a
cmp eax, 0xeedc87cb
je 0x14000ce72
cmp eax, 0xfc78fdf4
jne 0x14000c3fd
mov eax, 0x894a4d8
jmp 0x14000c3fd
cmp eax, 0x470df61d
jne 0x14000ce9a
mov al, byte [rsp + 0x21]
mov eax, 0xeedc87cb
jmp 0x14000c3fd
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xca010623
mov ecx, 0x3f413652
jmp 0x14000c3f0
mov eax, 0x8b2c0b17
jmp 0x14000c3fd
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x470df61d
mov ecx, 0xeedc87cb
jmp 0x14000c3f0
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a918c10
mov ecx, 0x5c909b45
jmp 0x14000c3f0
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x97b769b8
mov ecx, 0xd0d511da
jmp 0x14000c3f0
mov eax, 0x16bc8354
jmp 0x14000c3fd
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xca010623
mov ecx, 0x6057e70a
jmp 0x14000c3f0
mov eax, 0xfcebe60a
jmp 0x14000c3fd
mov cl, 0xa
mov rdx, rdi
mov r8, qword [rsp + 0x70]
call fcn.14000d8a0
mov rbp, qword [rsp + 0x48]
mov r8d, 0xac1d16d8
lea rsi, [0x1400472d0]
mov eax, 0x1364a72f
jmp 0x14000c3fd
mov al, byte [rsp + 0x22]
mov byte [rsp + 0x21], al
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
add rax, 1
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov al, byte [rax]
mov byte [rsp + 0x23], al
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x58], rax
mov eax, 0x79a6f900
jmp 0x14000c716
mov eax, 0x4e450660
nop dword [rax]
cmp ecx, 0xa
cmovl eax, edx
cmp eax, 0x3e3eb2df
jg 0x14000c7f0
cmp eax, 0xfe332f97
jle 0x14000c880
cmp eax, 0x38f53c9c
jle 0x14000c91b
cmp eax, 0x38f53c9d
je 0x14000c955
cmp eax, 0x3b32dce8
jne 0x14000c716
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x25]
mov byte [rax], cl
movzx eax, byte [rsp + 0x23]
mov rcx, qword [rsp + 0x38]
mov byte [rcx], al
mov rax, qword [rsp + 0x28]
movzx ecx, byte [rax + 2]
mov rdx, qword [rsp + 0x58]
movzx ebx, byte [rdx + 2]
mov byte [rax + 2], bl
mov byte [rdx + 2], cl
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 2]
mov rdx, qword [rsp + 0x50]
movzx ebx, byte [rdx + 2]
mov byte [rax + 2], bl
mov byte [rdx + 2], cl
mov rax, qword [rsp + 0x28]
add rax, 3
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax]
mov byte [rsp + 0x26], al
mov rax, qword [rsp + 0x30]
add rax, 3
mov qword [rsp + 0x40], rax
mov eax, dword [0x140053e0c]
mov ecx, dword [0x140053e10]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0x3e3eb2e0
mov eax, 0x3e3eb2e0
test bl, 1
je 0x14000c710
jmp 0x14000c94b
cmp eax, 0x779cb074
jg 0x14000c8d0
cmp eax, 0x3e3eb2e0
je 0x14000c9b2
cmp eax, 0x4e450660
je 0x14000c9bc
cmp eax, 0x5f9d5de6
jne 0x14000c716
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x25]
mov byte [rax], cl
movzx eax, byte [rsp + 0x23]
mov rcx, qword [rsp + 0x38]
mov byte [rcx], al
mov rax, qword [rsp + 0x28]
movzx ecx, byte [rax + 2]
mov rdx, qword [rsp + 0x58]
movzx ebx, byte [rdx + 2]
mov byte [rax + 2], bl
mov byte [rdx + 2], cl
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 2]
mov rdx, qword [rsp + 0x50]
movzx ebx, byte [rdx + 2]
mov byte [rax + 2], bl
mov byte [rdx + 2], cl
mov rax, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov eax, 0x3b32dce8
jmp 0x14000c716
cmp eax, 0x93e64d88
je 0x14000c9e0
cmp eax, 0xe076a635
je 0x14000ca1d
cmp eax, 0xf5a9612c
jne 0x14000c716
mov eax, dword [0x140053e0c]
mov ecx, dword [0x140053e10]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0xe076a635
mov eax, 0xe076a635
test bl, 1
je 0x14000c710
jmp 0x14000c704
cmp eax, 0x779cb075
je 0x14000ca97
cmp eax, 0x77ba1b6d
je 0x14000cac6
cmp eax, 0x79a6f900
jne 0x14000c716
mov rax, qword [rsp + 0x58]
add rax, 1
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
mov byte [rsp + 0x24], al
mov eax, 0xf5a9612c
jmp 0x14000c716
cmp eax, 0x32ecf020
jne 0x14000cad0
mov eax, dword [0x140053e0c]
mov ecx, dword [0x140053e10]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0x3b32dce8
mov eax, 0x3b32dce8
test bl, 1
je 0x14000c710
mov eax, 0x5f9d5de6
jmp 0x14000c710
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x68]
mov byte [rcx], al
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rax + 3]
mov rdx, qword [rsp + 0x40]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rcx + 3]
mov byte [rax + 3], dl
movzx eax, byte [rsp + 0x26]
mov byte [rcx + 3], al
mov eax, dword [0x140053e0c]
mov ecx, dword [0x140053e10]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0xfe332f98
mov eax, 0xfe332f98
test bl, 1
je 0x14000c710
jmp 0x14000cabc
mov eax, 0x779cb075
jmp 0x14000c716
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x24]
mov byte [rax], cl
movzx eax, byte [rdi + 5]
mov rcx, qword [rsp + 0x80]
mov byte [rcx], al
mov eax, 0xe076a635
jmp 0x14000c716
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x68]
mov byte [rcx], al
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rax + 3]
mov rdx, qword [rsp + 0x40]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rcx + 3]
mov byte [rax + 3], dl
movzx eax, byte [rsp + 0x26]
mov byte [rcx + 3], al
mov eax, 0x38f53c9d
jmp 0x14000c716
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x24]
mov byte [rax], cl
mov qword [rsp + 0x30], rbp
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x80]
mov byte [rcx], al
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov byte [rsp + 0x25], al
mov eax, dword [0x140053e0c]
mov ecx, dword [0x140053e10]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0x77ba1b6d
mov eax, 0x77ba1b6d
test bl, 1
je 0x14000c710
jmp 0x14000c704
mov eax, dword [0x140053e0c]
mov ecx, dword [0x140053e10]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0x38f53c9d
mov eax, 0x38f53c9d
test bl, 1
je 0x14000c710
mov eax, 0x93e64d88
jmp 0x14000c710
mov eax, 0x32ecf020
jmp 0x14000c716
cmp eax, 0xfe332f98
jne 0x14000c716
mov edx, 0xb3ac963a
mov ebp, 0xe44392f9
jmp 0x14000cb00
movzx edx, byte [rsp + 0x28]
mov edx, 0x7c8cc7c3
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp edx, 0xfed8b906
jle 0x14000cb60
cmp edx, 0x3f04d4f3
jg 0x14000cba0
cmp edx, 0x1f8b6f65
jle 0x14000cbfe
cmp edx, 0x1f8b6f66
je 0x14000cce3
cmp edx, 0x3920025c
jne 0x14000cd97
mov edx, dword [0x140053e14]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
mov edx, 0xe061cc0e
cmove edx, r15d
cmp dword [0x140053e18], 0xa
cmovl edx, r15d
jmp 0x14000cb00
cmp edx, 0xdd573235
jg 0x14000cbd0
cmp edx, 0xb3ac9639
jg 0x14000cc2c
cmp edx, 0x97ab0be2
je 0x14000ccf2
cmp edx, 0xac1d16d8
jne 0x14000cb00
mov edx, 0x526cff23
jmp 0x14000cb00
cmp edx, 0x56f94b33
jg 0x14000cc6b
cmp edx, 0x3f04d4f4
je 0x14000cae7
cmp edx, 0x526cff23
jne 0x14000cb00
mov edx, 0x56f94b34
xor ecx, ecx
jmp 0x14000cb00
cmp edx, 0xe44392f8
jg 0x14000ccb8
cmp edx, 0xdd573236
je 0x14000cd1e
cmp edx, 0xe061cc0e
jne 0x14000cb00
mov edx, 0x3920025c
jmp 0x14000cb00
cmp edx, 0xfed8b907
je 0x14000cd2a
cmp edx, 0x1899757d
jne 0x14000cb00
movzx edx, byte [rsp + 0x28]
add dl, 1
mov byte [rsp + 0x60], dl
mov edx, 0x1f8b6f66
jmp 0x14000cb00
cmp edx, 0xb3ac963a
je 0x14000cd34
cmp edx, 0xc24f7e2b
jne 0x14000cb00
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x40]
movzx ebx, byte [rcx + rdx]
movzx ebx, byte [rbx + rsi]
mov byte [rcx + rdx], bl
movzx ecx, byte [rsp + 0x38]
add cl, 1
mov edx, 0x56f94b34
jmp 0x14000cb00
cmp edx, 0x56f94b34
je 0x14000cd5c
cmp edx, 0x7c8cc7c3
jne 0x14000cb00
movzx edx, byte [rsp + 0x28]
cmp dl, 4
setb byte [rsp + 0x30]
mov edx, dword [0x140053e14]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
mov edx, 0x3f04d4f4
cmove edx, r12d
cmp dword [0x140053e18], 0xa
cmovl edx, r12d
jmp 0x14000cb00
cmp edx, 0xe44392f9
je 0x14000cd75
cmp edx, 0xeacd51f3
jne 0x14000cb00
cmp byte [rsp + 0x30], 0
mov edx, 0x22ee670e
cmovne edx, r8d
jmp 0x14000cb00
mov edx, 0x97ab0be2
movzx eax, byte [rsp + 0x60]
jmp 0x14000cb00
mov byte [rsp + 0x28], al
mov edx, dword [0x140053e14]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
mov edx, 0x3f04d4f4
cmove edx, r13d
cmp dword [0x140053e18], 0xa
cmovl edx, r13d
jmp 0x14000cb00
mov edx, 0x97ab0be2
xor eax, eax
jmp 0x14000cb00
mov edx, 0xdd573236
jmp 0x14000cb00
mov edx, dword [0x140053e14]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
mov edx, 0xe061cc0e
cmove edx, r14d
cmp dword [0x140053e18], 0xa
cmovl edx, r14d
jmp 0x14000cb00
mov byte [rsp + 0x38], cl
movzx edx, byte [rsp + 0x38]
cmp dl, 4
mov edx, 0x1899757d
cmovb edx, ebp
jmp 0x14000cb00
movzx edx, byte [rsp + 0x38]
lea rdx, [rdi + rdx*4]
mov qword [rsp + 0x68], rdx
movzx edx, byte [rsp + 0x28]
mov qword [rsp + 0x40], rdx
mov edx, 0xc24f7e2b
jmp 0x14000cb00
cmp edx, 0x22ee670e
jne 0x14000cb00
mov cl, byte [rsp + 0x21]
mov rdx, rdi
mov r8, qword [rsp + 0x70]
call fcn.14000d8a0
mov r8d, 0xac1d16d8
lea rsi, [0x1400472d0]
cmp byte [rsp + 0x21], 0
mov eax, 0xffa42e4c
mov ecx, 0x1519bd5e
cmove eax, ecx
mov rbp, qword [rsp + 0x48]
jmp 0x14000c3fd
mov cl, 0xa
mov rdx, rdi
mov r8, qword [rsp + 0x70]
call fcn.14000d8a0
mov rbp, qword [rsp + 0x48]
mov r8d, 0xac1d16d8
lea rsi, [0x1400472d0]
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x2a34d0db
mov ecx, 0x78553b45
jmp 0x14000c3f0
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a918c10
mov ecx, 0xfcebe60a
jmp 0x14000c3f0
mov rcx, rdi
call fcn.14000df50
mov rbp, qword [rsp + 0x48]
mov r8d, 0xac1d16d8
lea rsi, [0x1400472d0]
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x97b769b8
mov ecx, 0x846c4904
jmp 0x14000c3f0
mov al, byte [rsp + 0x21]
add al, 0xff
mov byte [rsp + 0x27], al
mov eax, dword [0x140053ddc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x470df61d
mov ecx, 0xc0a1f76f
jmp 0x14000c3f0
cmp eax, 0x5c909b45
jne 0x14000c3fd
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret