Function at 0x1400fd630
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 rbx, r8
mov rsi, rdx
mov rdi, rcx
nop dword [rax]
mov eax, dword [0x1415bb600]
mov ecx, dword [0x1415bb604]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
mov ecx, eax
not ecx
and ecx, 0x70e39c11
mov edx, eax
and edx, 0x8f1c63ee
imul edx, ecx
mov ecx, eax
and ecx, 0x70e39c11
or eax, 0x70e39c11
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0xd9cda1a0
add ecx, eax
and eax, 0x26325e5f
sub ecx, eax
mov eax, ecx
xor eax, 0xd4b7553f
add eax, ecx
and ecx, 0x2b48aac0
sub eax, ecx
cmp eax, 0x81547afe
jb 0x1400fd650
mov r14, qword [rbx + 8]
mov eax, 0xbadceee5
nop dword [rax]
mov ecx, dword [0x1415bb608]
mov edx, dword [0x1415bb60c]
mov r8d, ecx
xor r8d, edx
not edx
and edx, ecx
add edx, edx
sub edx, r8d
mov ecx, edx
not ecx
or ecx, 0x67ff8e88
add ecx, edx
inc ecx
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x7d6bc7de
cmp ecx, 0x77184912
jb 0x1400fd6c0
test r14, r14
je 0x1400fd7d0
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400fd710
mov r15, qword [rbx]
mov eax, dword [0x1415bb610]
xor edx, edx
div dword [0x1415bb614]
mov ecx, eax
and ecx, 0x7354fc45
xor ecx, 0x13145c04
xor eax, 0x40402041
lea edx, [rcx - 0x7354fc46]
mov r8d, edx
and r8d, 0xa3bb9486
and eax, 0x50446841
imul eax, r8d
and edx, 0x5c446b79
or ecx, 0xdcef6bfb
imul ecx, edx
add ecx, eax
cmp ecx, 0xb14c84ea
jbe 0x1400fd780
mov rcx, rdi
mov rdx, r15
mov r8, r14
call qword [rsi + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x1415bb618]
mov ecx, dword [0x1415bb61c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea ebp, [rax + rdx*2]
xor ebp, 0x541220d0
and ebp, 0x561a20d9
add ebp, 0x6a2e45b8
mov rcx, rdi
mov rdx, r15
mov r8, r14
call qword [rsi + 0x18]
cmp ebp, 0x7afadce1
ja 0x1400fd780
mov ecx, eax
mov al, 1
test cl, cl
jne 0x1400fe390
nop word [rax + rax]
mov eax, dword [0x1415bb620]
mov ecx, dword [0x1415bb624]
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
cmp eax, 0x7a88d5a
je 0x1400fd7d0
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1400fe37c
mov r12, qword [rbx + 0x10]
lea rax, [rax + rax*2]
lea rax, [r12 + rax*8]
mov qword [rsp + 0x30], rax
mov eax, 0x8e01a293
nop word cs:[rax + rax]
mov ecx, dword [0x1415bb628]
sub ecx, dword [0x1415bb62c]
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x739f1c78
cmp ecx, 0x6997963b
je 0x1400fd830
mov ebp, 0x9c206c2d
xor r13d, r13d
mov r10d, 0xa0638bf5
lea r14, [rsp + 0x28]
jmp 0x1400fd890
test al, al
mov r10d, 0xa0638bf5
lea r14, [rsp + 0x28]
jne 0x1400fe3d3
add r12, 0x18
cmp r12, qword [rsp + 0x30]
je 0x1400fe37c
nop dword [rax]
mov eax, dword [0x1415bb630]
add eax, dword [0x1415bb634]
imul rax, rbp
shr rax, 0x3f
xor eax, 0xef06f395
imul eax, eax, 0x9cf8321d
cmp eax, 0xcd1632c2
je 0x1400fd890
movzx eax, word [r12]
cmp rax, 1
jg 0x1400fdbb0
cmp eax, 1
jne 0x1400fd940
mov eax, dword [0x1415bb660]
mov ecx, dword [0x1415bb664]
not eax
mov edx, eax
and edx, ecx
or eax, ecx
not eax
or eax, edx
mov ecx, eax
xor ecx, 0x3b4f56e6
and eax, 0x44b0a919
add eax, eax
sub eax, ecx
imul rax, rax, 0x6e7762f5
shr rax, 0x3e
cmp eax, 0x5086e841
ja 0x1400fd8ca
movzx ecx, word [r12 + 2]
mov eax, dword [0x1415bb668]
xor eax, dword [0x1415bb66c]
add eax, 0x395fedd4
imul rax, rax, 0x745a6097
shr rax, 0x3d
or eax, 0x805b0b9c
cmp eax, 0x9b3ba761
jne 0x1400fdcf8
jmp 0x1400fdd27
mov eax, dword [0x1415bb640]
mov ecx, dword [0x1415bb644]
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
not eax
or eax, ecx
mov ecx, eax
not ecx
or ecx, 0x20110418
and eax, 0xc56c4180
and ecx, 0x20911c5a
sub ecx, eax
mov eax, ecx
not eax
and eax, 0x4af3e305
mov edx, ecx
and edx, 0xb50c1cd2
imul edx, eax
mov eax, ecx
and eax, 0x4af1c308
or ecx, 0x4af3e30d
imul ecx, eax
add ecx, edx
cmp ecx, 0x11859303
jb 0x1400fd940
mov r15, qword [r12 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x1415bb648]
mov ecx, dword [0x1415bb64c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
imul eax, eax, 0x29327ac7
or eax, 0xf6233b2
add eax, 0xf9b9ce6d
cmp eax, 0x8d6859fc
jb 0x1400fd9b0
cmp r15, 0x41
jb 0x1400fdc70
mov eax, dword [0x1415bb650]
mov ecx, dword [0x1415bb654]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0x80c3a036
mov ecx, eax
xor ecx, 0x4ccf224b
xor eax, 0x83009800
and eax, 0x8f889a03
mov edx, ecx
and edx, 0x707765fc
imul edx, eax
mov eax, ecx
and eax, 0x8f889a03
or ecx, 0x8f889a03
imul ecx, eax
add ecx, edx
cmp ecx, 0xbfdb0e36
je 0x1400fd9e7
mov rbx, qword [rsi + 0x18]
lea r14, [0x14159b6e3]
nop word cs:[rax + rax]
mov eax, dword [0x1415bb658]
or eax, dword [0x1415bb65c]
xor eax, 0xabb2e0de
imul eax, eax, 0x6cf06610
or eax, 0x4a57aabc
cmp eax, 0x9dbba7ba
je 0x1400fda50
nop word cs:[rax + rax]
mov eax, dword [0x1415bb6e8]
imul eax, dword [0x1415bb6ec]
add eax, 0xdebcd479
mov ecx, eax
not ecx
and ecx, 0x12faf686
and eax, 0xed050979
sub eax, ecx
cmp eax, 0x5a7cadb4
je 0x1400fdaf7
nop word [rax + rax]
mov r13d, dword [0x1415bb6f0]
mov eax, dword [0x1415bb6f4]
not eax
not r13d
mov ecx, r13d
or ecx, eax
not ecx
and r13d, eax
or r13d, ecx
not r13d
add r13d, 0x48c50d0c
and r13d, 0x60a00000
mov r8d, 0x40
mov rcx, rdi
mov rdx, r14
call rbx
cmp r13d, 0x91e80f34
jbe 0x1400fdb10
mov r8d, 0x40
mov rcx, rdi
mov rdx, r14
call rbx
jmp 0x1400fdab0
test al, al
jne 0x1400fe380
add r15, 0xffffffffffffffc0
xor r13d, r13d
nop
mov eax, dword [0x1415bb6f8]
xor eax, dword [0x1415bb6fc]
imul eax, eax, 0x651a4d8f
add eax, 0xc9c1f8b3
xor eax, 0xce126f5d
cmp eax, 0xb765b1a9
ja 0x1400fdb20
nop word cs:[rax + rax]
mov eax, dword [0x1415bb700]
mov ecx, dword [0x1415bb704]
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
imul eax, eax, 0x84e9f910
and eax, 0xe444e800
imul eax, eax, 0xe1aa7b39
cmp eax, 0x49538f5d
je 0x1400fdb50
cmp r15, 0x40
ja 0x1400fda80
jmp 0x1400fdcd5
mov ecx, dword [0x1415bb6c0]
add ecx, dword [0x1415bb6c4]
not ecx
or ecx, 0xacdcae2b
mov eax, ecx
not eax
and ecx, 0x37fffd03
mov edx, eax
and edx, 0x400000d4
imul edx, ecx
mov ecx, eax
and ecx, 0x13235100
or eax, 0x37fffd03
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
and ecx, 0xaf8fb171
mov edx, eax
and edx, 0x50704e8c
imul edx, ecx
mov ecx, eax
and ecx, 0xaf8fb170
or eax, 0xaf8fb171
imul eax, ecx
add eax, edx
cmp eax, 0xd1c3a3af
je 0x1400fdbb0
mov r15, qword [r12 + 8]
mov eax, dword [0x1415bb6c8]
sub eax, dword [0x1415bb6cc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7d7027c5
and ecx, 0x828fd83a
imul ecx, edx
mov edx, eax
and edx, 0x828fd83a
or eax, 0x828fd83a
imul eax, edx
add eax, ecx
xor eax, 0x11666220
and eax, 0xf16f62a0
cmp eax, 0x470975ba
jbe 0x1400fe2f7
jmp 0x1400fe369
mov eax, dword [0x1415bb6d8]
sub eax, dword [0x1415bb6dc]
add eax, 0xe20e2a11
cmp eax, 0x5252a76d
jb 0x1400fdc70
test r15, r15
je 0x1400fd87a
mov eax, dword [0x1415bb6e0]
xor edx, edx
div dword [0x1415bb6e4]
add eax, 0xeb890327
or eax, 0x19322681
mov ecx, eax
and ecx, 0x29b55938
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x29b55938
cmp eax, 0x9c429bf8
jb 0x1400fdc91
mov rbx, qword [rsi + 0x18]
lea r14, [0x14159b6e3]
nop
test r13b, r13b
jne 0x1400fdcd0
mov rcx, rdi
mov rdx, r14
mov r8, r15
call rbx
test al, al
mov r10d, 0xa0638bf5
lea r14, [rsp + 0x28]
je 0x1400fd87a
jmp 0x1400fe3db
mov eax, dword [0x1415bb670]
and eax, dword [0x1415bb674]
xor eax, 0xda9d54cb
add eax, 0x8844b4a3
and eax, 0x93f35b29
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x2c], 0
cmp eax, 0x441bb66e
jne 0x1400fdd40
mov byte [rsp + 0x2c], 0
mov dword [rsp + 0x28], 0
jmp 0x1400fdcf8
mov eax, dword [0x1415bb678]
and eax, dword [0x1415bb67c]
and eax, 0xa8bf65ad
xor eax, 0x695d69ea
imul rax, rax, 0x24f75417
shr rax, 0x3c
cmp eax, 0x3c294cdb
ja 0x1400fdd40
movzx eax, word [r12]
mov r8d, 0x10
cmp rax, 1
jg 0x1400fdf30
mov r8d, 8
cmp eax, 1
jne 0x1400fdf30
movzx eax, word [r12 + 2]
nop word cs:[rax + rax]
test r13b, r13b
jne 0x1400fdda0
nop word cs:[rax + rax]
mov edx, dword [0x1415bb680]
or edx, dword [0x1415bb684]
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x41b89dfe
and r8d, 0xbe476201
imul r8d, r9d
mov r9d, edx
and r9d, 0xbe476201
or edx, 0xbe476201
imul edx, r9d
add edx, r8d
imul edx, edx, 0xf0ce688f
add edx, 0xc2bf98f3
cmp edx, 0x6aa2fb27
ja 0x1400fddb0
movzx edx, ax
cmp edx, 0x3e8
jae 0x1400fdfa1
nop word cs:[rax + rax]
mov edx, dword [0x1415bb688]
or edx, dword [0x1415bb68c]
imul rdx, r10
shr rdx, 0x3f
or edx, 0x4f548b12
mov r8d, edx
xor r8d, 0xe095d496
and edx, 0xf400b01
add edx, edx
sub edx, r8d
cmp edx, 0xfcbec457
ja 0x1400fde20
cmp ax, 9
ja 0x1400fdfbc
mov eax, dword [0x1415bb690]
xor edx, edx
div dword [0x1415bb694]
mov eax, dword [0x1415bb698]
mov edx, dword [0x1415bb69c]
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
and edx, 0xae233426
mov r8d, eax
and r8d, 0x51dccbd9
imul r8d, edx
mov edx, eax
and edx, 0xae233426
or eax, 0xae233426
imul eax, edx
add eax, r8d
mov edx, 0xa49db4ef
imul rax, rdx
shr rax, 0x3c
xor eax, 0xc8f5826c
cmp eax, 0xea4aec9
jb 0x1400fde6f
nop word cs:[rax + rax]
mov eax, dword [0x1415bb6a0]
xor eax, dword [0x1415bb6a4]
mov edx, eax
xor edx, 0x882448
and edx, eax
and edx, 0x88244c
cmp edx, 0xc09bb104
ja 0x1400fdef0
mov r15d, 1
lea r8, [rsp + 0x29]
jmp 0x1400fe0dd
mov eax, dword [0x1415bb6b8]
xor edx, edx
div dword [0x1415bb6bc]
add eax, 0x5df3ef07
cmp eax, 0xd44ab1cc
ja 0x1400fdf30
mov r15, qword [r12 + r8]
cmp r15, 5
mov r10d, 0xa0c4088b
ja 0x1400fe3df
nop
mov eax, dword [0x1415bb708]
sub eax, dword [0x1415bb70c]
mov edx, eax
and edx, 0x258efa1a
add edx, edx
neg edx
add eax, edx
add eax, 0xa58efa1a
and eax, 0xce4be7d3
xor eax, 0xaef0f39
cmp eax, 0xe274e05e
ja 0x1400fdf60
test r15, r15
jne 0x1400fe090
xor r15d, r15d
jmp 0x1400fe25e
cmp edx, 0x2710
mov r15d, 5
sbb r15, 0
mov r10d, 0xa0c4088b
jmp 0x1400fe090
mov r10d, 0xa0c4088b
mov edx, dword [0x1415bb6a8]
sub edx, dword [0x1415bb6ac]
mov r8d, edx
and r8d, 0x68e6e640
add r8d, r8d
neg r8d
add edx, r8d
add edx, 0x68e6e640
or edx, 0x4ae905bf
cmp ax, 0x64
mov r15d, 3
sbb r15, 0
cmp edx, 0x6d549f11
je 0x1400fdfc2
nop word cs:[rax + rax]
mov eax, dword [0x1415bb6b0]
mov edx, dword [0x1415bb6b4]
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
and edx, 0xa52f9842
mov r8d, eax
and r8d, 0x5ad067bd
imul r8d, edx
mov edx, eax
and edx, 0xa52f9842
or eax, 0xa52f9842
imul eax, edx
add eax, r8d
mov edx, eax
xor edx, 0x4516d687
xor eax, 0x41065086
and eax, 0x49c67096
add eax, eax
sub edx, eax
add edx, 0xc9c67096
cmp edx, 0xd13a52fb
jb 0x1400fe010
mov eax, dword [0x1415bb710]
mov edx, dword [0x1415bb714]
mov r8d, eax
and r8d, edx
or eax, edx
add eax, r8d
imul rax, r10
shr rax, 0x3f
imul eax, eax, 0x52246190
mov edx, eax
not edx
or edx, 0x50a17bb0
or eax, 0x2f5e844b
and eax, edx
cmp eax, 0x22ff2172
jb 0x1400fe090
mov eax, r15d
lea r8, [rsp + r15]
add r8, 0x28
and eax, 1
je 0x1400fe130
movzx eax, cx
test r13b, r13b
je 0x1400fe100
imul ecx, eax, 0xcccd
shr ecx, 0x12
and ecx, 0xfffffffe
lea ecx, [rcx + rcx*4]
mov edx, eax
sub edx, ecx
or dl, 0x30
mov byte [r8 - 1], dl
nop
imul ecx, eax, 0xcccd
shr ecx, 0x13
lea edx, [rcx + rcx]
lea edx, [rdx + rdx*4]
mov r9d, eax
sub r9d, edx
or r9b, 0x30
mov byte [r8 - 1], r9b
test r13b, r13b
jne 0x1400fe100
dec r8
nop word cs:[rax + rax]
mov eax, dword [0x1415bb718]
xor edx, edx
div dword [0x1415bb71c]
add eax, 0x3c09a3a5
or eax, 0x4b5f6bd6
and eax, 0x6bff7bf6
cmp eax, 0xcab2f5e3
je 0x1400fe130
cmp r15, 1
je 0x1400fe25e
nop
mov eax, dword [0x1415bb730]
or eax, dword [0x1415bb734]
xor eax, 0x2a8eb959
imul edx, eax, 0x88b7da42
not edx
or edx, 0x9107520d
movzx eax, cx
cmp edx, 0x6fb20f05
jne 0x1400fe1c0
imul ecx, eax, 0xcccd
shr ecx, 0x13
lea edx, [rcx + rcx]
lea edx, [rdx + rdx*4]
mov r9d, eax
sub r9d, edx
or r9b, 0x30
mov byte [r8 - 1], r9b
imul edx, ecx, 0x199a
shr edx, 0xf
and edx, 0xfffffffe
lea edx, [rdx + rdx*4]
sub ecx, edx
or cl, 0x30
mov byte [r8 - 2], cl
nop
mov ecx, dword [0x1415bb738]
mov edx, dword [0x1415bb73c]
mov r9d, ecx
not r9d
and r9d, edx
mov r10d, edx
not r10d
and r10d, ecx
imul r10d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r10d
add ecx, 0x1370e420
and ecx, 0x9842773b
imul edx, eax, 0xcccd
shr edx, 0x13
lea r9d, [rdx + rdx]
lea r9d, [r9 + r9*4]
mov r10d, eax
sub r10d, r9d
or r10b, 0x30
imul r9d, edx, 0x199a
shr r9d, 0xf
and r9d, 0xfffffffe
lea r9d, [r9 + r9*4]
sub edx, r9d
or dl, 0x30
mov byte [r8 - 1], r10b
mov byte [r8 - 2], dl
cmp ecx, 0x6d97239
jb 0x1400fe1c0
add r8, 0xfffffffffffffffe
shr eax, 2
imul ecx, eax, 0x147b
shr ecx, 0x11
cmp r14, r8
jne 0x1400fe160
mov eax, dword [0x1415bb720]
xor edx, edx
div dword [0x1415bb724]
add eax, 0x37901e91
mov ecx, eax
not ecx
or ecx, 0x7e350f76
or eax, 0x81caf089
and eax, ecx
cmp eax, 0xc62ffed9
lea r14, [rsp + 0x28]
je 0x1400fe2d6
mov eax, dword [0x1415bb728]
mov ecx, dword [0x1415bb72c]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
lea eax, [rcx - 0x4dbed283]
not eax
or eax, 0xbe4fa5c5
lea ebx, [rcx + rax]
add ebx, 0xb2412d7e
and ebx, 0xa4e6867c
mov rcx, rdi
mov rdx, r14
mov r8, r15
call qword [rsi + 0x18]
cmp ebx, 0x687af96a
jbe 0x1400fe2e4
mov rcx, rdi
mov rdx, r14
mov r8, r15
call qword [rsi + 0x18]
jmp 0x1400fe28e
test al, al
mov r10d, 0xa0638bf5
je 0x1400fd87a
jmp 0x1400fe3d7
mov ebx, dword [0x1415bb6d0]
mov eax, dword [0x1415bb6d4]
mov ecx, eax
not ecx
mov edx, ebx
and edx, ecx
or ecx, ebx
not ecx
imul ecx, edx
mov edx, ebx
and edx, eax
or ebx, eax
imul ebx, edx
add ebx, ecx
mov eax, ebx
or eax, 0xe822f24e
mov ecx, ebx
not ecx
and ecx, 0x100831
mov edx, eax
and edx, 0x3fedc5c8
imul edx, ecx
and eax, 0x40123a37
or ebx, 0x6832fa7f
imul ebx, eax
add ebx, edx
or ebx, 0x858ff69f
mov r8, qword [r12 + 0x10]
mov rcx, rdi
mov rdx, r15
call qword [rsi + 0x18]
cmp ebx, 0xd9cf662e
jne 0x1400fd867
mov r8, qword [r12 + 0x10]
mov rcx, rdi
mov rdx, r15
call qword [rsi + 0x18]
jmp 0x1400fe2f7
xor eax, eax
jmp 0x1400fe390
mov al, 1
nop word cs:[rax + rax]
mov ecx, dword [0x1415bb638]
or ecx, dword [0x1415bb63c]
xor ecx, 0xee6bcf0d
mov edx, ecx
and edx, 0xc72f178a
and ecx, 0x460c1708
add ecx, ecx
sub edx, ecx
add edx, 0x7e5c9f0d
cmp edx, 0xe14add5f
ja 0x1400fe390
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 1
jmp 0x1400fe390
mov al, 1
jmp 0x1400fe390
mov al, 1
jmp 0x1400fe390
ud2