Function at 0x140058990
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
mov rax, rdx
not rax
or rax, 7
add rax, rdx
inc rax
nop
mov ecx, dword [0x140213fd8]
sub ecx, dword [0x140213fdc]
mov edx, ecx
not edx
or edx, 0xd063218c
and ecx, 0x6004040
and edx, 0xf8ef2d9c
or edx, ecx
mov ecx, edx
not ecx
xor edx, 0x936a585c
or ecx, 0x3085850
and ecx, edx
cmp ecx, 0x650e2b5b
ja 0x1400589b0
nop
mov ecx, dword [0x140213fe0]
mov edx, dword [0x140213fe4]
mov r8d, ecx
and r8d, edx
or ecx, edx
add ecx, r8d
mov edx, ecx
not edx
or edx, 0x5748cfd2
mov r9d, 0x68226e0d
sub r9d, ecx
sub r9d, edx
add ecx, edx
add ecx, 0x97dd91f2
and r9d, 0xe1896276
and ecx, 0x1e769d89
sub ecx, r9d
cmp ecx, 0xcb135f7d
ja 0x1400589f0
test rax, rax
je 0x140058d20
lea rcx, [0x1402035b0]
mov edx, dword [rcx + rax*4]
mov eax, dword [0x140214000]
xor eax, dword [0x140214004]
xor eax, 0x2714a73d
imul rax, rax, 0x78a1933d
shr rax, 0x3b
cmp eax, 0x3126c261
je 0x140058a50
nop word cs:[rax + rax]
mov eax, dword [0x140214008]
or eax, dword [0x14021400c]
add eax, 0x68aeec98
mov ecx, eax
xor ecx, 0xc607ab45
xor eax, 0x21705498
and eax, 0xa175d69c
mov r8d, ecx
and r8d, 0x5e8a2963
imul r8d, eax
mov eax, ecx
and eax, 0xa175d69c
or ecx, 0xa175d69c
imul ecx, eax
add ecx, r8d
cmp ecx, 0x10e8e7f5
jb 0x140058a80
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x140059631
nop dword [rax]
mov eax, dword [0x140214010]
mov r8d, dword [0x140214014]
mov r9d, eax
and r9d, r8d
or eax, r8d
add eax, r9d
or eax, 0x3e8a0720
imul eax, eax, 0x95e80ebd
or eax, 0x1cedde80
cmp eax, 0xcbc037b4
ja 0x140058ae0
mov eax, dword [0x140214018]
xor eax, dword [0x14021401c]
and eax, 0x5992c1e9
xor eax, 0x4d02e0cd
cmp eax, 0xfd24ac76
ja 0x140058b10
test rcx, rcx
je 0x140058d13
lea r8, [rcx*4]
xor r9d, r9d
xor eax, eax
nop word cs:[rax + rax]
mov r10d, dword [rsi + r9]
mov r11d, r10d
not r11d
and r11d, edx
mov ebx, edx
not ebx
and ebx, r10d
imul rbx, r11
mov r11d, r10d
and r11d, edx
or r10, rdx
imul r10, r11
add r10, rax
add r10, rbx
mov rax, r10
shr rax, 0x20
mov dword [rsi + r9], r10d
add r9, 4
cmp r8, r9
jne 0x140058b50
test rax, rax
je 0x140058d15
nop dword [rax + rax]
mov edx, dword [0x140214028]
xor edx, dword [0x14021402c]
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x4d64eab5
and r8d, 0xb29b154a
imul r8d, r9d
mov r9d, edx
and r9d, 0xb29b154a
or edx, 0xb29b154a
imul edx, r9d
add edx, r8d
mov r8d, edx
xor r8d, 0xc487fd93
add r8d, edx
and edx, 0x3b78026c
sub r8d, edx
imul rdx, r8, 0x7a253f27
shr rdx, 0x3e
cmp edx, 0xab4ba00d
ja 0x140058ba0
cmp rcx, 0x27
ja 0x14005966d
mov edx, dword [0x140214030]
mov r8d, dword [0x140214034]
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, r9d
or r9d, edx
not r9d
imul r9d, r10d
mov r10d, edx
and r10d, r8d
or edx, r8d
imul edx, r10d
add edx, r9d
mov r8d, edx
not r8d
and r8d, 0xc37c7792
mov r9d, edx
and r9d, 0x3c83886d
imul r9d, r8d
mov r8d, edx
and r8d, 0xc37c7792
or edx, 0xc37c7792
imul edx, r8d
add edx, r9d
cmp edx, 0x8d9588d5
jne 0x140058c90
mov dword [rsi + rcx*4], eax
nop word cs:[rax + rax]
mov edx, dword [0x14021403c]
mov r8d, edx
xor r8d, edx
not r8d
and r8d, dword [0x140214038]
xor r8d, edx
add r8d, 0x2b55eb70
mov edx, r8d
xor edx, 0x8c03012c
and edx, r8d
imul edx, edx, 0xd472e5c1
mov dword [rsi + rcx*4], eax
cmp edx, 0x46d9bc57
jb 0x140058c90
mov eax, dword [0x140214040]
xor edx, edx
div dword [str.A_r8_a]
inc rcx
nop
mov eax, dword [0x140214048]
sub eax, dword [0x14021404c]
imul eax, eax, 0xa6c21d6c
mov edx, eax
and edx, 0x1d676240
add edx, edx
neg edx
add eax, edx
add eax, 0x9d676241
and eax, 0xfe90143c
cmp eax, 0xef6dfb5c
je 0x140058ce0
jmp 0x140058d15
xor ecx, ecx
mov qword [rsi + 0xa0], rcx
nop dword [rax]
mov eax, dword [0x140213fec]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x140213fe8]
xor ecx, eax
add ecx, 0x57b7578f
mov eax, ecx
xor eax, 0x21e4888d
or ecx, 0x46114622
and ecx, eax
or ecx, 0x980a3150
cmp ecx, 0x37d3e943
je 0x140058d20
mov eax, edi
and eax, 8
nop dword [rax]
mov ecx, dword [0x140213ff0]
sub ecx, dword [0x140213ff4]
mov edx, ecx
and edx, 0x6a893c4a
xor ecx, 0xea893c4a
lea ecx, [rcx + rdx*2]
imul ecx, ecx, 0x119153f4
add ecx, 0xaa038d64
cmp ecx, 0x66c89173
jb 0x140058d60
nop word cs:[rax + rax]
mov ecx, dword [0x140213ff8]
sub ecx, dword [0x140213ffc]
add ecx, 0x1f13da8f
and ecx, 0xd90bcab5
xor ecx, 0x8028ab5
cmp ecx, 0x7e7c028e
ja 0x140058da0
test rax, rax
je 0x1400590ae
nop
mov eax, dword [0x140214058]
xor edx, edx
div dword [0x14021405c]
not eax
or eax, 0x9240bd04
and eax, 0xba6ffd8d
cmp eax, 0x59606c29
je 0x140058dd0
nop word cs:[rax + rax]
mov ecx, dword [0x140214060]
mov eax, dword [0x140214064]
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0x64e06694
mov edx, eax
and edx, 0x9b1f996b
imul edx, ecx
mov ecx, eax
and ecx, 0x64e06694
or eax, 0x64e06694
imul eax, ecx
add eax, edx
mov ecx, eax
or ecx, 0x5f49c462
xor ecx, 0xc418175
or eax, 0xf3be7e8a
and eax, ecx
cmp eax, 0xf61076fe
je 0x140058e00
nop dword [rax + rax]
mov eax, dword [0x140214068]
xor edx, edx
div dword [0x14021406c]
mov ecx, eax
not ecx
and ecx, 0x13424b7a
mov edx, eax
and edx, 0xcbdb485
imul edx, ecx
mov ecx, eax
and ecx, 0x13424b7a
or eax, 0x13424b7a
imul eax, ecx
add eax, edx
or eax, 0x65804420
and eax, 0x75fc4538
cmp eax, 0xff34cc1b
je 0x140058e60
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x1400596e2
nop word [rax + rax]
mov eax, dword [0x140214070]
mov edx, dword [0x140214074]
mov r8d, edx
not r8d
mov r9d, eax
and r9d, r8d
or r8d, eax
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r8d
add eax, 0x12e1fc9d
mov edx, eax
xor edx, 0x23540402
xor eax, 0xd8ab73dd
mov r8d, eax
and r8d, 0x44038a25
and edx, 0xbbfc75da
imul edx, r8d
mov r8d, eax
and r8d, 0xbbfc75da
or eax, 0xbbfc75da
imul eax, r8d
add eax, edx
cmp eax, 0xcecad922
ja 0x140058ec0
nop word cs:[rax + rax]
mov eax, dword [0x140214078]
mov edx, dword [0x14021407c]
mov r8d, eax
not r8d
or eax, edx
not edx
and edx, r8d
not edx
and edx, eax
add edx, 0x27cc1ad6
xor edx, 0xdd6fec7f
imul eax, edx, 0xf9edea30
cmp eax, 0x4bbd1094
jb 0x140058f40
nop word cs:[rax + rax]
mov eax, dword [0x140214080]
xor edx, edx
div dword [0x140214084]
add eax, 0x267cf312
or eax, 0xc37073bb
cmp eax, 0x66e52105
je 0x140058f80
test rcx, rcx
je 0x1400590a5
lea rdx, [rcx*4]
xor r8d, r8d
xor eax, eax
nop word cs:[rax + rax]
mov r9d, dword [rsi + r8]
mov r10d, r9d
not r10d
mov r11d, r9d
and r11d, 0xfa0a1eff
and r10d, 0x5f5e100
imul r10, r11
mov r11d, r9d
and r11d, 0x5f5e100
or r9, 0x5f5e100
imul r9, r11
add r9, rax
add r9, r10
mov rax, r9
shr rax, 0x20
mov dword [rsi + r8], r9d
add r8, 4
cmp rdx, r8
jne 0x140058fc0
test rax, rax
je 0x1400590a7
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x140059020
nop word cs:[rax + rax]
mov edx, dword [0x1402140a0]
mov r8d, dword [0x1402140a4]
mov r9d, edx
and r9d, r8d
or edx, r8d
add edx, r9d
add edx, 0x7ac3fbc7
mov r8d, edx
and r8d, 0x1cb1c583
add r8d, r8d
sub edx, r8d
add edx, 0x9cb1c583
imul r8, rdx, 0x4c37a713
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1f
cmp edx, 0x4cf91cba
ja 0x140059030
cmp rcx, 0x27
ja 0x140059712
mov dword [rsi + rcx*4], eax
movabs rax, 0x9fbe737dda89cc53
sub rcx, rax
add rcx, rax
inc rcx
jmp 0x1400590a7
xor ecx, ecx
mov qword [rsi + 0xa0], rcx
mov eax, edi
and eax, 0x10
nop word cs:[rax + rax]
mov ecx, dword [0x1402140b0]
mov edx, dword [0x1402140b4]
not ecx
not edx
mov r8d, ecx
or r8d, edx
not r8d
and edx, ecx
or edx, r8d
mov ecx, edx
not ecx
and edx, 0xc038f830
mov r8d, ecx
and r8d, 0x3fc707cf
or r8d, edx
xor r8d, 0xbc64cb23
and ecx, 0x7c5c3313
or ecx, r8d
mov edx, ecx
xor edx, 0x678cd923
or ecx, 0x987326dc
and ecx, edx
mov edx, ecx
not edx
and edx, 0xe3180cdf
mov r8d, ecx
and r8d, 0x1ce7f320
imul r8d, edx
mov edx, ecx
and edx, 0xe3180cdf
or ecx, 0xe3180cdf
imul ecx, edx
add ecx, r8d
cmp ecx, 0xba6bf9ec
je 0x1400590c0
test rax, rax
je 0x140059238
mov eax, dword [0x1402140b8]
mov ecx, dword [0x1402140bc]
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
xor eax, 0xda028e5b
add eax, 0x62b9e41a
cmp eax, 0x202729f5
jae 0x1400591a8
lea rdx, [0x140203600]
mov r8d, 2
mov rcx, rsi
call fcn.140059810
lea rbx, [0x140203600]
nop
mov eax, dword [0x1402140c0]
add eax, dword [0x1402140c4]
mov ecx, eax
xor ecx, 0x40cdb410
and eax, 0x3f324bef
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xfa7e6882
and ecx, 0x581977d
imul ecx, edx
mov edx, eax
and edx, 0x581977d
or eax, 0x581977d
imul eax, edx
add eax, ecx
imul r14, rax, 0x3d4493e7
shr r14, 0x3d
mov r8d, 2
mov rcx, rsi
mov rdx, rbx
call fcn.140059810
cmp r14d, 0xcbec9347
ja 0x1400591b0
nop dword [rax]
mov eax, dword [0x1402140c8]
and eax, dword [str._AAe]
add eax, 0xacf1ce5
cmp eax, 0x5f8afcb5
jb 0x140059220
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140059240
nop word cs:[rax + rax]
mov eax, dword [0x1402140d0]
mov ecx, dword [0x1402140d4]
not eax
mov edx, eax
and edx, ecx
or eax, ecx
not eax
or eax, edx
mov ecx, eax
and ecx, 0x636ea2dd
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xe36ea2dd
mov ecx, eax
not ecx
and ecx, 0x6105db0a
and eax, 0x9efa24f5
sub eax, ecx
imul eax, eax, 0xa88f51bd
cmp eax, 0xe17754b
jb 0x140059250
test dil, 0x20
je 0x1400593c0
mov eax, dword [0x1402140d8]
mov ecx, dword [0x1402140dc]
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
or ecx, 0x96031e00
and ecx, 0xd6ef1e5c
or eax, 0xffef7f7d
add eax, ecx
mov ecx, 0xb89b89c9
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x6778856d
jbe 0x14005930e
lea rdx, [0x140203608]
mov r8d, 4
mov rcx, rsi
call fcn.14014fbe0
lea rbx, [0x140203608]
nop word cs:[rax + rax]
mov eax, dword [0x1402140e0]
sub eax, dword [0x1402140e4]
and eax, 0x754272d4
imul r14, rax, 0x430d68e3
shr r14, 0x3c
or r14d, 0xe515cf36
mov r8d, 4
mov rcx, rsi
mov rdx, rbx
call fcn.14014fbe0
cmp r14d, 0x1df7bbf6
jb 0x140059320
nop dword [rax]
mov eax, dword [0x1402140e8]
add eax, dword [0x1402140ec]
mov ecx, eax
and ecx, 0x674e4469
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xaab2642b
add eax, 0xb7e081a3
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7af02786
and ecx, 0x850fd879
imul ecx, edx
mov edx, eax
and edx, 0x850fd879
or eax, 0x850fd879
imul eax, edx
add eax, ecx
cmp eax, 0x281c10e1
je 0x140059360
nop word cs:[rax + rax]
mov eax, dword [str._33_]
or eax, dword [0x1402140f4]
mov ecx, eax
not ecx
or ecx, 0x1b51da47
add eax, ecx
inc eax
and eax, 0xc1bf8ba4
cmp eax, 0x5beabcb2
je 0x1400593c0
test dil, 0x40
je 0x140059434
lea rdx, [0x140203618]
mov r8d, 7
mov rcx, rsi
call fcn.140059810
nop word cs:[rax + rax]
mov eax, dword [0x1402140f8]
xor edx, edx
div dword [str.kOc]
and eax, 0x4ad03de2
xor eax, 0x2d02c22
add eax, 0x11497b48
cmp eax, 0xd25e5afa
ja 0x140059410
mov rcx, rdi
xor rcx, 0xffffffffffffff7f
mov rax, rdi
or rax, 0x80
and rax, rcx
nop word [rax + rax]
mov ecx, dword [0x140214100]
mov edx, dword [0x140214104]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
or ecx, 0x247ad867
imul rdx, rcx, 0x1b518d11
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
or ecx, 0x67ef130a
cmp ecx, 0xe5718ba
jb 0x140059450
nop dword [rax]
mov ecx, dword [0x14021410c]
add ecx, dword [0x140214108]
and ecx, 0x381ad2ff
mov edx, ecx
not edx
or edx, 0x8fef5f6c
add ecx, edx
inc ecx
imul rcx, rcx, 0x24644991
shr rcx, 0x3d
cmp ecx, 0xc84a67a2
ja 0x1400594b0
test rax, rax
je 0x140059590
mov eax, dword [0x140214110]
mov ecx, dword [0x140214114]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
and eax, 0xc12331b2
xor eax, 0x800301b0
add eax, 0xafdfdd1
cmp eax, 0x657d16f3
jae 0x14005952c
lea rdx, [0x140203634]
mov r8d, 0xe
mov rcx, rsi
call fcn.140059810
lea rbx, [0x140203634]
nop word cs:[rax + rax]
mov eax, dword [0x140214118]
imul eax, dword [0x14021411c]
and eax, 0xbc4739d6
mov ecx, eax
not ecx
or eax, 0xcd82f716
or ecx, 0x327d08e9
and ecx, eax
not ecx
imul r14, rcx, 0xa7410c1
shr r14, 0x3b
mov r8d, 0xe
mov rcx, rsi
mov rdx, rbx
call fcn.14014fbe0
cmp r14d, 0x2ecfb089
je 0x140059540
nop word [rax + rax]
mov eax, 0xffffffff
add eax, 0x9651f9ae
jae 0x140059590
nop dword [rax]
mov eax, dword [0x140214120]
and eax, dword [0x140214124]
or eax, 0xe0116b7
add eax, 0x902cd364
mov ecx, eax
not ecx
and ecx, 0xdcc57d54
and eax, 0x233a802b
sub eax, ecx
cmp eax, 0x82adec87
jb 0x1400595a0
test edi, 0x100
je 0x140059624
lea rdx, [0x14020366c]
mov r8d, 0x1b
mov rcx, rsi
call fcn.140059810
mov ecx, 0xbef99899
mov eax, dword [0x140214128]
xor edx, edx
div dword [0x14021412c]
imul rax, rcx
shr rax, 0x3d
mov edx, eax
and edx, 0xfffffffe
or eax, 0x5dd212b6
add eax, edx
imul rax, rax, 0x63f3e4d9
shr rax, 0x3d
cmp eax, 0x8743b0a6
ja 0x1400595f0
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
ud2
ud2
mov eax, dword [0x140214088]
mov ecx, dword [0x14021408c]
add eax, ecx
add eax, 0x5d4cf6e1
mov ecx, 0x8b823aaf
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xe4424552
cmp ecx, 0x951e18f
jae 0x140059723
jmp 0x140059766
xor eax, eax
test al, al
je 0x1400597b4
jmp 0x1400597f2
mov eax, dword [0x140214090]
mov ecx, dword [0x140214094]
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not edx
or edx, ecx
mov eax, edx
not eax
or edx, 0x8c886151
and eax, 0x400802
and edx, 0x9d99f1f1
sub edx, eax
imul rax, rdx, 0x39b9e461
shr rax, 0x3b
ud2
ud2
mov eax, dword [0x1402140a8]
sub eax, dword [0x1402140ac]
mov ecx, eax
and ecx, 0x41558afc
xor eax, 0xc1558afc
lea eax, [rax + rcx*2]
imul rcx, rax, 0x19fd2973
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x91cee688
ud2
ud2