Function at 0x1400ef5b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rdx
mov r14, qword [r8 + 8]
mov eax, dword [0x141594aa8]
xor edx, edx
div dword [0x141594aac]
mov rbx, r8
mov rdi, rcx
nop dword [rax + rax]
mov eax, dword [0x141594ab0]
xor eax, dword [0x141594ab4]
or eax, 0x3cb92f13
mov ecx, eax
and ecx, 0x2846c238
xor eax, 0xa846c238
lea eax, [rax + rcx*2]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xa6ab3089
and ecx, 0x4954c774
imul ecx, edx
mov edx, eax
and edx, 0x4954c376
or eax, 0x4954c776
imul eax, edx
add eax, ecx
cmp eax, 0x382c6684
jb 0x1400ef5e0
test r14, r14
je 0x1400ef73d
nop dword [rax + rax]
mov eax, dword [0x141594ab8]
mov ecx, dword [0x141594abc]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
mov ecx, eax
not ecx
or ecx, 0x39efc539
add eax, ecx
inc eax
xor eax, 0x2d1a8006
cmp eax, 0x81d1fadc
ja 0x1400ef640
mov r15, qword [rbx]
mov eax, dword [0x141594ac0]
and eax, dword [0x141594ac4]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xb124089d
mov r8d, edx
and r8d, 0xa752e888
and ecx, 0x48891762
imul ecx, r8d
and edx, 0x58ad1777
or eax, 0xf9ad1fff
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x3a38c9da
and eax, 0x45c73625
add eax, eax
sub eax, ecx
cmp eax, 0xbecf1654
jbe 0x1400ef6e0
mov rcx, rdi
mov rdx, r15
mov r8, r14
call qword [rsi + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141594ac8]
mov ecx, dword [0x141594acc]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
xor eax, 0x6c5df9a
or ecx, 0xd8222004
and ecx, eax
mov ebp, ecx
and ebp, 0xdc62780e
and ecx, 0x48625000
sub ebp, ecx
add ebp, 0x497f5351
mov rcx, rdi
mov rdx, r15
mov r8, r14
call qword [rsi + 0x18]
cmp ebp, 0x14ad2653
jb 0x1400ef6e0
mov ecx, eax
mov al, 1
test cl, cl
jne 0x1400f0410
mov r12, qword [rbx + 0x10]
mov eax, dword [0x141594ad0]
xor edx, edx
div dword [0x141594ad4]
nop
mov eax, dword [0x141594ad8]
or eax, dword [0x141594adc]
shr eax, 2
imul rax, rax, 0x48905a01
shr rax, 0x3a
mov ecx, eax
and ecx, 0xfffffffc
add ecx, ecx
sub eax, ecx
cmp eax, 0x379bb54b
je 0x1400ef750
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1400f0404
lea rax, [rax + rax*2]
lea rbx, [r12 + rax*8]
nop
mov eax, dword [0x141594ae0]
imul eax, dword [0x141594ae4]
or eax, 0x68348a91
imul rcx, rax, 0x564e3f0f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
or eax, 0xf7d537a
cmp eax, 0x59f65697
ja 0x1400ef790
nop word cs:[rax + rax]
mov eax, dword [0x141594ae8]
mov ecx, dword [0x141594aec]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
imul rax, rcx, 0x32523e7b
shr rax, 0x3d
lea ecx, [rax*2 + 0x1ea09df4]
sub ecx, eax
cmp ecx, 0x7448a1c1
je 0x1400ef7d0
nop word cs:[rax + rax]
mov eax, dword [0x141594af0]
mov ecx, dword [0x141594af4]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul eax, eax, 0xd401de35
add eax, 0xe23d1974
xor eax, 0x6a294596
cmp eax, 0x59419e42
jb 0x1400ef810
xor ebp, ebp
mov r13d, 0x88699cab
lea r15, [rsp + 0x28]
lea r14, [0x14157554b]
mov qword [rsp + 0x30], rbx
jmp 0x1400ef893
xor r8d, r8d
mov rcx, rdi
mov rdx, r15
call qword [rsi + 0x18]
test al, al
jne 0x1400f0451
add r12, 0x18
cmp r12, rbx
lea r15, [rsp + 0x28]
je 0x1400f0404
mov eax, dword [0x141594af8]
mov ecx, eax
not ecx
or ecx, dword [0x141594afc]
add eax, ecx
inc eax
and eax, 0x25e60a8f
add eax, 0x5086b3ba
mov ecx, eax
not ecx
and ecx, 0x88b8006e
and eax, 0x27468f91
sub eax, ecx
cmp eax, 0x34950570
je 0x1400ef893
movzx eax, word [r12]
cmp rax, 1
jg 0x1400efc40
cmp eax, 1
jne 0x1400efce0
mov eax, dword [0x141594b30]
xor edx, edx
div dword [0x141594b34]
nop
mov eax, dword [0x141594b38]
mov ecx, dword [0x141594b3c]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0x2b9f6de1
or eax, 0x86ac1255
add eax, 0x66067c09
cmp eax, 0xfae842c6
jb 0x1400ef8f0
movzx ecx, word [r12 + 2]
mov byte [rsp + 0x2c], 0
mov dword [rsp + 0x28], 0
mov eax, dword [0x141594b40]
xor edx, edx
div dword [0x141594b44]
mov edx, eax
not edx
and edx, 0xb1cd4e55
mov r8d, eax
and r8d, 0x4e32b1aa
imul r8d, edx
mov edx, eax
and edx, 0xb1cd4e55
or eax, 0xb1cd4e55
imul eax, edx
add eax, r8d
imul rdx, rax, 0x1775917
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
imul eax, eax, 0x7c38602a
cmp eax, 0xfb7767f7
je 0x1400ef92e
movzx edx, word [r12]
cmp rdx, 1
jg 0x1400efbc0
mov eax, 8
cmp edx, 1
jne 0x1400efbca
mov eax, dword [0x141594b48]
xor edx, edx
div dword [0x141594b4c]
test bpl, bpl
jne 0x1400ef9b3
movzx r9d, word [r12 + 2]
mov eax, dword [0x141594b50]
xor edx, edx
div dword [0x141594b54]
nop dword [rax]
mov eax, dword [0x141594b58]
or eax, dword [0x141594b5c]
xor eax, 0x4594070
mov edx, eax
and edx, 0x44594179
and eax, 0x504131
mov r8d, edx
xor r8d, 0x74abb4cc
add r8d, edx
sub r8d, eax
cmp r8d, 0xc77f0e38
je 0x1400ef9d0
nop word [rax + rax]
mov eax, dword [0x141594b60]
mov edx, dword [0x141594b64]
mov r8d, eax
not r8d
and r8d, edx
mov r10d, edx
not r10d
and r10d, eax
imul r10d, r8d
mov r8d, eax
and r8d, edx
or eax, edx
imul eax, r8d
add eax, r10d
mov edx, eax
xor edx, 0x820b0508
xor eax, 0x4b00200
and eax, 0xdb01224
and edx, 0xf24feddb
or edx, eax
mov eax, edx
not eax
and eax, 0xef1643e
and edx, 0xf10e9bc1
sub edx, eax
cmp edx, 0xd73e69ee
jb 0x1400efa10
movzx eax, r9w
cmp eax, 0x3e8
jae 0x1400f0020
mov edx, dword [0x141594b80]
mov eax, dword [0x141594b84]
xor eax, edx
not eax
and eax, edx
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xaca04ad
and edx, 0xf535fb52
imul edx, r8d
mov r8d, eax
and r8d, 0xf535fb52
or eax, 0xf535fb52
imul eax, r8d
add eax, edx
mov edx, eax
not edx
mov r8d, eax
or r8d, 0xfef96d0a
and edx, 0x10002e4
mov r10d, r8d
and r10d, 0x9e9eb010
imul r10d, edx
and r8d, 0x61614fee
or eax, 0xfff96fee
imul eax, r8d
add eax, r10d
cmp eax, 0x23775b1a
je 0x1400efa83
cmp r9w, 9
ja 0x1400f00eb
mov eax, dword [0x141594b88]
or eax, dword [0x141594b8c]
mov edx, 0x809bdd73
imul rax, rdx
shr rax, 0x3e
cmp eax, 0xcd4286e
je 0x1400efb09
nop dword [rax]
mov eax, dword [0x141594b90]
mov edx, dword [0x141594b94]
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
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x731a9c90
and edx, 0x8ce5636f
imul edx, r8d
mov r8d, eax
and r8d, 0x8ce5636f
or eax, 0x8ce5636f
imul eax, r8d
add eax, edx
mov edx, eax
and edx, 0x339f13bd
add edx, edx
sub eax, edx
add eax, 0x8db6b869
cmp eax, 0x1e920432
jb 0x1400efb30
mov r8d, 1
lea rax, [rsp + 0x29]
jmp 0x1400f01e6
test bpl, bpl
jne 0x1400efbc0
mov eax, 0x10
mov r8, qword [r12 + rax]
cmp r8, 5
ja 0x1400f0459
mov eax, dword [0x141594c08]
xor edx, edx
div dword [0x141594c0c]
mov eax, dword [0x141594c10]
xor edx, edx
div dword [0x141594c14]
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x47faadcf
and edx, 0xb8055230
imul edx, r9d
mov r9d, eax
and r9d, 0xb8055230
or eax, 0xb8055230
imul eax, r9d
add eax, edx
cmp eax, 0x1b231e8b
je 0x1400efbe6
test r8, r8
jne 0x1400f01cb
jmp 0x1400ef86d
mov r9d, 0xbb6c7885
mov eax, dword [0x141594bc0]
mov ecx, dword [0x141594bc4]
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, 0x1d055925
imul rax, r9
shr rax, 0x3b
xor eax, 0x5593dbb0
cmp eax, 0x38d5e556
jb 0x1400efc46
mov rdx, qword [r12 + 8]
mov eax, dword [0x141594bc8]
or eax, dword [0x141594bcc]
imul eax, eax, 0x568ff36e
or eax, 0x87ffa612
imul rax, rax, 0x57c816ef
shr rax, 0x3d
cmp eax, 0x633d595b
ja 0x1400efc90
mov r8, qword [r12 + 0x10]
mov rcx, rdi
call qword [rsi + 0x18]
test al, al
je 0x1400ef881
jmp 0x1400f044d
mov eax, dword [0x141594b08]
sub eax, dword [0x141594b0c]
add eax, 0x760356e7
mov ecx, eax
not ecx
and ecx, 0x4eaab33c
mov edx, eax
and edx, 0xb1554cc3
imul edx, ecx
mov ecx, eax
and ecx, 0x4eaab33c
or eax, 0x4eaab33c
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0xb987deac
and ecx, eax
cmp ecx, 0xb66f60fc
je 0x1400efce0
mov r15, qword [r12 + 8]
nop
mov eax, dword [0x141594b10]
mov ecx, dword [0x141594b14]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
add ecx, 0x6ee8319d
mov eax, ecx
not eax
or ecx, 0x5792d8a9
or eax, 0xa86d2756
and eax, ecx
not eax
imul rax, rax, 0x43e81861
shr rax, 0x3c
cmp eax, 0x46f74427
je 0x1400efd30
cmp r15, 0x41
jb 0x1400efe90
nop dword [rax]
mov eax, dword [0x141594b18]
xor edx, edx
div dword [0x141594b1c]
imul eax, eax, 0x1ed409e0
mov ecx, eax
not ecx
or ecx, 0x45e6f9d3
add eax, ecx
inc eax
or eax, 0x6e65a031
cmp eax, 0x13c5df64
jb 0x1400efd80
nop
mov eax, dword [0x141594b20]
xor edx, edx
div dword [0x141594b24]
add eax, 0x230b6c52
mov ecx, eax
not ecx
and ecx, 0x36d138cd
mov edx, eax
and edx, 0xc92ec732
imul edx, ecx
mov ecx, eax
and ecx, 0x36d138cd
or eax, 0x36d138cd
imul eax, ecx
add eax, edx
add eax, 0x8a6cc343
cmp eax, 0x71249136
jb 0x1400efdb0
mov r13, qword [rsi + 0x18]
nop word [rax + rax]
mov eax, dword [0x141594b28]
xor edx, edx
div dword [0x141594b2c]
or eax, 0x10010070
and eax, 0x14191bf8
cmp eax, 0xff083f13
je 0x1400efe00
nop
test bpl, bpl
je 0x1400efe40
mov r8d, 0x40
mov rcx, rdi
mov rdx, r14
call r13
nop word cs:[rax + rax]
mov eax, dword [0x141594bf4]
add eax, dword [0x141594bf0]
or eax, 0x41000646
and eax, 0x55618ef6
imul ebx, eax, 0xd3ac96b0
mov r8d, 0x40
mov rcx, rdi
mov rdx, r14
call r13
cmp ebx, 0x3f640846
je 0x1400efe40
test al, al
jne 0x1400f0408
add r15, 0xffffffffffffffc0
cmp r15, 0x40
ja 0x1400efe20
jmp 0x1400eff80
mov eax, dword [0x141594bd0]
mov ecx, eax
not ecx
or ecx, dword [0x141594bd4]
add eax, ecx
add eax, 0xd795eeae
xor eax, 0x14043800
or eax, 0x63b8c7f3
cmp eax, 0x62126997
jb 0x1400efe90
nop dword [rax + rax]
mov eax, dword [0x141594bd8]
add eax, dword [0x141594bdc]
mov ecx, eax
not ecx
and ecx, 0x43101f1
mov edx, eax
and edx, 0xfbcefe0e
imul edx, ecx
mov ecx, eax
and ecx, 0x43101f1
or eax, 0x43101f1
imul eax, ecx
add eax, edx
cmp eax, 0xe1fe71ac
je 0x1400efec0
test r15, r15
je 0x1400ef881
nop word cs:[rax + rax]
mov eax, dword [0x141594be0]
mov ecx, dword [0x141594be4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
xor eax, 0xdd92c4b3
mov ecx, eax
and ecx, 0x295371ec
or eax, 0x295371ec
add eax, ecx
mov ecx, eax
xor ecx, 0xffe82173
or eax, 0x17de8c
and eax, ecx
cmp eax, 0x3f23d91d
ja 0x1400eff10
mov r13, qword [rsi + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141594be8]
imul eax, dword [0x141594bec]
not eax
or eax, 0x106b4
and eax, 0xc0306b4
cmp eax, 0x7018b288
jae 0x1400eff60
mov eax, dword [0x141594bf8]
mov ecx, dword [0x141594bfc]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
imul eax, ecx, 0x15655567
shr eax, 1
imul rax, rax, 0x464cd71f
shr rax, 0x3d
cmp eax, 0x572f6cbc
jbe 0x1400effc0
mov rcx, rdi
mov rdx, r14
mov r8, r15
call r13
nop
mov ebx, dword [0x141594c00]
and ebx, dword [0x141594c04]
and ebx, 0x5df45b29
add ebx, 0x6582f3b3
mov eax, ebx
and eax, 0xfff5ff7f
xor eax, 0x95d1bca5
and ebx, 0x95d3bc25
or ebx, eax
mov rcx, rdi
mov rdx, r14
mov r8, r15
call r13
cmp ebx, 0x3f2eda8f
je 0x1400effc0
test al, al
mov rbx, qword [rsp + 0x30]
mov r13d, 0x88699cab
je 0x1400ef881
jmp 0x1400f0455
mov edx, dword [0x141594b68]
sub edx, dword [str.MMb]
add edx, 0x6e115e30
and edx, 0x7c399c4f
cmp edx, 0x4bfd9215
je 0x1400f0020
mov r8d, dword [0x141594b70]
mov r9d, dword [0x141594b74]
mov edx, r8d
not edx
mov r10d, r9d
not r10d
mov r11d, edx
and r11d, 0xbacaaef7
and r8d, 0x45355108
or r8d, r11d
or edx, r10d
and r10d, 0xbacaaef7
and r9d, 0x45355108
or r9d, r10d
xor r9d, r8d
not edx
or edx, r9d
add edx, 0xd996ee54
or edx, 0x4890e521
mov r8d, edx
and r8d, 0x54f7af9c
xor edx, 0x54f7af9c
cmp eax, 0x2710
lea edx, [rdx + r8*2]
mov r8d, 5
sbb r8, 0
cmp edx, 0x7689569a
jb 0x1400f0040
mov eax, dword [0x141594b78]
xor edx, edx
div dword [0x141594b7c]
or eax, 0x8218507c
add eax, 0x914212cb
not eax
or eax, 0x1af60738
cmp eax, 0xb0955ee3
jb 0x1400f00c0
jmp 0x1400f01cb
mov eax, dword [0x141594b98]
xor edx, edx
div dword [0x141594b9c]
nop dword [rax]
mov eax, dword [0x141594ba0]
add eax, dword [0x141594ba4]
mov edx, eax
not edx
and edx, 0x3367937a
and eax, 0xcc986c85
sub eax, edx
imul rax, rax, 0x39273b87
shr rax, 0x3c
mov edx, eax
xor edx, 0xccdfd51f
add edx, eax
cmp edx, 0x298b1efc
jb 0x1400f0100
mov eax, dword [0x141594ba8]
xor edx, edx
div dword [0x141594bac]
nop dword [rax + rax]
mov eax, dword [0x141594bb0]
mov edx, dword [0x141594bb4]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
mov edx, eax
xor edx, 0x11240406
and edx, eax
or edx, 0xe692c8f1
add edx, 0xc9be39e5
cmp r9w, 0x64
mov r8d, 3
sbb r8, 0
cmp edx, 0x12cb8331
jb 0x1400f0150
nop word [rax + rax]
mov eax, dword [0x141594bb8]
sub eax, dword [0x141594bbc]
mov edx, eax
and edx, 0x2a108388
add edx, edx
neg edx
add eax, edx
add eax, 0xb742d4e1
and eax, 0xdbaeda12
cmp eax, 0x3cf34e81
ja 0x1400f01a0
lea rax, [rsp + r8]
add rax, 0x28
mov rdx, r8
xor rdx, 0xfffffffffffffffe
mov r9, r8
or r9, 1
test r9, rdx
je 0x1400f0234
movzx edx, cx
test bpl, bpl
jne 0x1400f0212
imul ecx, edx, 0xcccd
shr ecx, 0x13
lea r9d, [rcx + rcx]
lea r9d, [r9 + r9*4]
mov r10d, edx
sub r10d, r9d
or r10b, 0x30
mov byte [rax - 1], r10b
test bpl, bpl
je 0x1400f0231
imul ecx, edx, 0xcccd
shr ecx, 0x12
and ecx, 0xfffffffe
lea ecx, [rcx + rcx*4]
mov r9d, edx
sub r9d, ecx
or r9b, 0x30
mov byte [rax - 1], r9b
jmp 0x1400f01ee
dec rax
mov edx, dword [0x141594c18]
mov r9d, dword [0x141594c1c]
mov r10d, edx
and r10d, r9d
or edx, r9d
add edx, r10d
mov r9d, edx
not r9d
and r9d, 0xd2439741
mov r10d, edx
and r10d, 0x2dbc68be
imul r10d, r9d
mov r9d, edx
and r9d, 0xd2439741
or edx, 0xd2439741
imul edx, r9d
add edx, r10d
mov r9d, edx
not r9d
mov r10d, edx
and r10d, 0x6d3166cb
and r9d, 0x92ce9934
imul r9d, r10d
mov r10d, edx
and r10d, 0x92ce9934
or edx, 0x92ce9934
imul edx, r10d
add edx, r9d
mov r9, rdx
imul r9, r13
shr r9, 0x20
sub edx, r9d
shr edx, 1
add edx, r9d
shr edx, 0x1e
cmp edx, 0x1db9f6a9
je 0x1400f0234
cmp r8, 1
je 0x1400ef870
add rax, 0xfffffffffffffffe
jmp 0x1400f030c
shr ecx, 2
imul ecx, ecx, 0x147b
shr ecx, 0x11
lea rdx, [rax - 2]
cmp rax, r15
mov rax, rdx
je 0x1400ef870
mov edx, dword [0x141594c20]
mov r9d, dword [0x141594c24]
not r9d
add edx, r9d
add edx, 0xa6d23a8c
not edx
or edx, 0x90d7ba88
movzx ecx, cx
cmp edx, 0xbdcbe868
ja 0x1400f03c5
nop dword [rax]
mov edx, dword [0x141594c28]
mov r9d, dword [str.c8]
mov r10d, edx
xor r10d, r9d
not r10d
or edx, r9d
and edx, r10d
mov r9d, edx
xor r9d, 0xd210fd44
or edx, 0x2def02bb
and edx, r9d
add edx, 0x1a57a38b
xor edx, 0xcb538edc
imul r9d, ecx, 0xcccd
shr r9d, 0x13
lea r10d, [r9 + r9]
lea r10d, [r10 + r10*4]
mov r11d, ecx
sub r11d, r10d
or r11b, 0x30
imul r10d, r9d, 0x199a
shr r10d, 0xf
and r10d, 0xfffffffe
lea r10d, [r10 + r10*4]
sub r9d, r10d
or r9b, 0x30
mov byte [rax + 1], r11b
mov byte [rax], r9b
cmp edx, 0x6ebfad61
jne 0x1400f02f0
imul edx, ecx, 0xcccd
shr edx, 0x13
lea r9d, [rdx + rdx]
lea r9d, [r9 + r9*4]
mov r10d, ecx
sub r10d, r9d
or r10b, 0x30
mov byte [rax + 1], r10b
imul r9d, edx, 0x199a
shr r9d, 0xf
and r9d, 0xfffffffe
lea r9d, [r9 + r9*4]
sub edx, r9d
or dl, 0x30
mov byte [rax], dl
jmp 0x1400f0340
xor eax, eax
jmp 0x1400f0410
mov al, 1
nop word [rax + rax]
mov ecx, dword [0x141594b00]
sub ecx, dword [0x141594b04]
mov edx, ecx
not edx
or ecx, 0x82022801
or edx, 0x450c242
and edx, ecx
or edx, 0x79ad15bc
cmp edx, 0x5a75cf5f
je 0x1400f0410
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 1
jmp 0x1400f0410
mov al, 1
jmp 0x1400f0410
mov al, 1
jmp 0x1400f0410
ud2