Function at 0x180001e96
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, 0x48
mov rsi, r8
mov rdi, rdx
mov qword [rsp + 0x20], rcx
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 8]
mov dword [rsp + 0x44], eax
mov eax, 0xebaf3252
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
cmp eax, 0xf6e93f68
jg 0x180001f0e
cmp eax, 0xc2d1b443
jle 0x180001f5f
cmp eax, 0xd64e6495
jle 0x180001fd4
cmp eax, 0xebaf3251
jg 0x1800020f3
cmp eax, 0xd64e6496
je 0x180002131
cmp eax, 0xdb2a9397
je 0x18000214b
jmp 0x180001ed2
cmp eax, 0x44c23c79
jle 0x180001f9b
cmp eax, 0x68dc8a7a
jg 0x18000200a
cmp eax, 0x5229bff2
jg 0x180002116
cmp eax, 0x44c23c7a
je 0x18000213b
cmp eax, 0x4dcb4468
jne 0x180001ed2
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x3d0], 0x10
mov eax, 0x7e0018e6
mov ecx, 0x44c23c7a
cmove eax, ecx
jmp 0x180001ed2
cmp eax, 0xaee3d991
jg 0x180002059
cmp eax, 0x8a6ac398
je 0x180002155
cmp eax, 0xabc09fc6
je 0x18000216a
cmp eax, 0xac904214
jne 0x180001ed2
mov eax, 0x8a6ac398
xor r14d, r14d
xor r12d, r12d
jmp 0x180001ed2
cmp eax, 0x3bd22bcd
jg 0x180002087
cmp eax, 0xf6e93f69
je 0x180002177
cmp eax, 0x83b0b8f
je 0x180002247
cmp eax, 0x15284be7
jne 0x180001ed2
xor r15d, r15d
mov eax, 0x68dc8a7b
jmp 0x180001ed2
cmp eax, 0xc2d1b444
je 0x180002254
cmp eax, 0xc940fce9
je 0x18000226f
cmp eax, 0xcaa45c19
jne 0x180001ed2
cmp r14d, ebp
mov eax, 0xb68870a2
mov ecx, 0xf6e93f69
cmovl eax, ecx
jmp 0x180001ed2
cmp eax, 0x68dc8a7b
je 0x18000227c
cmp eax, 0x75080375
je 0x1800022bf
cmp eax, 0x7e0018e6
jne 0x180001ed2
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x3d0]
lea ebp, [rax + 3]
test eax, eax
cmovns ebp, eax
sar ebp, 2
and eax, 0xfffffffc
cmp eax, 0x10
mov eax, 0xc2d1b444
mov ecx, 0x15284be7
cmove eax, ecx
jmp 0x180001ed2
cmp eax, 0xaee3d992
je 0x18000214b
cmp eax, 0xb68870a2
je 0x18000238c
cmp eax, 0xbd784024
jne 0x180001ed2
inc r14d
mov eax, 0x3e1ec9df
jmp 0x180001ed2
cmp eax, 0x3bd22bce
je 0x1800023bf
cmp eax, 0x3e1ec9df
je 0x1800023dd
cmp eax, 0x40113b96
jne 0x180001ed2
movzx eax, byte [rdi]
shl eax, 0x18
mov dword [rbx], eax
movzx ecx, byte [rdi + 1]
shl ecx, 0x10
or ecx, eax
mov dword [rbx], ecx
movzx eax, byte [rdi + 2]
shl eax, 8
or eax, ecx
mov dword [rbx], eax
mov rcx, qword [rsp + 0x20]
movsxd rdx, r14d
movzx r8d, byte [rdi + 3]
or r8d, eax
xor r8d, dword [rcx + rdx*4 + 0x1ec]
add rdi, 4
mov dword [rbx], r8d
add rbx, 4
mov eax, 0xbd784024
jmp 0x180001ed2
cmp eax, 0xebaf3252
je 0x1800023f2
cmp eax, 0xef9a817a
jne 0x180001ed2
inc r14d
mov eax, 0xcaa45c19
jmp 0x180001ed2
cmp eax, 0x588d2eef
jne 0x180002409
mov eax, 0x3bd22bce
mov r13d, 1
jmp 0x180001ed2
mov eax, 0xac904214
jmp 0x180001ed2
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
mov r8, rsi
call fcn.180001524
mov eax, 0x5229bff3
jmp 0x180001ed2
cmp r14d, ebp
mov eax, 0xdb2a9397
mov ecx, 0x75080375
cmovl eax, ecx
jmp 0x180001ed2
mov eax, 0xcaa45c19
xor r14d, r14d
jmp 0x180001ed2
mov rax, qword [rsp + 0x20]
movsxd rcx, r14d
mov r9d, dword [rax + rcx*4 + 0x458]
shr r9, 0x16
mov r10d, 0x3fc
and r9, r10
mov r8, qword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
add eax, r14d
cdq
idiv ebp
movsxd rax, edx
mov eax, dword [r8 + rax*4 + 0x458]
shr rax, 0xe
and rax, r10
lea rdx, [0x180008500]
mov r8d, dword [rax + rdx]
lea rax, [0x180008100]
xor r8d, dword [r9 + rax]
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
add eax, r14d
cdq
idiv ebp
movsxd rax, edx
mov eax, dword [r9 + rax*4 + 0x458]
movzx eax, ah
lea rdx, [0x180008900]
xor r8d, dword [rdx + rax*4]
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
add eax, r14d
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [r9 + rax*4 + 0x458]
lea rdx, [0x180008d00]
xor r8d, dword [rdx + rax*4]
movsxd rax, r13d
shl rax, 5
add rax, qword [rsp + 0x20]
xor r8d, dword [rax + rcx*4 + 0x1ec]
mov rax, qword [rsp + 0x20]
mov dword [rax + rcx*4 + 0x438], r8d
mov eax, 0xef9a817a
jmp 0x180001ed2
inc r13d
mov eax, 0x3bd22bce
jmp 0x180001ed2
xor eax, eax
cmp ebp, 6
sete al
mov r15d, 2
sub r15d, eax
mov eax, 0x68dc8a7b
jmp 0x180001ed2
inc r14d
mov eax, 0x8a6ac398
jmp 0x180001ed2
movsxd rax, r15d
shl rax, 5
lea rcx, [0x180009200]
mov edx, dword [rax + rcx + 0xc]
mov qword [rsp + 0x38], rdx
mov edx, dword [rax + rcx + 0x14]
mov qword [rsp + 0x30], rdx
mov eax, dword [rax + rcx + 0x1c]
mov qword [rsp + 0x28], rax
mov rbx, qword [rsp + 0x20]
mov eax, 0x458
add rbx, rax
mov eax, 0x3e1ec9df
xor r14d, r14d
jmp 0x180001ed2
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
movsxd rcx, dword [rcx + 0x3d4]
movsxd rdx, r14d
shl rcx, 5
add rcx, rax
mov ecx, dword [rcx + rdx*4 + 0x1ec]
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + rdx*4 + 0x45b]
mov edx, ecx
shr edx, 0x18
lea r10, [0x180009100]
xor dl, byte [rax + r10]
movsxd r8, r12d
mov byte [rsi + r8], dl
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
add eax, r14d
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [r9 + rax*4 + 0x45a]
mov edx, ecx
shr edx, 0x10
xor dl, byte [rax + r10]
mov byte [rsi + r8 + 1], dl
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
add eax, r14d
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [r9 + rax*4 + 0x459]
mov edx, ecx
shr edx, 8
xor dl, byte [rax + r10]
mov byte [rsi + r8 + 2], dl
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
add eax, r14d
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [r9 + rax*4 + 0x458]
xor cl, byte [rax + r10]
lea r12d, [r8 + 4]
mov byte [rsi + r8 + 3], cl
mov eax, 0xc940fce9
jmp 0x180001ed2
mov rcx, qword [rsp + 0x20]
mov eax, 0x458
add rcx, rax
mov rdx, qword [rsp + 0x20]
mov eax, 0x438
add rdx, rax
lea eax, [rbp*4]
movsxd r8, eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x83b0b8f
jmp 0x180001ed2
mov rax, qword [rsp + 0x20]
cmp r13d, dword [rax + 0x3d4]
mov eax, 0xd64e6496
mov ecx, 0xabc09fc6
cmovl eax, ecx
jmp 0x180001ed2
cmp r14d, ebp
mov eax, 0x588d2eef
mov ecx, 0x40113b96
cmovl eax, ecx
jmp 0x180001ed2
cmp dword [rsp + 0x44], 0
mov eax, 0x4dcb4468
mov ecx, 0xaee3d992
cmove eax, ecx
jmp 0x180001ed2
cmp eax, 0x5229bff3
jne 0x180001ed2
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret