Function at 0x140051660
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x141589f70]
sub eax, dword [0x141589f74]
mov ecx, eax
add ecx, 0x30cb87a5
not ecx
or ecx, 0x1d66bb00
add eax, ecx
add eax, 0x30cb87a5
cmp eax, 0xac95866e
nop
mov eax, dword [0x141589f78]
mov ecx, dword [0x141589f7c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
xor ecx, 0x1a1552cf
add ecx, eax
and eax, 0xe5eaad30
sub ecx, eax
mov eax, ecx
xor eax, 0x3120a708
and eax, 0x3323a7ac
xor ecx, 0x82d340f5
lea eax, [rcx + rax*2]
cmp eax, 0xbb103c98
ja 0x1400516a0
mov r14, qword [rdi]
test r14, r14
je 0x140051a1a
nop word cs:[rax + rax]
mov eax, dword [0x141589f80]
xor eax, dword [0x141589f84]
imul eax, eax, 0x792ba096
add eax, 0x6f4d70ce
cmp eax, 0x1d8e9bc6
jb 0x140051710
movzx ebx, word [rdi + 0x10]
test bx, bx
je 0x1400517a0
mov word [rdi + 0x10], 0
mov rcx, qword [rdi + 8]
xor r9d, r9d
nop word cs:[rax + rax]
mov eax, dword [0x14158a000]
and eax, dword [0x14158a004]
add eax, 0x624f7507
mov edx, eax
not edx
and edx, 0x111318f3
mov r8d, eax
and r8d, 0x2eece70c
imul r8d, edx
mov edx, eax
and edx, 0x111318f3
or eax, 0x111318f3
imul eax, edx
add eax, r8d
or eax, 0xcbdfd324
cmp eax, 0x5d934859
je 0x140051750
jmp 0x140051eb9
mov eax, dword [0x141589f88]
add eax, dword [0x141589f8c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5a0f55a0
and ecx, 0xa5f0aa5f
imul ecx, edx
mov edx, eax
and edx, 0xa5f0aa5f
or eax, 0xa5f0aa5f
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x9a82e638
or eax, 0x657d19c7
and eax, ecx
add eax, 0xf6a9f6eb
cmp eax, 0x98d68ebb
ja 0x1400517a0
nop
mov eax, dword [0x141589f90]
mov ecx, dword [0x141589f94]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
xor eax, 0xef56d2b8
mov ecx, eax
and ecx, 0x79fc099
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xc6c2cd70
add eax, 0x8d10c7f0
cmp eax, 0xb46bd596
ja 0x1400517f0
mov rcx, qword [rdi + 8]
nop dword [rax]
mov eax, dword [0x141589f98]
sub eax, dword [0x141589f9c]
mov edx, eax
xor edx, 0x19060d59
and eax, 0x66f9f2a6
add eax, eax
sub eax, edx
lea edx, [rax + 0x5919e34a]
mov r8d, edx
and r8d, 0x594f5b1
xor edx, 0xfa6b0a4e
add eax, edx
add eax, 0x5919e34a
sub eax, r8d
cmp eax, 0xbb075ac
jb 0x140051830
cmp r14, rcx
je 0x1400519d0
mov eax, dword [0x141589fa0]
mov edx, dword [0x141589fa4]
mov r8d, eax
xor r8d, edx
not r8d
or eax, edx
and eax, r8d
mov edx, eax
not edx
and edx, 0x2e834436
mov r8d, eax
and r8d, 0x117cbbc9
imul r8d, edx
mov edx, eax
and edx, 0x2e834436
or eax, 0x2e834436
imul eax, edx
add eax, r8d
or eax, 0xcc24b3e4
xor eax, 0x8fa5cd8c
cmp eax, 0xf7635f1
jae 0x1400518da
lea rax, [r14 + 1]
mov qword [rdi], rax
lea r8, [r14 + 1]
nop
mov eax, dword [0x141589fa8]
add eax, dword [0x141589fac]
or eax, 0xcec3c53f
mov edx, eax
and edx, 0x336cb4e7
add edx, edx
sub eax, edx
imul eax, eax, 0xb9033fd5
mov qword [rdi], r8
cmp eax, 0xbec0287b
je 0x1400518e0
movzx r9d, byte [r14]
mov eax, dword [0x141589fb0]
xor edx, edx
div dword [0x141589fb4]
nop
mov eax, dword [0x141589fb8]
imul eax, dword [0x141589fbc]
mov edx, eax
or edx, 0xfd90ccb3
not eax
or eax, 0x26f334c
and eax, edx
mov edx, eax
not edx
mov r10d, edx
and r10d, 0xb2ef4ca4
and eax, 0x4d10b35b
imul eax, r10d
mov r10d, edx
and r10d, 0x4d10b35b
or edx, 0x4d10b35b
imul edx, r10d
add edx, eax
xor edx, 0x6fbf2b7b
cmp edx, 0xff3f0c4f
ja 0x140051920
test r9b, r9b
js 0x140051b5a
nop word cs:[rax + rax]
mov eax, dword [0x141589fe0]
add eax, dword [0x141589fe4]
mov edx, eax
not edx
or edx, 0x161808de
add eax, edx
inc eax
mov edx, eax
not edx
or eax, 0x8001009
and eax, 0x5cc015a9
and edx, 0xa31d8804
or edx, eax
cmp edx, 0x52e17b57
jb 0x140051990
mov r10d, r9d
jmp 0x140051e53
mov qword [rdi], 0
nop word [rax + rax]
mov eax, dword [0x14158a020]
add eax, dword [0x14158a024]
mov ecx, eax
not ecx
or ecx, 0x1e074010
and ecx, 0x1ea74113
and eax, 0xa00086c0
or eax, ecx
mov ecx, eax
and ecx, 0x227c443
xor eax, 0xc32fc443
lea eax, [rax + rcx*2]
cmp eax, 0xe11daaf3
ja 0x1400519e0
movzx eax, word [rdi + 0x18]
nop
mov ecx, dword [0x14158a028]
mov edx, dword [0x14158a02c]
not ecx
not edx
or edx, ecx
not edx
and edx, 0x1d68ce2c
imul rcx, rdx, 0xd048d35
shr rcx, 0x38
or ecx, 0x96be3cac
cmp ecx, 0x6c3edcba
je 0x140051a20
cmp ax, 2
je 0x140051b4b
nop dword [rax]
mov ecx, dword [0x14158a030]
add ecx, dword [0x14158a034]
mov edx, ecx
not edx
and edx, 0xbe838f21
mov r8d, ecx
and r8d, 0x417c70de
imul r8d, edx
mov edx, ecx
and edx, 0xbe838f21
or ecx, 0xbe838f21
imul ecx, edx
add ecx, r8d
imul rcx, rcx, 0x9e4450b
shr rcx, 0x3a
add ecx, 0xb270497a
cmp ecx, 0x4915915
jb 0x140051a60
mov ecx, dword [0x14158a038]
mov edx, dword [0x14158a03c]
not ecx
not edx
or edx, ecx
not edx
imul rcx, rdx, 0x15761591
shr rcx, 0x39
imul ecx, ecx, 0x191e76e5
mov edx, ecx
xor edx, 0xbffd5412
and ecx, 0x4002abed
add ecx, ecx
sub ecx, edx
cmp ecx, 0x2342404a
jne 0x140051af6
mov word [rdi + 0x18], 0
xor ecx, ecx
nop dword [rax + rax]
movzx ebx, word [rdi + 0x1a]
mov word [rdi + 0x18], 0
test cl, cl
jne 0x140051b00
nop
mov ecx, dword [0x14158a040]
and ecx, dword [0x14158a044]
add ecx, 0x55af22c8
or ecx, 0x400ee3f8
cmp ecx, 0x5b61db49
je 0x140051b10
test ax, ax
je 0x140051b4b
mov r12d, 4
mov edx, 8
xor r14d, r14d
xor r15d, r15d
jmp 0x140051f20
xor eax, eax
test al, al
je 0x140052062
jmp 0x14005209c
mov eax, r9d
and eax, 0x1f
mov edx, dword [0x141589fc0]
sub edx, dword [0x141589fc4]
imul rdx, rdx, 0x31732653
shr rdx, 0x3c
mov r8d, edx
xor r8d, 0x6843ada5
or edx, 2
and edx, r8d
add edx, 0x377a63c6
cmp edx, 0x3099f1e1
jb 0x140051b60
mov edx, dword [0x141589fc8]
mov r8d, dword [0x141589fcc]
mov r10d, r8d
and r10d, edx
add edx, r8d
sub edx, r10d
not edx
or edx, 0xbfdbd65d
cmp edx, 0x74903773
je 0x140051bfe
mov edx, dword [0x141589fd0]
mov r10d, dword [0x141589fd4]
not edx
not r10d
and r10d, edx
not r10d
add r10d, 0x96cfbafb
not r10d
or r10d, 0x3a792910
xor r10d, 0x27ecf5e
lea r8, [r14 + 2]
mov qword [rdi], r8
cmp r10d, 0xe9f8f26c
jae 0x140051c07
lea rdx, [r14 + 2]
mov qword [rdi], rdx
jmp 0x140051bbe
mov r10d, eax
shl r10d, 6
movzx r11d, byte [r14 + 1]
and r11d, 0x3f
or r10d, r11d
nop word [rax + rax]
mov edx, dword [0x141589fd8]
sub edx, dword [0x141589fdc]
and edx, 0x800900
cmp edx, 0xc423fa8
ja 0x140051c20
cmp r9b, 0xdf
jbe 0x140051e53
lea r8, [r14 + 3]
mov qword [rdi], r8
movzx edx, byte [r14 + 2]
shl r11d, 6
and edx, 0x3f
or edx, r11d
mov r10d, eax
shl r10d, 0xc
nop word cs:[rax + rax]
mov r11d, dword [0x141589fe8]
add r11d, dword [0x141589fec]
imul r11d, r11d, 0xfd54d16a
mov ebx, r11d
xor ebx, 0x6dd46a68
and ebx, r11d
imul r11, rbx, 0x21306145
shr r11, 0x3d
cmp r11d, 0xc8b8c9bb
ja 0x140051c70
or r10d, edx
nop dword [rax + rax]
mov r11d, dword [0x141589ff0]
sub r11d, dword [0x141589ff4]
or r11d, 0x53b85ad0
imul r11, r11, 0x65ce903b
shr r11, 0x3e
add r11d, 0xa98bc4d1
cmp r11d, 0xe569e7b1
ja 0x140051cb0
cmp r9b, 0xf0
jb 0x140051d70
lea r8, [r14 + 4]
mov qword [rdi], r8
movzx r9d, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
nop
mov r10d, dword [0x141589ff8]
imul r10d, dword [0x141589ffc]
and r10d, 0x7fad921c
mov r11d, r10d
xor r11d, 0x18000200
xor r10d, 0xe4cd4050
or r11d, 0x63a1901c
and r11d, r10d
cmp r11d, 0x9356b5fc
jae 0x140051d00
mov r10d, r9d
xor r10b, 0xc0
and r10b, r9b
movzx r9d, r10b
mov r10d, r9d
and r10d, edx
add edx, r9d
sub edx, r10d
mov r9d, eax
and r9d, edx
add edx, eax
sub edx, r9d
mov r10d, edx
nop word cs:[rax + rax]
mov eax, dword [0x14158a008]
add eax, dword [0x14158a00c]
and eax, 0x1ee5402a
mov edx, eax
xor edx, 0x2210008
xor eax, 0x111cad52
or eax, 0xe2e3528d
or edx, 0xfc0612a7
and edx, eax
add edx, 0xaa855cac
jae 0x140051d70
cmp r10d, 0xffff
jbe 0x140051e53
mov eax, r10d
and eax, 0xff0000
mov edx, r10d
or edx, 0xff0000
add edx, eax
shr edx, 0xa
mov ebx, edx
xor ebx, 0xffffd800
add ebx, edx
and edx, 0x27ff
sub ebx, edx
nop dword [rax + rax]
mov eax, dword [0x14158a01c]
mov edx, eax
xor edx, eax
not edx
and edx, dword [0x14158a018]
xor edx, eax
mov eax, 0xef452995
sub eax, edx
add edx, 0x10bad66a
and eax, 0xc5a26b46
mov r9d, edx
and r9d, 0x3a5d94b9
imul r9d, eax
mov eax, edx
and eax, 0xc5a26b46
or edx, 0xc5a26b46
imul edx, eax
add edx, r9d
and edx, 0x8c0b4cc6
cmp edx, 0xd36bdf83
ja 0x140051de0
and r10d, 0x3ff
or r10d, 0xdc00
mov word [rdi + 0x10], r10w
mov r9d, 1
mov r14, r8
jmp 0x140051eb9
xor r9d, r9d
nop word cs:[rax + rax]
mov eax, dword [0x14158a010]
xor edx, edx
div dword [0x14158a014]
mov edx, eax
and edx, 0x75dae9d0
add edx, edx
neg edx
add eax, edx
add eax, 0x205261a4
mov edx, eax
not edx
and edx, 0x1d19dc7c
mov r11d, eax
and r11d, 0xe2e62383
imul r11d, edx
mov edx, eax
and edx, 0x1d19dc7c
or eax, 0x1d19dc7c
imul eax, edx
add eax, r11d
cmp eax, 0x80968137
je 0x140051e60
mov r14, r8
mov ebx, r10d
mov r15d, dword [rdi + 0x18]
mov rax, rcx
xor rax, r14
mov rdx, r14
not rdx
and rdx, rcx
add rdx, rdx
sub rdx, rax
add rdx, 3
mov rax, 0xffffffffffffffff
cmovae rax, rdx
shr rax, 2
xor ecx, ecx
cmp r15w, 2
cmovne ecx, r15d
movzx ecx, cx
not rax
sub rax, rcx
mov rcx, rax
not rcx
add rcx, r9
sub r9, rax
cmp rcx, 3
mov r12d, 4
cmovae r12, r9
mov rax, r12
shr rax, 0x3e
jne 0x140051f60
lea rdx, [r12 + r12]
movzx eax, byte [0x1415acbd0]
xor ecx, ecx
call fcn.1401ac910
test rax, rax
je 0x140051f93
mov rcx, rax
mov eax, dword [0x14158a070]
xor edx, edx
div dword [0x14158a074]
not eax
or eax, 0x2220010b
and eax, 0x66bc010b
cmp eax, 0xf5ce2520
jne 0x1400520ba
jmp 0x1400520d6
ud2
mov eax, dword [0x14158a058]
mov ecx, eax
not ecx
or ecx, dword [0x14158a05c]
add eax, ecx
inc eax
mov ecx, eax
not ecx
or ecx, 0x2080000
and ecx, 0x128c7978
mov edx, eax
and edx, 0x64710403
or edx, ecx
xor edx, 0xcd43fdf0
and eax, 0x54c50408
or eax, edx
add eax, 0xbac031e2
cmp eax, 0x46774055
jb 0x140052005
mov eax, dword [0x14158a060]
xor eax, dword [0x14158a064]
imul eax, eax, 0x7deaab0e
mov ecx, eax
and ecx, 0x27ff3312
xor eax, 0x27ff3313
lea eax, [rax + rcx*2]
ud2
ud2
mov eax, dword [0x14158a048]
xor edx, edx
div dword [0x14158a04c]
imul rax, rax, 0x20969f8b
shr rax, 0x3a
imul eax, eax, 0x4d9208f9
add eax, 0xadc7f3e
mov qword [rsi], 0
mov qword [rsi + 8], 2
cmp eax, 0x72775bb2
jbe 0x1400520ad
mov qword [rsi], 0
mov qword [rsi + 8], 2
jmp 0x140052062
mov qword [rsi + 0x10], 0
jmp 0x140052ab0
mov word [rcx], bx
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], 1
xor eax, eax
test al, al
je 0x1400520ee
mov word [rcx], bx
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], 1
jmp 0x1400520ba
mov rax, qword [rdi + 8]
mov qword [rsp + 0x48], rax
movzx r12d, word [rdi + 0x10]
movzx eax, word [rdi + 0x1a]
mov word [rsp + 0x2e], ax
mov qword [rsp + 0x50], rsi
nop word [rax + rax]
mov eax, dword [0x14158a078]
or eax, dword [0x14158a07c]
or eax, 0x68a96363
mov edx, eax
and edx, 0x13c6021
add edx, edx
neg edx
add eax, edx
add eax, 0x13c6021
and eax, 0xd2f589dc
cmp eax, 0x6680978
jb 0x140052110
mov edi, 1
mov r13d, 0xc6121be5
mov rbx, 0xffffffffffffffff
mov rsi, qword [rsp + 0x48]
jmp 0x140052180
mov r12d, r10d
mov word [rcx + rdi*2], bp
mov eax, edi
and eax, 1
or rdi, 1
add rdi, rax
mov qword [rsp + 0x40], rdi
nop word cs:[rax + rax]
mov eax, dword [0x14158a080]
mov edx, dword [0x14158a084]
not eax
not edx
or edx, eax
not edx
imul rax, rdx, 0x6955701f
shr rax, 0x3d
imul eax, eax, 0xd2bdbd06
imul rax, rax, 0x61211743
shr rax, 0x3e
cmp eax, 0x94721f9b
ja 0x140052180
test r14, r14
je 0x14005242c
mov edx, dword [0x14158a088]
mov r8d, dword [0x14158a08c]
mov eax, edx
not eax
mov r9d, r8d
not r9d
mov r10d, eax
and r10d, 0xa4862030
and edx, 0x5b79dfcf
or edx, r10d
or eax, r9d
and r9d, 0xa4862030
and r8d, 0x5b79dfcf
or r8d, r9d
xor r8d, edx
not eax
or eax, r8d
xor eax, 0xe9643df0
add eax, 0x3badfba3
mov edx, eax
not edx
and edx, 0xfad437a3
mov r8d, eax
and r8d, 0x52bc85c
imul r8d, edx
mov edx, eax
and edx, 0xfad437a3
or eax, 0xfad437a3
imul eax, edx
add eax, r8d
cmp eax, 0x1cf298d
jb 0x1400521c0
test r12w, r12w
je 0x140052260
xor r10d, r10d
mov ebp, r12d
jmp 0x140052830
mov eax, dword [0x14158a090]
mov edx, dword [0x14158a094]
mov r8d, eax
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, eax
imul r9d, r8d
mov r8d, eax
and r8d, edx
or eax, edx
imul eax, r8d
add eax, r9d
and eax, 0xe040020
add eax, 0x5f81d538
cmp eax, 0x367a3c89
jb 0x140052260
cmp r14, rsi
je 0x14005242c
mov eax, dword [0x14158a098]
imul eax, dword [0x14158a09c]
or eax, 0xd3754c5a
mov edx, eax
and edx, 0x16303f3d
add edx, edx
neg edx
add eax, edx
add eax, 0x16303f3d
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xd1497c39
and edx, 0x2c9683c6
imul edx, r8d
mov r8d, eax
and r8d, 0x2c9683c6
or eax, 0x2c9683c6
imul eax, r8d
add eax, edx
cmp eax, 0xef5c2c0b
ja 0x1400522ab
lea r9, [r14 + 1]
mov eax, dword [0x14158a0a0]
xor edx, edx
div dword [0x14158a0a4]
nop word cs:[rax + rax]
mov eax, dword [0x14158a0a8]
and eax, dword [0x14158a0ac]
mov edx, eax
and edx, 0x40c1608
mov r8d, edx
not r8d
mov r10d, eax
and r10d, 0x40400
and r8d, 0x9ceada1c
imul r8d, r10d
and eax, 0x4081208
or edx, 0x9ceada1c
imul edx, eax
add edx, r8d
cmp edx, 0xdd060817
jb 0x140052320
movzx r8d, byte [r14]
mov eax, dword [0x14158a0b0]
xor edx, edx
div dword [0x14158a0b4]
nop word [rax + rax]
mov eax, dword [0x14158a0b8]
mov edx, dword [0x14158a0bc]
mov r10d, edx
not r10d
mov r11d, eax
and r11d, r10d
or r10d, eax
not r10d
imul r10d, r11d
mov r11d, eax
and r11d, edx
or eax, edx
imul eax, r11d
add eax, r10d
xor eax, 0xce8d143e
imul rax, r13
shr rax, 0x3c
not eax
mov edx, eax
or edx, 0xfffffffd
or eax, 0x9f446afd
and eax, edx
cmp eax, 0x62c8f49b
jb 0x140052380
test r8b, r8b
js 0x1400524d0
nop dword [rax]
mov eax, dword [0x14158a0d0]
sub eax, dword [0x14158a0d4]
mov edx, eax
xor edx, 0xfbcf8ad1
xor eax, 0x4203004
and eax, 0xa5ac38c5
mov r10d, edx
and r10d, 0x5a53c73a
imul r10d, eax
mov eax, edx
and eax, 0xa5ac38c5
or edx, 0xa5ac38c5
imul edx, eax
add edx, r10d
cmp edx, 0xaa5e9a64
je 0x1400523e0
jmp 0x1400527d0
cmp r15w, 1
jne 0x140052a02
nop word [rax + rax]
mov eax, dword [0x14158a118]
xor edx, edx
div dword [str.C_rl]
or eax, 0xd7d75c35
imul eax, eax, 0xaf572099
cmp eax, 0x7ae1a6f3
je 0x140052440
mov rax, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov edx, dword [0x14158a120]
imul edx, dword [0x14158a124]
add edx, 0x45e301f4
mov r8d, edx
xor r8d, 0x6f046db2
and edx, 0x10fb924d
add edx, edx
sub edx, r8d
xor edx, 0x7607c66b
cmp edx, 0x3f29e924
ja 0x140052470
xor r14d, r14d
movzx edx, word [rsp + 0x2e]
mov ebp, edx
mov r15d, 0
mov r8d, 0
cmp rdi, rax
jne 0x14005215c
jmp 0x1400529e8
mov eax, dword [0x14158a0c0]
imul eax, dword [0x14158a0c4]
mov edx, eax
xor edx, 0xc745fa98
and edx, eax
mov eax, edx
xor eax, 0xa8e69da3
and edx, 0x5719625c
add edx, edx
sub edx, eax
add edx, 0xb6be57f0
cmp edx, 0x3ed868d3
ja 0x1400524d0
mov r10d, r8d
and r10d, 0x1f
nop dword [rax]
mov eax, dword [0x14158a0c8]
mov edx, dword [0x14158a0cc]
not eax
not edx
mov r9d, eax
or r9d, edx
not r9d
and edx, eax
or edx, r9d
not edx
add edx, 0xfbc82b20
imul rax, rdx, 0x24a93edd
shr rax, 0x3d
or eax, 0x6716cda4
cmp eax, 0xf4a9e013
ja 0x140052510
movzx eax, byte [r14 + 1]
mov r11d, eax
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x1400526ce
mov eax, dword [0x14158a0d8]
xor edx, edx
div dword [0x14158a0dc]
imul rax, rax, 0x904aadb
shr rax, 0x3b
add eax, 0xbed2f73b
or eax, 0x1430b0a6
cmp eax, 0xcc1db2b1
ja 0x140052563
lea r9, [r14 + 3]
movzx eax, byte [r14 + 2]
shl r11d, 6
mov edx, eax
not dl
or dl, 0x3f
add dl, al
inc dl
movzx eax, dl
mov edx, dword [0x14158a0e0]
mov ebp, dword [0x14158a0e4]
mov r12d, ebp
not r12d
mov esi, edx
and esi, r12d
or r12d, edx
not r12d
imul r12d, esi
mov esi, edx
and esi, ebp
or edx, ebp
imul edx, esi
add edx, r12d
mov esi, edx
not esi
and esi, 0x7459e0e8
and edx, 0x8ba61f17
sub edx, esi
mov esi, edx
not esi
mov ebp, edx
and ebp, 0x140a87ab
and esi, 0xebf57854
imul esi, ebp
mov ebp, edx
and ebp, 0xebf57854
or edx, 0xebf57854
imul edx, ebp
add edx, esi
mov esi, edx
not esi
and esi, 0x5474bbb5
mov ebp, edx
and ebp, 0xab8b4448
imul ebp, esi
mov esi, edx
and esi, 0x5474bbb4
or edx, 0x5474bbb5
imul edx, esi
add edx, ebp
cmp edx, 0x7c4514e9
jb 0x1400525a8
mov edx, r11d
xor edx, eax
not eax
and eax, r11d
add edx, r11d
sub edx, eax
cmp r8b, 0xf0
jb 0x1400526f9
mov r8d, 0x8c1e1e0d
nop word cs:[rax + rax]
mov eax, dword [0x14158a0e8]
imul eax, dword [0x14158a0ec]
or eax, 0x32fc9979
imul rax, r8
shr rax, 0x3f
or eax, 0x7f316438
cmp eax, 0x8978d40
jb 0x140052670
and r10d, 7
shl r10d, 0x12
movzx eax, byte [r14 + 3]
add r14, 4
shl edx, 6
mov r8d, eax
xor r8b, 0xc0
or al, 0x3f
and al, r8b
movzx eax, al
or eax, edx
not eax
not r10d
and r10d, eax
not r10d
mov r9, r14
mov r8d, r10d
jmp 0x140052703
add r14, 2
shl r10d, 6
not r11d
and r11d, 0x63ddf377
and eax, 8
or eax, r11d
xor eax, r10d
xor eax, 0x63ddf377
mov r9, r14
mov r8d, eax
jmp 0x1400527d0
shl r10d, 0xc
or edx, r10d
mov r8d, edx
mov rsi, qword [rsp + 0x48]
nop dword [rax + rax]
mov eax, dword [0x14158a0f4]
not eax
add eax, dword [0x14158a0f0]
imul eax, eax, 0x5a10f392
add eax, 0x3261fe2d
mov edx, eax
and edx, 0x3c7a03b0
xor eax, 0x3c7a03b0
lea eax, [rax + rdx*2]
cmp eax, 0x82d1ccb2
jb 0x140052710
cmp r8d, 0xffff
jbe 0x1400527d0
mov eax, dword [0x14158a100]
and eax, dword [0x14158a104]
add eax, 0xcb3f43fe
imul rax, rax, 0x2094ef7
shr rax, 0x38
add eax, 0x4dd9a0ea
cmp eax, 0x3c48da06
jb 0x14005274d
lea ebp, [r8 + 0xff0000]
shr ebp, 0xa
or ebp, 0xd800
nop word cs:[rax + rax]
mov eax, dword [0x14158a108]
and eax, dword [0x14158a10c]
not eax
and eax, 0x2c4200
cmp eax, 0x3eaaddea
ja 0x140052790
and r8d, 0x3ff
movzx r10d, r8w
or r10d, 0xdc00
mov r14, r9
jmp 0x140052830
mov eax, dword [0x14158a0f8]
and eax, dword [0x14158a0fc]
imul eax, eax, 0x11c0141f
mov edx, eax
not edx
mov r10d, eax
and r10d, 0x93afb017
and edx, 0x6c504fe8
imul edx, r10d
mov r10d, eax
and r10d, 0x6c504fe8
or eax, 0x6c504fe8
imul eax, r10d
add eax, edx
add eax, 0xac45affa
xor r10d, r10d
cmp eax, 0x3de5dd0d
jb 0x1400527d0
mov r14, r9
mov ebp, r8d
nop word cs:[rax + rax]
mov eax, dword [0x14158a110]
and eax, dword [0x14158a114]
mov edx, eax
not edx
or edx, 0x21410034
and edx, 0x31470434
mov r8d, eax
and r8d, 0xc4b07982
or r8d, edx
xor r8d, 0x82206759
and eax, 0x90266100
or eax, r8d
add eax, 0x43ba9cfc
cmp eax, 0xf7f0f5ed
ja 0x140052830
cmp rdi, qword [rsp + 0x30]
jne 0x140052159
mov eax, dword [0x14158a128]
and eax, dword [0x14158a12c]
add eax, 0x7ae252f1
mov ecx, eax
not ecx
and ecx, 0xc81e72d6
mov edx, eax
and edx, 0x37e18d29
imul edx, ecx
mov ecx, eax
and ecx, 0xc81e72d6
or eax, 0xc81e72d6
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x541315b8
and ecx, 0xabecea47
imul ecx, edx
mov edx, eax
and edx, 0xabecea46
or eax, 0xabecea47
imul eax, edx
add eax, ecx
cmp eax, 0x564f30c5
je 0x14005287f
nop word cs:[rax + rax]
mov eax, dword [0x14158a130]
xor eax, dword [0x14158a134]
xor eax, 0x5b6dae25
imul eax, eax, 0x67fab75b
xor eax, 0xc17c2089
cmp eax, 0x32751934
jb 0x1400528f0
mov rax, rsi
sub rax, r14
nop dword [rax]
mov ecx, dword [0x14158a138]
xor ecx, dword [0x14158a13c]
mov edx, ecx
and edx, 0x34a47084
add edx, edx
neg edx
add ecx, edx
add ecx, 0x34a47084
or ecx, 0x5fc206e1
imul r9d, ecx, 0x11ce1541
xor ecx, ecx
test r10w, r10w
setne dl
mov r8, rax
add r8, 3
cmovb r8, rbx
cmp r9d, 0x4a0f66e2
je 0x140052920
shr r8, 2
mov cl, dl
cmp r15w, 2
jne 0x1400529db
mov eax, dword [0x14158a140]
xor edx, edx
div dword [0x14158a144]
xor eax, 0x66db24a1
imul eax, eax, 0x6b7f452
add eax, 0x142c10e
cmp eax, 0x591988c4
ja 0x140052977
add r8, rcx
nop
mov eax, dword [0x14158a148]
xor edx, edx
div dword [0x14158a14c]
add eax, 0x4b33b6cf
imul rax, rax, 0x29f958cb
shr rax, 0x3d
lea ecx, [rax - 0xbe5eabc]
xor ecx, 0x9e283f5
or ecx, eax
cmp ecx, 0x676db2d7
jb 0x1400529a0
mov r15w, 2
jmp 0x1400529e5
movzx eax, r15w
add r8, rcx
add r8, rax
mov r12d, r10d
inc r8
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1402474d0
mov rcx, qword [rsp + 0x38]
jmp 0x14005215c
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
mov eax, 0x91eb977d
nop dword [rax]
mov ecx, dword [0x14158a150]
mov edx, dword [0x14158a154]
mov r8d, ecx
and r8d, edx
or ecx, edx
not ecx
or ecx, r8d
mov edx, ecx
not edx
and ecx, 0xcb1dd718
mov r8d, edx
and r8d, 0x34e228e7
imul r8d, ecx
mov ecx, edx
and ecx, 0xcb1dd718
or edx, 0xcb1dd718
imul edx, ecx
add edx, r8d
imul rdx, rax
shr rdx, 0x3a
or edx, 0x9f43a719
cmp edx, 0xc74eac14
ja 0x140052a20
nop dword [rax + rax]
mov eax, dword [0x14158a158]
mov ecx, eax
not ecx
or ecx, dword [0x14158a15c]
add eax, ecx
add eax, 0xa9ca90fb
mov ecx, eax
and ecx, 0x6d1eaac0
add ecx, ecx
sub eax, ecx
cmp eax, 0x4f9a2b34
je 0x140052a80
nop word [rax + rax]
mov eax, dword [0x14158a160]
mov ecx, dword [0x14158a164]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0x570c863b
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x44bbdb08
and ecx, 0x3b4424f7
imul ecx, edx
mov edx, eax
and edx, 0x3b4424f7
or eax, 0x3b4424f7
imul eax, edx
add eax, ecx
or eax, 0x8734bdea
cmp eax, 0x84efe330
jb 0x140052ab0
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret