Function at 0x140001e09
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, rdx
mov rdi, rcx
mov eax, 0x1ed5b1d5
lea r12, [0x140014110]
mov r15d, 0xb08e380a
mov r14d, 0xbd38ab3c
mov r13d, 0x2b206487
mov ebp, 0x21773bc1
cmp eax, 0x9db9397
jle 0x140001e83
cmp eax, 0x2b417157
jle 0x140001eb9
cmp eax, 0x67178a3d
jle 0x140001f2f
cmp eax, 0x748cef5c
jg 0x14000200e
cmp eax, 0x67178a3e
je 0x140002071
cmp eax, 0x6facf1a5
jne 0x140001e42
mov eax, 0xeacb26e4
mov bl, byte [rsp + 0x25]
jmp 0x140001e42
cmp eax, 0xd165e787
jg 0x140001eef
cmp eax, 0xbd38ab3b
jg 0x140001f5a
cmp eax, 0x9c41ee52
jle 0x14000202e
cmp eax, 0x9c41ee53
je 0x14000207b
cmp eax, 0xb08e380a
jne 0x140001e42
mov eax, 0xc4669ed0
jmp 0x140001e42
cmp eax, 0x1ed5b1d4
jg 0x140001f85
cmp eax, 0x9db9398
je 0x1400020b9
cmp eax, 0xc567671
je 0x14000210d
cmp eax, 0x1eaa243c
jne 0x140001e42
mov eax, 0x9390822c
jmp 0x140001e42
cmp eax, 0xe5666815
jg 0x140001fe7
cmp eax, 0xd165e788
je 0x140002154
cmp eax, 0xd845c227
je 0x140002160
cmp eax, 0xe2120a9f
jne 0x140001e42
mov rcx, qword [rsp + 0x30]
call fcn.14000443f
mov eax, 0x48fa46d5
jmp 0x140001e42
cmp eax, 0x2b417158
je 0x140002181
cmp eax, 0x48fa46d5
je 0x1400021b9
cmp eax, 0x5a9e7b63
jne 0x140001e42
mov eax, 0x1eaa243c
jmp 0x140001e42
cmp eax, 0xbd38ab3c
je 0x1400021c3
cmp eax, 0xc4669ed0
je 0x1400021d5
cmp eax, 0xccfd310e
jne 0x140001e42
mov eax, 0x9db9398
jmp 0x140001e42
cmp eax, 0x1ed5b1d5
je 0x140002a91
cmp eax, 0x21773bc1
je 0x140002aaa
cmp eax, 0x2b206487
jne 0x140001e42
mov rcx, rdi
call fcn.1400043a0
mov eax, dword [0x140016158]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xbd38ab3c
cmove eax, r15d
cmp dword [0x14001615c], 0xa
cmovge eax, r14d
setl dl
xor dl, cl
cmovne eax, r15d
jmp 0x140001e42
cmp eax, 0xe5666816
je 0x140002ab4
cmp eax, 0xeacb26e4
je 0x140002024
cmp eax, 0x29d7b24
jne 0x140001e42
mov eax, 0x748cef5d
jmp 0x140001e42
cmp eax, 0x748cef5d
je 0x140002b01
cmp eax, 0x7d28b598
jne 0x140001e42
mov eax, 0x2b417158
jmp 0x140001e42
cmp eax, 0x88eca802
jne 0x140002b4b
mov eax, dword [0x140016158]
mov ecx, dword [0x14001615c]
lea edx, [rax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl r8b
xor r8b, al
mov r8d, 0xd165e788
mov r9d, 0xc567671
jmp 0x140002ae7
mov eax, 0x6facf1a5
jmp 0x140001e42
mov eax, dword [0x140016158]
mov ecx, dword [0x14001615c]
lea edx, [rax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl r9b
xor r9b, r8b
mov r8d, 0x29d7b24
mov r9d, 0x748cef5d
cmovne r8d, r9d
test eax, edx
jmp 0x140002aee
mov eax, dword [0x140016158]
mov ecx, dword [0x14001615c]
lea edx, [rax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl r8b
xor r8b, al
mov r8d, 0xccfd310e
mov r9d, 0x67178a3e
cmovne r8d, r9d
cmp edx, 0xffffffff
mov eax, r8d
cmove eax, r9d
cmp ecx, 0xa
cmovge eax, r8d
lea ecx, [rbx - 1]
mov byte [rsp + 0x25], cl
jmp 0x140001e42
mov eax, dword [0x140016158]
lea ecx, [rax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xd165e788
mov r9d, 0x7d28b598
cmove eax, r9d
cmp dword [0x14001615c], 0xa
setl dl
mov r8d, 0xd165e788
cmovge eax, r8d
xor dl, cl
cmovne eax, r9d
mov bl, 0xd
jmp 0x140001e42
mov eax, 0xc567671
mov bl, 0xd
jmp 0x140001e42
mov ecx, ebx
mov rdx, rdi
mov r8, rsi
call fcn.1400038ac
test bl, bl
mov eax, 0x9c41ee53
mov ecx, 0x5a9e7b63
cmove eax, ecx
jmp 0x140001e42
mov eax, dword [0x140016158]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xbd38ab3c
cmove eax, r13d
cmp dword [0x14001615c], 0xa
cmovge eax, r14d
setl dl
xor dl, cl
cmovne eax, r13d
jmp 0x140001e42
mov eax, 0xe5666816
jmp 0x140001e42
mov rcx, rdi
call fcn.1400043a0
mov eax, 0x2b206487
jmp 0x140001e42
mov edx, 0xac8e94b0
cmp edx, 0x11c07180
jle 0x14000222d
cmp edx, 0x4de91922
jle 0x14000227f
cmp edx, 0x66d2ee24
jle 0x140002355
cmp edx, 0x6e08f43f
jg 0x140002474
cmp edx, 0x66d2ee25
je 0x14000264b
cmp edx, 0x67564e5c
je 0x140002678
cmp edx, 0x67d25a74
jne 0x1400021da
mov edx, 0x43f48cbe
jmp 0x1400021da
cmp edx, 0xd8b20801
jle 0x14000230f
cmp edx, 0xfb67027c
jle 0x14000238f
cmp edx, 0x5c88a05
jg 0x1400024d6
cmp edx, 0xfb67027d
je 0x140002696
cmp edx, 0xfdf6e271
je 0x1400026ce
cmp edx, 0xffff4b7c
jne 0x1400021da
mov edx, 0x754aaec5
jmp 0x1400021da
cmp edx, 0x4251ab30
jg 0x1400023fe
cmp edx, 0x236fd9d4
jle 0x140002538
cmp edx, 0x236fd9d5
je 0x1400026ec
cmp edx, 0x2ef43cff
je 0x14000273c
cmp edx, 0x2f17d142
jne 0x1400021da
mov edx, dword [0x140016160]
mov r8d, dword [0x140016164]
lea r9d, [rdx + 1]
imul r9d, edx
mov r10d, r9d
xor r10d, 0xfffffffe
test r10d, r9d
sete dl
cmp r8d, 0xa
setl r11b
xor r11b, dl
mov edx, 0x4b119680
mov r11d, 0x4b119680
jne 0x1400022fb
mov r11d, 0x15a72b41
test r10d, r9d
cmovne edx, r11d
cmp r8d, 0xa
cmovge edx, r11d
jmp 0x1400021da
cmp edx, 0xa839124c
jg 0x140002438
cmp edx, 0x8ddf3db3
jle 0x14000255a
cmp edx, 0x8ddf3db4
je 0x14000279b
cmp edx, 0x9b83ead6
je 0x1400027d9
cmp edx, 0xa74eee43
jne 0x1400021da
mov edx, 0x66d2ee25
jmp 0x1400021da
cmp edx, 0x58691310
jle 0x14000257c
cmp edx, 0x58691311
je 0x140002829
cmp edx, 0x5943150f
je 0x140002865
cmp edx, 0x5f8ea993
jne 0x1400021da
mov edx, 0x10846d37
jmp 0x1400021da
cmp edx, 0xe6ffa521
jle 0x14000259e
cmp edx, 0xe6ffa522
je 0x14000286f
cmp edx, 0xf26b4b3a
je 0x14000287b
cmp edx, 0xf72cf1f8
jne 0x1400021da
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
mov r8d, 0xa839124d
mov edx, 0xbed4efac
mov r10d, 0xa839124d
cmp r9d, 0xffffffff
sete r9b
je 0x140002721
mov r10d, 0xbed4efac
jmp 0x140002721
cmp edx, 0x492fbe17
jle 0x1400025c0
cmp edx, 0x492fbe18
je 0x140002594
cmp edx, 0x4b119680
je 0x140002887
cmp edx, 0x4de7f266
jne 0x1400021da
mov edx, 0xe775983
jmp 0x1400021da
cmp edx, 0xb55353a8
jle 0x1400025e9
cmp edx, 0xb55353a9
je 0x1400028d6
cmp edx, 0xb8184269
je 0x1400028e0
cmp edx, 0xbed4efac
jne 0x1400021da
mov edx, 0xa839124d
xor ecx, ecx
jmp 0x1400021da
cmp edx, 0x6e08f440
je 0x1400028ea
cmp edx, 0x754aaec5
je 0x1400028f4
cmp edx, 0x7918612a
jne 0x1400021da
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
mov r11d, r9d
xor r11d, 0xfffffffe
mov r8d, 0xe775983
mov edx, 0x4de7f266
mov r10d, 0xe775983
test r11d, r9d
sete r9b
je 0x140002955
mov r10d, 0x4de7f266
jmp 0x140002955
cmp edx, 0x5c88a06
je 0x140002902
cmp edx, 0xe775983
jne 0x140002a7b
mov edx, dword [0x140016160]
mov r8d, dword [0x140016164]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
cmp r9d, 0xffffffff
sete dl
cmp r8d, 0xa
setl r10b
xor r10b, dl
mov edx, 0x67d25a74
mov r10d, 0x67d25a74
jne 0x140002a15
mov r10d, 0x4de7f266
jmp 0x140002a15
cmp edx, 0x11c07181
je 0x14000290c
cmp edx, 0x15a72b41
jne 0x1400021da
mov edx, 0x4b119680
jmp 0x1400021da
cmp edx, 0x853be40c
je 0x14000291f
cmp edx, 0x879b6a38
jne 0x1400021da
mov edx, 0x7918612a
jmp 0x1400021da
cmp edx, 0x4de91923
je 0x140002970
cmp edx, 0x54739165
jne 0x1400021da
mov edx, 0x4251ab31
jmp 0x1400021da
cmp edx, 0xd8b20802
je 0x14000297a
cmp edx, 0xe55d8eb5
jne 0x1400021da
mov edx, 0x853be40c
jmp 0x1400021da
cmp edx, 0x4251ab31
je 0x1400029d4
cmp edx, 0x43f48cbe
jne 0x1400021da
movzx edx, cl
mov dword [rsp + 0x2c], edx
mov edx, 0x67564e5c
jmp 0x1400021da
cmp edx, 0xa839124d
je 0x140002a2a
cmp edx, 0xac8e94b0
jne 0x1400021da
mov edx, dword [0x140016160]
mov r8d, dword [0x140016164]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
cmp r9d, 0xffffffff
sete dl
cmp r8d, 0xa
setl r10b
xor r10b, dl
mov edx, 0x8ddf3db4
mov r10d, 0x8ddf3db4
jne 0x140002a15
mov r10d, 0x6e08f440
jmp 0x140002a15
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
movzx edx, byte [rdx + r8]
mov dl, byte [rdx + r12]
movzx r8d, cl
movzx r9d, al
lea r8, [rdi + r8*4]
mov byte [r9 + r8], dl
mov edx, 0xfb67027d
jmp 0x1400021da
mov r8d, dword [rsp + 0x2c]
mov edx, 0x2f17d142
cmp r8d, 4
jl 0x1400021da
mov edx, 0xe55d8eb5
jmp 0x1400021da
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
mov r8d, 0x2ef43cff
mov edx, 0xb55353a9
mov r10d, 0x2ef43cff
cmp r9d, 0xffffffff
sete r9b
je 0x140002721
mov r10d, 0xb55353a9
jmp 0x140002721
mov r8d, dword [rsp + 0x28]
mov edx, 0xf72cf1f8
cmp r8d, 4
jl 0x1400021da
mov edx, 0x5f8ea993
jmp 0x1400021da
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
mov r11d, r9d
xor r11d, 0xfffffffe
mov r8d, 0x9b83ead6
mov edx, 0xe6ffa522
mov r10d, 0x9b83ead6
test r11d, r9d
sete r9b
je 0x140002721
mov r10d, 0xe6ffa522
cmp dword [0x140016164], 0xa
cmovl edx, r10d
setl r10b
xor r10b, r9b
cmovne edx, r8d
jmp 0x1400021da
mov edx, dword [0x140016160]
mov r8d, dword [0x140016164]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
cmp r9d, 0xffffffff
sete dl
cmp r8d, 0xa
setl r10b
xor r10b, dl
mov edx, 0xffff4b7c
mov r10d, 0xffff4b7c
jne 0x14000277d
mov r10d, 0xb55353a9
cmp r9d, 0xffffffff
cmovne edx, r10d
cmp r8d, 0xa
cmovge edx, r10d
lea r8d, [rcx + 1]
mov byte [rsp + 0x27], r8b
jmp 0x1400021da
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
mov r11d, r9d
xor r11d, 0xfffffffe
mov r8d, 0x4de91923
mov edx, 0x6e08f440
mov r10d, 0x4de91923
test r11d, r9d
sete r9b
je 0x140002955
mov r10d, 0x6e08f440
jmp 0x140002955
mov eax, dword [0x140016160]
lea r8d, [rax + 1]
imul r8d, eax
mov r10d, r8d
xor r10d, 0xfffffffe
mov eax, 0x492fbe18
mov edx, 0xe6ffa522
mov r9d, 0x492fbe18
test r10d, r8d
sete r8b
je 0x14000280d
mov r9d, 0xe6ffa522
cmp dword [0x140016164], 0xa
setl r10b
cmovl edx, r9d
xor r10b, r8b
cmovne edx, eax
xor eax, eax
jmp 0x1400021da
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
mov r11d, r9d
xor r11d, 0xfffffffe
mov r8d, 0x5943150f
mov edx, 0xf26b4b3a
mov r10d, 0x5943150f
test r11d, r9d
sete r9b
je 0x14000285e
mov r10d, 0xf26b4b3a
inc al
jmp 0x140002955
mov edx, 0x54739165
jmp 0x1400021da
mov edx, 0x9b83ead6
xor eax, eax
jmp 0x1400021da
inc al
mov edx, 0x58691311
jmp 0x1400021da
movzx edx, cl
lea rdx, [rdi + rdx*4]
mov qword [rsp + 0x38], rdx
movzx edx, al
mov qword [rsp + 0x40], rdx
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
mov r11d, r9d
xor r11d, 0xfffffffe
mov r8d, 0xa74eee43
mov edx, 0x15a72b41
mov r10d, 0xa74eee43
test r11d, r9d
sete r9b
je 0x140002955
mov r10d, 0x15a72b41
jmp 0x140002955
mov edx, 0x2ef43cff
jmp 0x1400021da
mov edx, 0x11c07181
jmp 0x1400021da
mov edx, 0x8ddf3db4
jmp 0x1400021da
mov edx, 0x43f48cbe
mov cl, byte [rsp + 0x27]
jmp 0x1400021da
mov edx, 0xd8b20802
jmp 0x1400021da
movzx edx, byte [rsp + 0x26]
mov dword [rsp + 0x28], edx
mov edx, 0xfdf6e271
jmp 0x1400021da
mov edx, dword [0x140016160]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
mov r8d, 0x58691311
mov edx, 0xf26b4b3a
mov r10d, 0x58691311
cmp r9d, 0xffffffff
sete r9b
je 0x140002955
mov r10d, 0xf26b4b3a
cmp dword [0x140016164], 0xa
cmovl edx, r10d
setl r10b
xor r9b, r10b
cmovne edx, r8d
jmp 0x1400021da
mov edx, 0x236fd9d5
jmp 0x1400021da
mov edx, dword [0x140016160]
mov r8d, dword [0x140016164]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
cmp r9d, 0xffffffff
sete dl
cmp r8d, 0xa
setl r10b
xor r10b, dl
mov edx, 0xb8184269
mov r10d, 0xb8184269
jne 0x1400029bb
mov r10d, 0x5c88a06
cmp r9d, 0xffffffff
cmovne edx, r10d
cmp r8d, 0xa
mov byte [rsp + 0x26], al
cmovge edx, r10d
jmp 0x1400021da
mov edx, dword [0x140016160]
mov r8d, dword [0x140016164]
lea r9d, [rdx + 1]
imul r9d, edx
not r9d
or r9d, 0xfffffffe
cmp r9d, 0xffffffff
sete dl
cmp r8d, 0xa
setl r10b
xor r10b, dl
mov edx, 0xd8b20802
mov r10d, 0xd8b20802
jne 0x140002a15
mov r10d, 0x5c88a06
cmp r9d, 0xffffffff
cmovne edx, r10d
cmp r8d, 0xa
cmovge edx, r10d
jmp 0x1400021da
mov ecx, dword [0x140016160]
lea r8d, [rcx - 1]
imul r8d, ecx
not r8d
or r8d, 0xfffffffe
mov ecx, 0x879b6a38
mov edx, 0xbed4efac
mov r9d, 0x879b6a38
cmp r8d, 0xffffffff
sete r8b
je 0x140002a5f
mov r9d, 0xbed4efac
cmp dword [0x140016164], 0xa
setl r10b
cmovl edx, r9d
xor r8b, r10b
cmovne edx, ecx
xor ecx, ecx
jmp 0x1400021da
cmp edx, 0x10846d37
jne 0x1400021da
mov eax, 0xd845c227
jmp 0x140001e42
mov cl, 0xe
mov rdx, rdi
mov r8, rsi
call fcn.1400038ac
mov eax, 0x88eca802
xor ebx, ebx
jmp 0x140001e42
mov eax, 0xe2120a9f
jmp 0x140001e42
mov eax, dword [0x140016158]
mov ecx, dword [0x14001615c]
lea edx, [rax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl r8b
xor r8b, al
mov r8d, 0xccfd310e
mov r9d, 0x9db9398
cmovne r8d, r9d
cmp edx, 0xffffffff
mov eax, r8d
cmove eax, r9d
cmp ecx, 0xa
cmovge eax, r8d
jmp 0x140001e42
mov eax, dword [0x140016158]
mov ecx, dword [0x14001615c]
lea edx, [rax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl r9b
xor r9b, r8b
mov r8d, 0x29d7b24
cmovne r8d, ebp
test eax, edx
mov eax, r8d
cmove eax, ebp
cmp ecx, 0xa
mov qword [rsp + 0x30], rdi
cmovge eax, r8d
jmp 0x140001e42
cmp eax, 0x9390822c
jne 0x140001e42
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret