Function at 0x140045460
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
nop
mov eax, dword [0x141dc61f0]
sub eax, dword [0x141dc61f4]
imul eax, eax, 0x63cbf8d2
imul rax, rax, 0x4d0a9e35
shr rax, 0x3b
cmp eax, 0xf3740a65
je 0x140045470
nop word cs:[rax + rax]
mov eax, dword [0x141dc61f8]
xor eax, dword [0x141dc61fc]
imul rax, rax, 0x1305a547
shr rax, 0x3c
or eax, 0xc93ab382
cmp eax, 0x50a2ee01
jb 0x1400454a0
cmp rdi, 8
jae 0x1400455fd
lea rax, [0x141db5740]
mov eax, dword [rax + rdi*4]
mov rcx, qword [rsi + 0xa0]
nop
mov edx, dword [0x141dc6308]
mov r8d, dword [0x141dc630c]
add edx, r8d
add edx, 0x81316f04
and edx, 0x93f21874
imul edx, edx, 0xdec51257
cmp edx, 0x316f5c0a
ja 0x1400454e0
cmp rcx, 0x28
ja 0x1400457cd
nop word cs:[rax + rax]
mov edx, dword [0x141dc6310]
and edx, dword [0x141dc6314]
imul edx, edx, 0x5e28bbbd
xor edx, 0x35739451
cmp edx, 0x52daeb58
jb 0x140045520
xor edx, edx
nop word cs:[rax + rax]
test dl, dl
jne 0x140045550
test rcx, rcx
je 0x1400457b5
lea r8, [rcx*4]
xor r9d, r9d
xor edx, edx
nop word [rax + rax]
mov r10d, dword [rsi + r9]
imul r10, rax
add r10, rdx
mov rdx, r10
shr rdx, 0x20
mov dword [rsi + r9], r10d
add r9, 4
cmp r8, r9
jne 0x140045570
test rdx, rdx
je 0x1400455ee
nop word cs:[rax + rax]
mov eax, dword [0x141dc6320]
and eax, dword [0x141dc6324]
xor eax, 0x8c031661
or eax, 0x73dc2806
cmp eax, 0x2c58c201
je 0x1400455a0
cmp rcx, 0x27
ja 0x140045d16
mov dword [rsi + rcx*4], edx
inc rcx
nop dword [rax]
mov eax, dword [0x141dc6328]
add eax, dword [0x141dc632c]
imul eax, eax, 0x61767bb5
xor eax, 0x5a711962
cmp eax, 0x3c59eb3
jb 0x1400455d0
xor eax, eax
test al, al
je 0x140045d86
jmp 0x140045db7
mov ecx, edi
and ecx, 7
nop word cs:[rax + rax]
mov eax, dword [0x141dc6200]
imul eax, dword [0x141dc6204]
imul eax, eax, 0x5aa16b7e
add eax, 0x40eaba2b
cmp eax, 0xaa62ff38
ja 0x140045610
test rcx, rcx
je 0x140045819
lea rax, [0x141db5740]
nop
mov edx, dword [0x141dc6218]
add edx, dword [0x141dc621c]
xor edx, 0x82d22006
and edx, 0x8ad7360e
add edx, 0x7f3470d3
cmp edx, 0x904c06fb
ja 0x140045640
mov eax, dword [rax + rcx*4]
nop dword [rax]
mov edx, dword [0x141dc6220]
add edx, dword [0x141dc6224]
or edx, 0x153bec13
imul edx, edx, 0x173c08de
imul rdx, rdx, 0x3d51847
shr rdx, 0x37
mov r9, rax
shr r9, cl
cmp edx, 0x7ca32abb
ja 0x140045670
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x140045d16
test rcx, rcx
je 0x1400457c6
lea r8, [rsi + rcx*4]
mov eax, dword [0x141dc6228]
xor edx, edx
div dword [0x141dc622c]
xor eax, eax
nop
mov edx, dword [0x141dc6230]
add edx, dword [0x141dc6234]
and edx, 0x12000032
cmp edx, 0x232e9591
je 0x1400456d0
xor edx, edx
mov r11, rsi
nop
test dl, dl
je 0x140045710
mov r10d, dword [r11]
imul r10d, r9d
add r10d, eax
mov dword [r11], r10d
nop word cs:[rax + rax]
mov r10d, dword [0x141dc6238]
and r10d, dword [0x141dc623c]
imul ebx, r10d, 0x3b1e5e60
mov r10d, dword [r11]
imul r10, r9
add r10, rax
mov dword [r11], r10d
cmp ebx, 0x2e77d750
je 0x140045710
add r11, 4
shr r10, 0x20
mov rax, r10
cmp r11, r8
jne 0x1400456f0
test r10, r10
je 0x140045c77
mov eax, 0xa693c303
nop dword [rax + rax]
mov edx, dword [0x141dc6240]
or edx, dword [0x141dc6244]
or edx, 0xbdbffbe6
shr edx, 1
imul rdx, rax
shr rdx, 0x3c
cmp edx, 0xdb3ec0eb
je 0x140045760
cmp rcx, 0x27
ja 0x1400457f3
mov eax, dword [0x141dc6248]
xor eax, dword [0x141dc624c]
and eax, 0xfd5a8a7
add eax, 0x1e6a11cc
or eax, 0xf63ef653
cmp eax, 0xb0e50836
jae 0x140045c83
jmp 0x140045ca5
xor ecx, ecx
xor eax, eax
test al, al
je 0x140045d86
jmp 0x140045db7
xor ecx, ecx
jmp 0x140045c77
ud2
mov eax, dword [0x141dc6260]
xor eax, dword [0x141dc6264]
and eax, 0x7f8b068
add eax, 0xd36e8c4a
cmp eax, 0x22e9a921
jae 0x140045ced
jmp 0x140045d12
mov eax, 0x9b9d8b8f
nop
mov ecx, dword [0x141dc6208]
xor ecx, dword [0x141dc620c]
shr ecx, 1
imul rcx, rax
shr rcx, 0x3e
or ecx, 0xc17f7cb6
cmp ecx, 0xab35521
je 0x140045820
nop word cs:[rax + rax]
mov eax, dword [0x141dc6210]
sub eax, dword [0x141dc6214]
or eax, 0xffffff7f
cmp eax, 0x9ae47c67
jb 0x140045850
test dil, 8
je 0x1400459f0
mov rax, qword [rsi + 0xa0]
nop dword [rax]
mov ecx, dword [0x141dc6270]
or ecx, dword [0x141dc6274]
and ecx, 0x400040
cmp ecx, 0x87a03456
ja 0x140045880
cmp rax, 0x28
ja 0x140045d16
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6278]
add ecx, dword [0x141dc627c]
or ecx, 0x129f6d68
add ecx, 0xb2036e95
or ecx, 0x9242c481
cmp ecx, 0x494da17f
je 0x1400458b0
test rax, rax
je 0x1400459e3
lea rcx, [rax*4]
xor edx, edx
xor r9d, r9d
jmp 0x140045904
shr r8, 0x20
add rdx, 4
mov r9, r8
cmp rcx, rdx
je 0x140045980
mov r8d, dword [0x141dc6288]
and r8d, dword [0x141dc628c]
xor r8d, 0x60e0252
and r8d, 0x460f02f2
imul r8d, r8d, 0x7b9c22f0
cmp r8d, 0x190ecf9c
jb 0x14004596f
mov r8d, dword [0x141dc6290]
imul r8d, dword [0x141dc6294]
shr r8d, 1
imul r8, r8, 0x54642c41
shr r8, 0x3d
imul r10d, r8d, 0xfd4e4c70
mov r8d, dword [rsi + rdx]
imul r8, r8, 0x5f5e1
add r8, r9
mov dword [rsi + rdx], r8d
cmp r10d, 0xbceafe24
jbe 0x1400458f0
imul r8d, dword [rsi + rdx], 0x5f5e1
add r8d, r9d
mov dword [rsi + rdx], r8d
jmp 0x140045930
mov ecx, dword [0x141dc6280]
imul ecx, dword [0x141dc6284]
and ecx, 0x8e3407bb
add ecx, 0x7a9d134c
cmp ecx, 0x2b6960a9
ja 0x140045980
test r8d, r8d
je 0x1400459e5
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6298]
or ecx, dword [0x141dc629c]
and ecx, 0x20c27
imul ecx, ecx, 0x6daac7ef
cmp ecx, 0x1a473c89
je 0x1400459b0
cmp rax, 0x27
ja 0x140045c50
mov dword [rsi + rax*4], r8d
inc rax
jmp 0x1400459e5
xor eax, eax
mov qword [rsi + 0xa0], rax
nop dword [rax]
mov eax, dword [0x141dc62b0]
xor eax, dword [0x141dc62b4]
or eax, 0x62d9c93a
imul eax, eax, 0xfc097bfb
cmp eax, 0xd1bedb66
je 0x1400459f0
test dil, 0x10
je 0x140045aa0
mov eax, dword [0x141dc62b8]
sub eax, dword [0x141dc62bc]
imul rax, rax, 0x2683ab8b
shr rax, 0x3c
imul eax, eax, 0x9c5f7701
xor eax, 0xf1c52737
cmp eax, 0x33f7bb66
jae 0x140045a56
lea rdx, [0x141db5768]
mov r8d, 2
mov rcx, rsi
call fcn.140045dc0
lea rbx, [0x141db5768]
nop dword [rax]
mov eax, dword [0x141dc62c0]
sub eax, dword [0x141dc62c4]
imul eax, eax, 0x6ab582c9
xor eax, 0x7bbae1e9
imul ebp, eax, 0x9a0aec41
mov r8d, 2
mov rcx, rsi
mov rdx, rbx
call fcn.140045dc0
cmp ebp, 0xbf38f6d1
jb 0x140045a60
nop word cs:[rax + rax]
mov eax, dword [str.e_vx]
and eax, dword [0x141dc62cc]
add eax, 0x16379a33
or eax, 0xc9a16d1
imul rax, rax, 0x39dd5a4d
shr rax, 0x3d
cmp eax, 0xefa75b42
ja 0x140045aa0
mov eax, 0xd3419ad3
nop dword [rax]
mov ecx, dword [0x141dc62d0]
sub ecx, dword [0x141dc62d4]
xor ecx, 0x9808100
or ecx, 0x44f607f
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x8c48085c
ja 0x140045ad0
test dil, 0x20
je 0x140045b74
mov eax, dword [0x141dc62d8]
xor eax, dword [0x141dc62dc]
cmp eax, 0x5b8a558f
jne 0x140045b26
lea rdx, [0x141db5770]
mov r8d, 3
mov rcx, rsi
call fcn.140045dc0
lea rbx, [0x141db5770]
nop dword [rax]
mov ebp, dword [0x141dc62e0]
add ebp, dword [0x141dc62e4]
or ebp, 0x7b19aa11
add ebp, 0xfbb2edbf
mov r8d, 3
mov rcx, rsi
mov rdx, rbx
call fcn.140045dc0
cmp ebp, 0x1252fee1
jb 0x140045b30
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140045b70
test dil, 0x40
je 0x140045bad
lea rdx, [0x141db577c]
mov r8d, 5
mov rcx, rsi
call fcn.140045dc0
nop
mov eax, dword [0x141dc62e8]
xor eax, dword [0x141dc62ec]
or eax, 0xdb009cce
add eax, 0x604f18b3
cmp eax, 0x7b573b49
ja 0x140045b90
xor eax, eax
nop
test al, al
jne 0x140045bb0
nop word cs:[rax + rax]
mov eax, dword [0x141dc62f0]
imul eax, dword [0x141dc62f4]
and eax, 0xaee2a2b9
imul eax, eax, 0xf2c9f19d
and eax, 0xbbaac040
cmp eax, 0x146cb420
ja 0x140045bc0
test dil, dil
jns 0x140045bfe
lea rdx, [0x141db5790]
mov r8d, 0xa
mov rcx, rsi
call fcn.140045dc0
test edi, 0x100
je 0x140045c40
lea rdx, [0x141db57b8]
mov r8d, 0x13
mov rcx, rsi
call fcn.140045dc0
nop dword [rax + rax]
mov eax, dword [0x141dc62f8]
xor edx, edx
div dword [0x141dc62fc]
imul eax, eax, 0xa642acd3
and eax, 0x96b83cba
cmp eax, 0x592f226
je 0x140045c20
mov rcx, rsi
mov rdx, rdi
call fcn.1400465f0
jmp 0x140045d18
mov eax, dword [0x141dc62a0]
imul eax, dword [0x141dc62a4]
or eax, 0x204860
and eax, 0x2a4d62
cmp eax, 0xc14eb1bf
jbe 0x140045d54
jmp 0x140045d82
mov qword [rsi + 0xa0], rcx
jmp 0x140045819
mov eax, dword [0x141dc6250]
xor edx, edx
div dword [0x141dc6254]
add eax, 0xa9faa4c2
and eax, 0xf5d78173
mov dword [r8], r10d
cmp eax, 0xb4035910
jne 0x140045caa
mov dword [r8], r10d
jmp 0x140045c83
inc rcx
mov eax, 0x90da95f3
nop word cs:[rax + rax]
mov edx, dword [0x141dc6258]
imul edx, dword [0x141dc625c]
mov r8, rdx
imul r8, rax
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1b
cmp edx, 0x71deb8c4
je 0x140045cc0
jmp 0x140045c77
mov eax, dword [str._3tz]
imul eax, dword [0x141dc626c]
or eax, 0xf6a1e9b7
xor eax, 0xc310af47
add eax, 0xb5b6e864
ud2
ud2
ud2
mov eax, 0x8de52f27
nop dword [rax]
mov ecx, dword [0x141dc6300]
or ecx, dword [0x141dc6304]
imul rcx, rax
shr rcx, 0x3c
add ecx, 0xf0b5e8b5
and ecx, 0xf09540b0
cmp ecx, 0xe99325b4
je 0x140045d20
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov eax, dword [0x141dc62a8]
xor eax, dword [0x141dc62ac]
add eax, 0x6f5a818b
mov ecx, 0xc354c5c9
imul rcx, rax
shr rcx, 0x3f
xor ecx, 0x572face7
ud2
ud2
mov eax, dword [0x141dc6330]
xor edx, edx
div dword [0x141dc6334]
mov edx, 0xcb4fb835
imul rdx, rax
shr rdx, 0x3e
and edx, 0xfffffffe
mov qword [rsi + 0xa0], rcx
cmp edx, 0x451c3d5d
jne 0x140045d18
mov qword [rsi + 0xa0], rcx
jmp 0x140045d86