Function at 0x140001000
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, 0x68
mov rax, qword [0x1400160e8]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r14d, 0xe65190b
lea r13, str.cw
mov r9d, 0x680364d
mov r10d, 0xe4966048
mov r11d, 0x63cdf59
cmp r14d, 0xfa328570
jg 0x1400010a7
cmp r14d, 0xc022cade
jle 0x140001100
cmp r14d, 0xe03ee7c5
jle 0x1400011a7
cmp r14d, 0xe6749cff
jg 0x140001351
cmp r14d, 0xe4986f78
jg 0x1400015b5
cmp r14d, 0xe03ee7c6
je 0x140001902
cmp r14d, 0xe4966048
jne 0x14000103e
cmp byte [rsp + 0x2a], 0
mov r14d, 0xd223b71b
mov eax, 0xd2bc829d
cmovne r14d, eax
jmp 0x14000103e
cmp r14d, 0x42f4759a
jle 0x14000115b
cmp r14d, 0x66384bde
jle 0x140001203
cmp r14d, 0x75eced8e
jg 0x1400013cc
cmp r14d, 0x702e7f15
jg 0x1400015da
cmp r14d, 0x66384bdf
je 0x140001882
cmp r14d, 0x6bf9a35e
jne 0x14000103e
mov r14d, 0xbad8ac20
jmp 0x14000103e
cmp r14d, 0x9f229a5f
jg 0x140001281
cmp r14d, 0x8c57eda7
jg 0x140001402
cmp r14d, 0x8b3965b9
jg 0x140001639
cmp r14d, 0x8175e7a3
je 0x140001929
cmp r14d, 0x87bcaf9c
jne 0x14000103e
mov r8b, byte [rsp + 0x5c]
movzx eax, word [rsp + 0x5d]
mov word [rsp + 0x5c], ax
mov r14d, 0xc22ba2c
jmp 0x14000103e
cmp r14d, 0xe65190a
jg 0x14000130c
cmp r14d, 0x63cdf58
jle 0x140001441
cmp r14d, 0x86aed5b
jg 0x140001662
cmp r14d, 0x63cdf59
je 0x140001936
cmp r14d, 0x680364d
jne 0x14000103e
mov r14d, 0xfe74f324
jmp 0x14000103e
cmp r14d, 0xd223b71a
jle 0x140001490
cmp r14d, 0xd863f099
jg 0x1400016cd
cmp r14d, 0xd223b71b
je 0x140001971
cmp r14d, 0xd2bc829d
jne 0x14000103e
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
mov r14d, 0x961df1c3
mov r15d, 0xb80a437a
jmp 0x1400012f7
cmp r14d, 0x4d1cd93d
jle 0x1400014df
cmp r14d, 0x5b4e20c8
jg 0x14000171e
cmp r14d, 0x4d1cd93e
je 0x1400019a8
cmp r14d, 0x4efe609d
jne 0x14000103e
lea eax, [rbp*4 + 1]
mov dword [rsp + 0x30], eax
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
mov r14d, 0xe5e9ea1b
cmove r14d, r9d
cmp dword [0x140016144], 0xa
mov ebx, 0xe5e9ea1b
cmovge r14d, ebx
setl bl
xor bl, al
cmovne r14d, r9d
jmp 0x14000103e
cmp r14d, 0xb6810c20
jle 0x14000150b
cmp r14d, 0xbad8ac1f
jg 0x140001767
cmp r14d, 0xb6810c21
je 0x1400019b3
cmp r14d, 0xb80a437a
jne 0x14000103e
lea eax, [rbp*4]
mov bl, byte [rdx + rax]
mov byte [rcx + rax], bl
lea eax, [rbp*4 + 1]
mov al, byte [rdx + rax]
mov byte [rsp + 0x29], al
mov qword [rsp + 0x40], rcx
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete al
mov r14d, 0x961df1c3
mov r15d, 0x6bf9a35e
cmove r14d, r15d
cmp dword [0x140016144], 0xa
mov ebx, 0x961df1c3
jmp 0x140001c37
cmp r14d, 0x2099ad2c
jle 0x140001583
cmp r14d, 0x346277c1
jg 0x140001813
cmp r14d, 0x2099ad2d
je 0x140001a05
cmp r14d, 0x23c6c378
jne 0x14000103e
mov ebp, dword [rsp + 0x34]
inc ebp
mov r14d, 0x5b4e20c9
jmp 0x14000103e
cmp r14d, 0xf82dad9c
jg 0x140001838
cmp r14d, 0xe6749d00
je 0x140001a10
cmp r14d, 0xf0455806
jne 0x14000103e
mov r14d, dword [0x140016140]
mov r15d, dword [0x140016144]
lea r12d, [r14 - 1]
imul r12d, r14d
not r12d
or r12d, 0xfffffffe
cmp r12d, 0xffffffff
sete r14b
cmp r15d, 0xa
setl al
xor al, r14b
mov eax, 0x8175e7a3
mov ebx, 0xd863f09a
cmovne eax, ebx
cmp r12d, 0xffffffff
mov r14d, eax
cmove r14d, ebx
cmp r15d, 0xa
cmovge r14d, eax
jmp 0x14000103e
cmp r14d, 0x7d741385
jg 0x14000185d
cmp r14d, 0x75eced8f
je 0x140001a1b
cmp r14d, 0x78135d03
jne 0x14000103e
mov dword [rsp + 0x2c], ebp
mov r14d, 0xb6810c21
jmp 0x14000103e
cmp r14d, 0x97bb48e4
jg 0x140001898
cmp r14d, 0x8c57eda8
je 0x140001a48
cmp r14d, 0x961df1c3
jne 0x14000103e
lea eax, [rbp*4]
mov bl, byte [rdx + rax]
mov byte [rcx + rax], bl
mov r14d, 0xb80a437a
jmp 0x14000103e
cmp r14d, 0xfa328571
je 0x140001a68
cmp r14d, 0xfced6fc7
je 0x140001a73
cmp r14d, 0xfe74f324
jne 0x14000103e
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
mov r14d, 0xda0ca103
mov r15d, 0xc01d1e15
jmp 0x1400017fe
cmp r14d, 0xc022cadf
je 0x140001aaa
cmp r14d, 0xc3df5db8
je 0x140001ae4
cmp r14d, 0xcdfe9ec9
jne 0x14000103e
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax]
mov al, byte [rax + r13]
mov byte [rsp + 0x5e], al
movzx eax, byte [rsp + 0x5f]
mov al, byte [rax + r13]
mov byte [rsp + 0x5f], al
mov r14d, 0x9f229a60
jmp 0x14000103e
cmp r14d, 0x42f4759b
je 0x140001882
cmp r14d, 0x480d402c
je 0x140001afd
cmp r14d, 0x4bdec8ca
je 0x14000188d
jmp 0x14000103e
cmp r14d, 0x9f229a60
je 0x140001b40
cmp r14d, 0xa24899dc
je 0x140001b68
cmp r14d, 0xb394eee3
jne 0x14000103e
mov eax, dword [0x140016140]
mov ebx, dword [0x140016144]
lea ebp, [rax + 1]
imul ebp, eax
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete al
cmp ebx, 0xa
setl r14b
xor r14b, al
mov eax, 0xe4986f79
mov r15d, 0x7fa1ead5
cmovne eax, r15d
cmp ebp, 0xffffffff
mov r14d, eax
cmove r14d, r15d
cmp ebx, 0xa
cmovge r14d, eax
mov ebp, 8
jmp 0x14000103e
cmp r14d, 0xe65190b
je 0x140001bfa
cmp r14d, 0x14ee8e5c
je 0x140001c05
cmp r14d, 0x19aeb0e9
jne 0x14000103e
mov r14d, 0xe03ee7c6
jmp 0x14000103e
cmp r14d, 0xe4986f79
je 0x140001c49
cmp r14d, 0xe5e9ea1b
jne 0x14000103e
mov r14d, 0x4efe609d
jmp 0x14000103e
cmp r14d, 0x702e7f16
je 0x140001c59
cmp r14d, 0x72c935f1
jne 0x14000103e
mov eax, dword [0x140016140]
mov ebx, dword [0x140016144]
lea r14d, [rax + 1]
imul r14d, eax
not r14d
or r14d, 0xfffffffe
cmp r14d, 0xffffffff
sete al
cmp ebx, 0xa
setl r15b
xor r15b, al
mov eax, 0xe6749d00
cmovne eax, r10d
cmp r14d, 0xffffffff
mov r14d, eax
cmove r14d, r10d
jmp 0x140001d15
cmp r14d, 0x8b3965ba
je 0x140001c68
cmp r14d, 0x8bd5ace2
jne 0x14000103e
mov dword [rsp + 0x38], ebp
mov r14d, 0x8c57eda8
jmp 0x14000103e
cmp r14d, 0x86aed5c
je 0x140001c7b
cmp r14d, 0xc22ba2c
jne 0x14000103e
movzx eax, byte [rsp + 0x5f]
movzx ebx, byte [rsp + 0x5c]
mov bl, byte [rbx + r13]
movzx r14d, byte [rsp + 0x5d]
mov r14b, byte [r14 + r13]
mov byte [rsp + 0x5d], r14b
mov al, byte [rax + r13]
mov byte [rsp + 0x5e], al
movzx eax, r8b
mov al, byte [rax + r13]
mov byte [rsp + 0x5f], al
mov eax, ebp
shr rax, 3
lea r14, [0x140014100]
xor bl, byte [rax + r14]
mov byte [rsp + 0x5c], bl
mov r14d, 0x8bd5ace2
jmp 0x14000103e
cmp r14d, 0xd863f09a
je 0x140001c86
cmp r14d, 0xda0ca103
jne 0x14000103e
mov eax, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r14b, byte [rsp + 0x29]
mov byte [rbx + rax], r14b
lea eax, [rbp*4 + 2]
mov bl, byte [rdx + rax]
mov byte [rcx + rax], bl
lea eax, [rbp*4 + 3]
mov bl, byte [rdx + rax]
mov byte [rcx + rax], bl
mov r14d, 0xc01d1e15
jmp 0x14000103e
cmp r14d, 0x5b4e20c9
je 0x14000188d
cmp r14d, 0x5e7a7f17
jne 0x14000103e
movzx eax, byte [rsp + 0x5c]
mov al, byte [rax + r13]
mov byte [rsp + 0x5c], al
movzx eax, byte [rsp + 0x5d]
mov al, byte [rax + r13]
mov byte [rsp + 0x5d], al
lea rax, [rsp + 0x5e]
mov qword [rsp + 0x50], rax
mov r14d, 0xcdfe9ec9
jmp 0x14000103e
cmp r14d, 0xbad8ac20
je 0x140001ccf
cmp r14d, 0xc01d1e15
jne 0x14000103e
mov eax, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r14b, byte [rsp + 0x29]
mov byte [rbx + rax], r14b
lea eax, [rbp*4]
mov ebx, eax
not ebx
mov r14d, ebx
and r14d, 0x2784970e
mov r15d, eax
and r15d, 0xd87b68f0
or r15d, r14d
xor r15d, 0x2784970c
mov r14b, byte [rdx + r15]
mov byte [rcx + r15], r14b
and ebx, 0x5d65c6b2
and eax, 0xa29a394c
or eax, ebx
xor eax, 0x5d65c6b1
mov bl, byte [rdx + rax]
mov byte [rcx + rax], bl
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete al
mov r14d, 0xda0ca103
mov r15d, 0x3c40d3ec
cmove r14d, r15d
cmp dword [0x140016144], 0xa
mov ebx, 0xda0ca103
jmp 0x140001c37
cmp r14d, 0x346277c2
je 0x140001d21
cmp r14d, 0x3c40d3ec
jne 0x14000103e
mov r14d, 0x7d741386
jmp 0x14000103e
cmp r14d, 0xf82dad9d
je 0x140001d2e
cmp r14d, 0xf833f15c
jne 0x14000103e
mov r14d, 0x14ee8e5c
jmp 0x14000103e
cmp r14d, 0x7d741386
je 0x140001d56
cmp r14d, 0x7fa1ead5
jne 0x14000103e
mov r14d, 0x42f4759b
jmp 0x14000103e
mov r14d, 0x8b3965ba
jmp 0x14000103e
mov r14d, 0x78135d03
jmp 0x14000103e
cmp r14d, 0x99123e90
jne 0x140001d95
mov eax, dword [0x140016140]
mov ebx, dword [0x140016144]
lea r14d, [rax + 1]
imul r14d, eax
mov eax, r14d
xor eax, 0xfffffffe
test eax, r14d
sete r15b
cmp ebx, 0xa
setl r12b
xor r12b, r15b
mov r15d, 0x702e7f16
mov r12d, 0xf833f15c
cmovne r15d, r12d
test eax, r14d
mov r14d, r15d
cmove r14d, r12d
cmp ebx, 0xa
mov eax, dword [rsp + 0x2c]
cmovge r14d, r15d
cmp eax, 8
setb byte [rsp + 0x2a]
jmp 0x14000103e
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete al
mov r14d, 0x86aed5c
mov r15d, 0xfced6fc7
jmp 0x140001a95
mov r14d, 0xd863f09a
xor ebp, ebp
jmp 0x14000103e
mov dword [rsp + 0x34], ebp
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete al
mov r14d, 0xfa328571
mov r15d, 0x2099ad2d
cmove r14d, r15d
cmp dword [0x140016144], 0xa
mov ebx, 0xfa328571
jmp 0x140001c37
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete al
mov r14d, 0xe4986f79
mov r15d, 0xb394eee3
cmove r14d, r15d
cmp dword [0x140016144], 0xa
mov ebx, 0xe4986f79
jmp 0x140001c37
mov r14d, 0x75eced8f
jmp 0x14000103e
mov eax, dword [0x140016140]
mov r15d, dword [0x140016144]
lea r14d, [rax + 1]
imul r14d, eax
mov eax, r14d
xor eax, 0xfffffffe
test eax, r14d
sete r12b
cmp r15d, 0xa
setl bl
xor bl, r12b
mov ebx, 0x702e7f16
mov r12d, 0x99123e90
cmovne ebx, r12d
test eax, r14d
mov r14d, ebx
cmove r14d, r12d
cmp r15d, 0xa
cmovge r14d, ebx
jmp 0x14000103e
mov r14d, 0x23c6c378
jmp 0x14000103e
mov r14d, 0x72c935f1
jmp 0x14000103e
mov eax, dword [rsp + 0x3c]
lea ebx, [rsi + 2]
mov byte [rcx + rbx], al
lea eax, [rdi + 3]
mov al, byte [rcx + rax]
mov ebx, eax
xor bl, al
not bl
and bl, byte [rsp + 0x5f]
xor bl, al
lea eax, [rsi + 3]
mov byte [rcx + rax], bl
mov r14d, 0x346277c2
jmp 0x14000103e
mov eax, dword [rsp + 0x38]
not eax
or eax, 0xfffffff8
cmp eax, 0xfffffffb
mov r14d, 0x9f229a60
mov eax, 0x5e7a7f17
cmove r14d, eax
jmp 0x14000103e
mov r14d, 0x63cdf59
jmp 0x14000103e
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete al
mov r14d, 0x86aed5c
mov r15d, 0x97bb48e5
cmove r14d, r15d
cmp dword [0x140016144], 0xa
mov ebx, 0x86aed5c
jmp 0x140001c37
mov rax, qword [rsp + 0x48]
mov al, byte [rax]
mov byte [rsp + 0x5d], al
lea eax, [rdi + 2]
mov al, byte [rcx + rax]
mov byte [rsp + 0x5e], al
lea eax, [rdi + 3]
mov al, byte [rcx + rax]
mov byte [rsp + 0x5f], al
mov eax, ebp
xor eax, 0xfffffff8
test eax, ebp
mov r14d, 0x8bd5ace2
mov eax, 0x87bcaf9c
cmove r14d, eax
jmp 0x14000103e
cmp byte [rsp + 0x2b], 0
mov r14d, 0x19aeb0e9
mov eax, 0xf82dad9d
cmovne r14d, eax
jmp 0x14000103e
lea esi, [rbp*4]
lea edi, [rbp*4 - 0x20]
mov al, byte [rcx + rdi]
mov ebx, eax
xor bl, al
not bl
and bl, byte [rsp + 0x5c]
xor bl, al
mov byte [rcx + rsi], bl
lea eax, [rbp*4 - 0x1f]
mov bl, byte [rsp + 0x5d]
xor bl, byte [rcx + rax]
lea eax, [rbp*4 + 1]
mov byte [rcx + rax], bl
mov r14d, 0xa24899dc
jmp 0x14000103e
mov eax, dword [0x140016140]
lea ebx, [rax - 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
mov r14d, 0x480d402c
mov r15d, 0xa24899dc
jmp 0x140001be8
lea esi, [rbp*4]
lea edi, [rbp*4 - 0x20]
mov al, byte [rcx + rdi]
mov ebx, eax
xor bl, al
not bl
and bl, byte [rsp + 0x5c]
xor bl, al
mov byte [rcx + rsi], bl
lea eax, [rbp*4 - 0x1f]
mov al, byte [rcx + rax]
mov ebx, eax
xor bl, al
not bl
and bl, byte [rsp + 0x5d]
xor bl, al
lea eax, [rbp*4 + 1]
mov byte [rcx + rax], bl
lea eax, [rbp*4 - 0x1e]
mov al, byte [rcx + rax]
mov ebx, eax
xor bl, al
not bl
and bl, byte [rsp + 0x5e]
xor bl, al
movzx eax, bl
mov dword [rsp + 0x3c], eax
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
mov r14d, 0x480d402c
mov r15d, 0x4d1cd93e
cmove r14d, r15d
cmp dword [0x140016144], 0xa
mov ebx, 0x480d402c
jmp 0x140001c37
mov r14d, 0xf0455806
jmp 0x14000103e
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete al
mov r14d, 0xe6749d00
mov r15d, 0x72c935f1
cmove r14d, r15d
cmp dword [0x140016144], 0xa
mov ebx, 0xe6749d00
cmovge r14d, ebx
setl bl
xor bl, al
cmovne r14d, r15d
jmp 0x14000103e
mov r14d, 0xb394eee3
mov ebp, 8
jmp 0x14000103e
mov eax, dword [rsp + 0x2c]
mov r14d, 0x99123e90
jmp 0x14000103e
cmp ebp, 0x3c
setb byte [rsp + 0x2b]
mov r14d, 0xc3df5db8
jmp 0x14000103e
mov r14d, 0xfced6fc7
jmp 0x14000103e
mov eax, dword [0x140016140]
lea ebp, [rax + 1]
imul ebp, eax
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete al
mov r14d, 0x8175e7a3
mov ebx, 0x4bdec8ca
cmove r14d, ebx
cmp dword [0x140016144], 0xa
setl bpl
mov r15d, 0x8175e7a3
cmovge r14d, r15d
xor bpl, al
cmovne r14d, ebx
xor ebp, ebp
jmp 0x14000103e
mov eax, dword [0x140016140]
mov ebx, dword [0x140016144]
lea r14d, [rax + 1]
imul r14d, eax
not r14d
or r14d, 0xfffffffe
cmp r14d, 0xffffffff
sete al
cmp ebx, 0xa
setl r15b
xor r15b, al
mov eax, 0xe5e9ea1b
mov r15d, 0x4efe609d
cmovne eax, r15d
cmp r14d, 0xffffffff
mov r14d, eax
cmove r14d, r15d
cmp ebx, 0xa
cmovge r14d, eax
jmp 0x14000103e
inc ebp
mov r14d, 0x66384bdf
jmp 0x14000103e
lea edi, [rbp*4 - 4]
mov al, byte [rcx + rdi]
mov byte [rsp + 0x5c], al
lea eax, [rbp*4 - 3]
add rax, rcx
mov qword [rsp + 0x48], rax
mov r14d, 0xc022cadf
jmp 0x14000103e
mov eax, dword [0x140016140]
lea ebx, [rax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
mov r14d, 0xfa328571
cmove r14d, r11d
cmp dword [0x140016144], 0xa
mov ebx, 0xfa328571
cmovge r14d, ebx
setl bl
xor bl, al
cmovne r14d, r11d
jmp 0x14000103e
cmp r14d, 0x97bb48e5
jne 0x14000103e
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140012c40
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret