Function at 0x1400454e0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x141dc3190]
sub eax, dword [0x141dc3194]
imul eax, eax, 0x12223a57
cmp eax, 0x3d321c0d
je 0x1400454f0
cmp rdi, 8
jae 0x14004566b
lea rax, [0x141db2940]
nop word [rax + rax]
mov ecx, dword [0x141dc3300]
xor ecx, dword [0x141dc3304]
xor ecx, 0xbc65d1b6
add ecx, 0xd9dae9ea
cmp ecx, 0xdee21b51
ja 0x140045520
mov r8d, dword [rax + rdi*4]
mov rcx, qword [rsi + 0xa0]
nop dword [rax + rax]
mov eax, dword [0x141dc3308]
and eax, dword [0x141dc330c]
add eax, 0xbf82862c
and eax, 0x18568050
cmp eax, 0x9922612f
ja 0x140045550
cmp rcx, 0x28
ja 0x1400458ad
xor eax, eax
nop dword [rax]
test al, al
jne 0x140045580
test rcx, rcx
je 0x140045881
mov eax, dword [0x141dc3310]
xor edx, edx
div dword [0x141dc3314]
mov r9d, 0xb0b907b7
nop word cs:[rax + rax]
mov eax, dword [0x141dc3318]
xor edx, edx
div dword [0x141dc331c]
or eax, 0xbd76dfff
imul rax, r9
shr rax, 0x3f
cmp eax, 0x4749a008
ja 0x1400455b0
lea rax, [rcx*4]
xor edx, edx
xor r9d, r9d
nop
mov r10d, dword [rsi + rdx]
imul r10, r8
add r10, r9
mov r9, r10
shr r9, 0x20
mov dword [rsi + rdx], r10d
add rdx, 4
cmp rax, rdx
jne 0x1400455e0
nop
mov eax, dword [0x141dc3320]
mov edx, dword [0x141dc3324]
add eax, edx
add eax, 0xfc7370ee
imul rax, rax, 0xdb251
shr rax, 0x30
xor eax, 0x51667863
cmp eax, 0xd127a888
ja 0x140045600
test r9d, r9d
je 0x140046035
cmp rcx, 0x27
ja 0x140045f36
mov eax, dword [0x141dc3328]
xor edx, edx
div dword [0x141dc332c]
imul eax, eax, 0x54236175
add eax, 0x80b841e3
or eax, 0xd4483fa0
cmp eax, 0x61e38ded
jae 0x1400460a8
jmp 0x1400460c9
mov ecx, 0x8228ed63
mov eax, dword [0x141dc3198]
xor edx, edx
div dword [0x141dc319c]
imul rax, rcx
shr rax, 0x3e
imul eax, eax, 0x883cb326
cmp eax, 0xb50876f2
je 0x140045670
mov ecx, edi
and ecx, 7
mov eax, 0x81b67d55
nop dword [rax]
mov edx, dword [0x141dc31a0]
imul edx, dword [0x141dc31a4]
add edx, 0x2aa65d2b
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x9da370bf
ja 0x1400456a0
nop word cs:[rax + rax]
mov eax, dword [0x141dc31a8]
and eax, dword [0x141dc31ac]
imul eax, eax, 0x9e069f9f
imul rax, rax, 0x2ab88e43
shr rax, 0x3d
add eax, 0x90ca1db3
cmp eax, 0x3e2d476
jb 0x1400456d0
test rcx, rcx
je 0x14004598a
lea rax, [0x141db2940]
mov eax, dword [rax + rcx*4]
nop dword [rax]
mov edx, dword [0x141dc31b0]
xor edx, dword [0x141dc31b4]
xor edx, 0xabdc49be
imul edx, edx, 0xfe6c205d
xor edx, 0x48887523
cmp edx, 0x1014a2e6
jb 0x140045710
shr rax, cl
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x1400458c9
lea rdx, [rsi + rcx*4]
nop
mov r8d, dword [0x141dc31b8]
xor r8d, dword [0x141dc31bc]
or r8d, 0xcbb732a9
and r8d, 0xebff3ea9
cmp r8d, 0x73b90ce3
je 0x140045750
test rcx, rcx
je 0x140045888
nop
mov r8d, dword [0x141dc31c0]
imul r8d, dword [0x141dc31c4]
imul r8d, r8d, 0xec677de8
xor r8d, 0x2511b224
cmp r8d, 0x55f47c74
jb 0x140045780
xor r8d, r8d
mov r9d, 0xa8387e71
xor r11d, r11d
mov r10, rsi
nop word cs:[rax + rax]
test r8b, r8b
je 0x1400457e0
mov ebx, dword [r10]
imul ebx, eax
add ebx, r11d
mov dword [r10], ebx
nop word cs:[rax + rax]
mov r14d, dword [0x141dc31e0]
xor r14d, dword [0x141dc31e4]
add r14d, 0x7f174997
imul r14, r9
shr r14, 0x3e
mov ebx, dword [r10]
imul rbx, rax
add rbx, r11
mov dword [r10], ebx
cmp r14d, 0xe2efe1d2
je 0x1400457e0
add r10, 4
shr rbx, 0x20
mov r11, rbx
cmp r10, rdx
jne 0x1400457c0
test rbx, rbx
je 0x14004588a
nop dword [rax + rax]
mov eax, dword [str.e]
add eax, dword [0x141dc31ec]
cmp eax, 0xaaeb61f1
je 0x140045830
cmp rcx, 0x27
ja 0x140045958
mov dword [rdx], ebx
inc rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc31f0]
imul eax, dword [0x141dc31f4]
imul eax, eax, 0x2aad111f
add eax, 0x77b8b1f4
cmp eax, 0x6333ecef
jb 0x140045860
jmp 0x14004588a
xor ecx, ecx
jmp 0x140046035
xor ecx, ecx
mov eax, dword [0x141dc3200]
xor edx, edx
div dword [str._g0Ts]
add eax, 0x31bc6675
cmp eax, 0x5b153409
jbe 0x140045efe
jmp 0x140045f2d
ud2
mov eax, dword [0x141dc31c8]
add eax, dword [0x141dc31cc]
imul rax, rax, 0x47056e55
shr rax, 0x3e
xor eax, 0xf65df99d
mov ecx, 0xce129021
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xd12d876f
jne 0x140045900
ud2
mov eax, dword [0x141dc31d0]
sub eax, dword [0x141dc31d4]
and eax, 0x29256fb6
xor eax, 0x41807b07
add eax, 0x554c5fd9
ud2
mov eax, dword [0x141dc31f8]
add eax, dword [0x141dc31fc]
mov ecx, 0xa7517dcd
imul rcx, rax
shr rcx, 0x3e
not ecx
and ecx, 0x60040149
cmp ecx, 0x1bc4e70b
jne 0x140045f38
jmp 0x140045f40
test dil, 8
je 0x140045bd0
mov rcx, qword [rsi + 0xa0]
nop dword [rax + rax]
mov eax, dword [0x141dc3210]
imul eax, dword [0x141dc3214]
or eax, 0x6f8b5dbb
xor eax, 0xcbbd6045
add eax, 0x1e42d7fa
cmp eax, 0xe4c5e554
ja 0x1400459a0
cmp rcx, 0x28
ja 0x140045b25
lea r8, [rsi + rcx*4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3218]
imul eax, dword [0x141dc321c]
imul eax, eax, 0xc161fa6a
or eax, 0x222299b3
cmp eax, 0xce2fdbf0
je 0x1400459e0
test rcx, rcx
je 0x140045b21
xor edx, edx
mov rax, rsi
nop dword [rax]
mov r9d, dword [0x141dc3240]
and r9d, dword [0x141dc3244]
add r9d, 0x1f95008b
cmp r9d, 0xfa32360b
jbe 0x140045a40
imul r9d, dword [rax], 0x5f5e1
add r9d, edx
mov dword [rax], r9d
nop dword [rax + rax]
mov r9d, dword [0x141dc3248]
add r9d, dword [0x141dc324c]
xor r9d, 0xfa470050
imul r10d, r9d, 0xcfc687ce
xor r10d, 0xdb2b2a69
mov r9d, dword [rax]
imul r9, r9, 0x5f5e1
add r9, rdx
mov dword [rax], r9d
cmp r10d, 0x4b4ac3d2
jb 0x140045a40
add rax, 4
shr r9, 0x20
mov rdx, r9
cmp rax, r8
jne 0x140045a10
nop dword [rax]
mov eax, dword [0x141dc3238]
imul eax, dword [0x141dc323c]
or eax, 0x20aae845
cmp eax, 0x35a63771
je 0x140045a90
test r9d, r9d
je 0x140045b7f
nop word cs:[rax + rax]
mov eax, dword [0x141dc3250]
xor edx, edx
div dword [0x141dc3254]
and eax, 0x3a8fa647
imul eax, eax, 0x88be9fe7
add eax, 0x1397fd4d
cmp eax, 0x519eb722
jb 0x140045ac0
cmp rcx, 0x27
ja 0x140045b51
mov eax, dword [0x141dc3258]
sub eax, dword [0x141dc325c]
imul eax, eax, 0x20da6224
mov edx, 0x85e5298b
imul rdx, rax
shr rdx, 0x3f
or edx, 0x67605672
cmp edx, 0x821c0937
jbe 0x140045f95
jmp 0x140045fb6
xor ecx, ecx
jmp 0x140045b7f
mov eax, dword [0x141dc3220]
add eax, dword [0x141dc3224]
and eax, 0x9298147
imul eax, eax, 0xf3ad4489
and eax, 0x2e3ed64d
cmp eax, 0x30a8fcba
jbe 0x140045f44
jmp 0x140045f68
mov eax, dword [0x141dc3278]
mov ecx, dword [0x141dc327c]
add eax, ecx
add eax, 0x59031487
or eax, 0xbb44c032
imul eax, eax, 0x77cbd1b0
cmp eax, 0x60d3b079
jne 0x14004600e
jmp 0x140046031
mov eax, dword [0x141dc3288]
sub eax, dword [0x141dc328c]
add eax, 0x40febea0
or eax, 0x9bd634b7
add eax, 0x2d1c7826
cmp eax, 0x41a79914
jb 0x140045bc6
mov eax, dword [0x141dc3290]
or eax, dword [0x141dc3294]
and eax, 0xbe24b52e
imul eax, eax, 0xc625ef33
mov qword [rsi + 0xa0], rcx
cmp eax, 0x88e53a0b
jne 0x140045bd0
mov qword [rsi + 0xa0], rcx
jmp 0x140045ba1
mov eax, dword [0x141dc3298]
sub eax, dword [0x141dc329c]
xor eax, 0x88c5051
or eax, 0xe622878c
imul rax, rax, 0x5e54757b
shr rax, 0x3d
cmp eax, 0xe3c445d5
ja 0x140045bd0
test dil, 0x10
je 0x140045c85
xor eax, eax
test al, al
jne 0x140045c43
mov eax, dword [0x141dc32a0]
add eax, dword [0x141dc32a4]
imul ebx, eax, 0xca3e82f5
add ebx, 0xde8ee88a
and ebx, 0x8072f48d
lea rdx, [0x141db2968]
mov r8d, 2
mov rcx, rsi
call fcn.140046100
cmp ebx, 0xaca500a1
jbe 0x140045c60
lea rdx, [0x141db2968]
mov r8d, 2
mov rcx, rsi
call fcn.140046100
jmp 0x140045c08
mov eax, dword [0x141dc32a8]
xor edx, edx
div dword [0x141dc32ac]
imul eax, eax, 0xc0a1e44b
add eax, 0x98dbe013
and eax, 0x5bbd6b7f
cmp eax, 0x4a57df92
ja 0x140045c60
test dil, 0x20
je 0x140045ca0
lea rdx, [0x141db2970]
mov r8d, 3
mov rcx, rsi
call fcn.140046100
mov eax, dword [0x141dc32b0]
xor eax, dword [0x141dc32b4]
add eax, 0x390dc651
or eax, 0xdbacded2
and eax, 0xfffdffd3
cmp eax, 0xc76bea84
jb 0x140045ca0
nop word cs:[rax + rax]
mov eax, dword [0x141dc32b8]
and eax, dword [0x141dc32bc]
add eax, 0x4156235d
and eax, 0x73deb15c
add eax, 0x5d05bb58
cmp eax, 0xd8f8d74e
ja 0x140045cd0
test dil, 0x40
je 0x140045d87
mov eax, dword [0x141dc32c0]
sub eax, dword [0x141dc32c4]
add eax, 0xecbb002f
and eax, 0x1000812
cmp eax, 0x6e12cd6f
jbe 0x140045d2e
lea rdx, [0x141db297c]
mov r8d, 5
mov rcx, rsi
call fcn.140046100
lea rbx, [0x141db297c]
nop word cs:[rax + rax]
mov r14d, dword [0x141dc32c8]
or r14d, dword [0x141dc32cc]
or r14d, 0x4f4cb865
imul rax, r14, 0x12adb605
shr rax, 0x20
sub r14d, eax
shr r14d, 1
add r14d, eax
shr r14d, 0x1f
mov r8d, 5
mov rcx, rsi
mov rdx, rbx
call fcn.140046100
cmp r14d, 0x140354c
je 0x140045d40
test dil, dil
jns 0x140045e33
mov eax, dword [0x141dc32d0]
imul eax, dword [0x141dc32d4]
or eax, 0x4026202a
and eax, 0x4036767b
add eax, 0x4b880d59
cmp eax, 0xd8239089
jbe 0x140045dc8
lea rdx, [0x141db2990]
mov r8d, 0xa
mov rcx, rsi
call fcn.140046100
lea rbx, [0x141db2990]
nop
mov eax, dword [0x141dc32d8]
xor edx, edx
div dword [0x141dc32dc]
mov ebp, eax
add ebp, 0x39d823cb
xor ebp, 0x216280a1
or ebp, 0xda100f56
mov r8d, 0xa
mov rcx, rsi
mov rdx, rbx
call fcn.140046100
cmp ebp, 0x58ef4b91
jb 0x140045dd0
nop dword [rax + rax]
mov eax, dword [0x141dc32e0]
and eax, dword [0x141dc32e4]
imul eax, eax, 0xe323b1ad
or eax, 0x28b28057
and eax, 0x2fbbc6df
cmp eax, 0x8bef9e14
je 0x140045e10
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140045e40
nop word cs:[rax + rax]
mov eax, dword [0x141dc32e8]
xor eax, dword [0x141dc32ec]
imul eax, eax, 0x4d82d7df
or eax, 0xda6ac1de
cmp eax, 0x11774c2e
je 0x140045e50
test edi, 0x100
je 0x140045e94
lea rdx, [0x141db29b8]
mov r8d, 0x13
mov rcx, rsi
call fcn.140046100
xor eax, eax
nop dword [rax]
test al, al
jne 0x140045e90
mov rcx, rsi
mov rdx, rdi
call fcn.140046ac0
nop
mov eax, dword [0x141dc32f0]
xor edx, edx
div dword [0x141dc32f4]
add eax, 0x7041eef6
or eax, 0xfeb95d27
imul rax, rax, 0x18e01257
shr rax, 0x3c
cmp eax, 0x70dff1c
ja 0x140045ea0
nop word [rax + rax]
mov eax, dword [0x141dc32f8]
xor edx, edx
div dword [0x141dc32fc]
imul eax, eax, 0x241f4228
and eax, 0xb8ddfd80
cmp eax, 0xa5d68e8b
ja 0x140045ed0
mov rax, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov eax, dword [0x141dc3208]
imul eax, dword [0x141dc320c]
or eax, 0x282a0e03
imul eax, eax, 0xa87a9f52
or eax, 0x1d992c32
mov qword [rsi + 0xa0], rcx
cmp eax, 0x1bc1fd27
jae 0x14004598a
mov qword [rsi + 0xa0], rcx
jmp 0x140045efe
ud2
ud2
ud2
mov eax, dword [0x141dc3228]
and eax, dword [0x141dc322c]
add eax, 0xb43e506a
xor eax, 0x407a244
and eax, 0x1c27aa75
ud2
ud2
mov eax, dword [0x141dc3260]
or eax, dword [0x141dc3264]
imul eax, eax, 0xefc3aa28
or eax, 0x6ee358d4
mov dword [r8], r9d
cmp eax, 0xb4cbb376
jne 0x140045fbb
mov dword [r8], r9d
jmp 0x140045f95
mov eax, dword [0x141dc3268]
xor edx, edx
div dword [0x141dc326c]
inc rcx
xor eax, eax
nop
test al, al
jne 0x140045fd0
nop word cs:[rax + rax]
mov eax, dword [0x141dc3270]
or eax, dword [0x141dc3274]
imul eax, eax, 0x2dfddffa
add eax, 0xd837ac0a
imul rax, rax, 0x236672ff
shr rax, 0x3c
cmp eax, 0xf405f8b7
ja 0x140045fe0
jmp 0x140045b7f
mov eax, dword [0x141dc3280]
sub eax, dword [0x141dc3284]
or eax, 0x148c4c0a
and eax, 0xd4cc4d8a
ud2
ud2
mov eax, dword [0x141dc3340]
and eax, dword [0x141dc3344]
or eax, 0x5e7a76de
mov edx, 0x9d0d8ef3
imul rdx, rax
shr rdx, 0x3f
add edx, 0x9a468849
cmp edx, 0x859da05a
jae 0x140046070
mov qword [rsi + 0xa0], rcx
nop dword [rax + rax]
mov eax, dword [0x141dc3348]
or eax, dword [0x141dc334c]
imul eax, eax, 0x870ac256
shr eax, 4
imul rax, rax, 0xbccd823
shr rax, 0x33
xor eax, 0x9d3ea7e9
mov qword [rsi + 0xa0], rcx
cmp eax, 0xdb813be3
ja 0x140046070
jmp 0x140045ed0
mov eax, dword [0x141dc3330]
and eax, dword [0x141dc3334]
or eax, 0x7f2b5074
add eax, 0xe430d539
mov dword [rsi + rcx*4], r9d
cmp eax, 0xfcf3b39f
jbe 0x1400460cf
mov dword [rsi + rcx*4], r9d
jmp 0x1400460a8
mov eax, dword [0x141dc3338]
xor edx, edx
div dword [0x141dc333c]
inc rcx
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x1400460f0
jmp 0x140046035