Function at 0x180001918
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, 0x6e9fc59
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
cmp eax, 0x6e8c34a
jg 0x180001997
cmp eax, 0xc3999181
jle 0x1800019d0
cmp eax, 0xf163c29a
jle 0x180001b0d
cmp eax, 0xf72aa663
jg 0x180001bfe
cmp eax, 0xf163c29b
je 0x180001cc3
cmp eax, 0xf6ae400c
jne 0x180001954
mov eax, 0x7aae5541
xor r14d, r14d
xor r13d, r13d
jmp 0x180001954
cmp eax, 0x46edd461
jg 0x180001a11
cmp eax, 0x26a21597
jle 0x180001b38
cmp eax, 0x3a8e6335
jg 0x180001c57
cmp eax, 0x26a21598
je 0x180001c6f
cmp eax, 0x33304b2a
jne 0x180001954
inc r14d
mov eax, 0x9c11d262
jmp 0x180001954
cmp eax, 0xa083eff6
jg 0x180001b73
cmp eax, 0x8387fd3b
je 0x180001c7b
cmp eax, 0x89f7464c
je 0x180001c88
cmp eax, 0x9c11d262
jne 0x180001954
cmp r14d, r15d
mov eax, 0xa8bfe772
mov ecx, 0x512a92bd
cmovl eax, ecx
jmp 0x180001954
cmp eax, 0x68d2558b
jg 0x180001bc8
cmp eax, 0x46edd462
je 0x180001c95
cmp eax, 0x4cc20820
je 0x180001cb3
cmp eax, 0x512a92bd
jne 0x180001954
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 r15d
movsxd rax, edx
mov eax, dword [r8 + rax*4 + 0x458]
shr rax, 0xe
and rax, r10
lea rdx, [0x180007400]
mov r8d, dword [rax + rdx]
lea rax, section..rdata
xor r8d, dword [r9 + rax]
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
add eax, r14d
cdq
idiv r15d
movsxd rax, edx
mov eax, dword [r9 + rax*4 + 0x458]
movzx eax, ah
lea rdx, [0x180007800]
xor r8d, dword [rdx + rax*4]
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
add eax, r14d
cdq
idiv r15d
movsxd rax, edx
movzx eax, byte [r9 + rax*4 + 0x458]
lea rdx, [0x180007c00]
xor r8d, dword [rdx + rax*4]
movsxd rax, r12d
shl rax, 5
add rax, qword [rsp + 0x20]
xor r8d, dword [rax + rcx*4 + 0xc]
mov rax, qword [rsp + 0x20]
mov dword [rax + rcx*4 + 0x438], r8d
mov eax, 0x33304b2a
jmp 0x180001954
cmp eax, 0xc3999182
je 0x180001ccd
cmp eax, 0xc4234a2b
je 0x180001cdd
cmp eax, 0xe1ad6090
jne 0x180001954
mov eax, 0xf6ae400c
jmp 0x180001954
cmp eax, 0x6e8c34b
je 0x180001cf2
cmp eax, 0x6e9fc59
je 0x180001dbf
cmp eax, 0x7831363
jne 0x180001954
xor eax, eax
cmp r15d, 6
sete al
mov ebp, 2
sub ebp, eax
mov eax, 0xf82186b7
jmp 0x180001954
cmp eax, 0xa083eff7
je 0x180001dd6
cmp eax, 0xa106e0dc
je 0x180001cc3
cmp eax, 0xa8bfe772
jne 0x180001954
mov rcx, qword [rsp + 0x20]
mov eax, 0x458
add rcx, rax
mov rdx, qword [rsp + 0x20]
mov eax, 0x438
add rdx, rax
lea eax, [r15*4]
movsxd r8, eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0xa083eff7
jmp 0x180001954
cmp eax, 0x68d2558c
je 0x180001de3
cmp eax, 0x6f992eb9
je 0x180001e2b
cmp eax, 0x7aae5541
jne 0x180001954
cmp r14d, r15d
mov eax, 0xa106e0dc
mov ecx, 0x6e8c34b
cmovl eax, ecx
jmp 0x180001954
cmp eax, 0xf72aa664
je 0x180001e49
cmp eax, 0xf82186b7
jne 0x180001954
movsxd rax, ebp
shl rax, 5
lea rcx, [0x180009200]
mov edx, dword [rax + rcx + 8]
mov qword [rsp + 0x38], rdx
mov edx, dword [rax + rcx + 0x10]
mov qword [rsp + 0x30], rdx
mov eax, dword [rax + rcx + 0x18]
mov qword [rsp + 0x28], rax
mov rbx, qword [rsp + 0x20]
mov eax, 0x458
add rbx, rax
mov eax, 0xc4234a2b
xor r14d, r14d
jmp 0x180001954
cmp eax, 0x425ec748
jne 0x180001e7a
mov eax, 0x9c11d262
xor r14d, r14d
jmp 0x180001954
xor ebp, ebp
mov eax, 0xf82186b7
jmp 0x180001954
inc r14d
mov eax, 0x7aae5541
jmp 0x180001954
inc r14d
mov eax, 0xc4234a2b
jmp 0x180001954
mov rax, qword [rsp + 0x20]
cmp r12d, dword [rax + 0x3d4]
mov eax, 0xe1ad6090
mov ecx, 0x425ec748
cmovl eax, ecx
jmp 0x180001954
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
mov r8, rsi
call fcn.180001122
mov eax, 0x3a8e6336
jmp 0x180001954
mov eax, 0x46edd462
mov r12d, 1
jmp 0x180001954
cmp r14d, r15d
mov eax, 0xc3999182
mov ecx, 0x68d2558c
cmovl eax, ecx
jmp 0x180001954
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 + 0xc]
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + rdx*4 + 0x45b]
mov edx, ecx
shr edx, 0x18
lea r10, str.cw
xor dl, byte [rax + r10]
movsxd r8, r13d
mov byte [rsi + r8], dl
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
add eax, r14d
cdq
idiv r15d
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 r15d
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 r15d
movsxd rax, edx
movzx eax, byte [r9 + rax*4 + 0x458]
xor cl, byte [rax + r10]
lea r13d, [r8 + 4]
mov byte [rsi + r8 + 3], cl
mov eax, 0x8387fd3b
jmp 0x180001954
cmp dword [rsp + 0x44], 0
mov eax, 0x6f992eb9
mov ecx, 0xf163c29b
cmove eax, ecx
jmp 0x180001954
inc r12d
mov eax, 0x46edd462
jmp 0x180001954
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 + 0xc]
add rdi, 4
mov dword [rbx], r8d
add rbx, 4
mov eax, 0x89f7464c
jmp 0x180001954
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x3d0], 0x10
mov eax, 0xf72aa664
mov ecx, 0x4cc20820
cmove eax, ecx
jmp 0x180001954
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x3d0]
lea r15d, [rax + 3]
test eax, eax
cmovns r15d, eax
sar r15d, 2
and eax, 0xfffffffc
cmp eax, 0x10
mov eax, 0x7831363
mov ecx, 0x26a21598
cmove eax, ecx
jmp 0x180001954
cmp eax, 0x3a8e6336
jne 0x180001954
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret