Function at 0x140047ed0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
nop dword [rax]
mov eax, dword [0x141dc7178]
sub eax, dword [0x141dc717c]
xor eax, 0xa180b25a
add eax, 0x3cd78b40
xor eax, 0xe7545eac
cmp eax, 0x8bc44acf
ja 0x140047ee0
cmp rdi, 8
jae 0x1400480c0
lea rax, [0x141db6b40]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc72c8]
and ecx, dword [0x141dc72cc]
xor ecx, 0x8060011
or ecx, 0x77e9918e
cmp ecx, 0x40c03a53
je 0x140047f20
mov r8d, dword [rax + rdi*4]
mov rcx, qword [rsi + 0xa0]
nop dword [rax + rax]
mov eax, dword [0x141dc72d0]
and eax, dword [0x141dc72d4]
xor eax, 0x14004000
or eax, 0x42ee97bd
and eax, 0x5eefd7bd
cmp eax, 0xc8ea4d95
ja 0x140047f50
cmp rcx, 0x28
ja 0x140048793
nop dword [rax]
mov eax, dword [0x141dc72d8]
sub eax, dword [0x141dc72dc]
xor eax, 0xe090cea0
shr eax, 1
imul rax, rax, 0x259ccc53
shr rax, 0x3b
cmp eax, 0xc6ad7813
je 0x140047f80
nop word cs:[rax + rax]
mov eax, dword [0x141dc72e0]
or eax, dword [0x141dc72e4]
and eax, 0x6c409f3f
imul eax, eax, 0xbbc6440d
cmp eax, 0xb0381636
ja 0x140047fb0
nop
mov eax, dword [str.d34_]
sub eax, dword [0x141dc72ec]
imul eax, eax, 0x50c906b5
cmp eax, 0x63235f7d
je 0x140047fd0
test rcx, rcx
je 0x1400482e8
mov eax, dword [0x141dc72f0]
xor edx, edx
div dword [0x141dc72f4]
mov eax, dword [0x141dc72f8]
or eax, dword [0x141dc72fc]
xor eax, 0x8009000
or eax, 0xf5df6edd
cmp eax, 0xc47aeebd
jb 0x140048000
lea rax, [rcx*4]
xor edx, edx
xor r9d, r9d
nop word [rax + rax]
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 0x140048030
mov eax, dword [0x141dc7308]
xor r8d, r8d
xor edx, edx
div dword [0x141dc730c]
test r8b, r8b
jne 0x140048060
test r9d, r9d
je 0x140048a50
nop
mov eax, dword [0x141dc7310]
and eax, dword [0x141dc7314]
and eax, 0x8628e0c2
add eax, 0x57e9eb40
xor eax, 0x10a8eef
cmp eax, 0x9d739858
ja 0x140048070
cmp rcx, 0x27
ja 0x1400487ce
mov eax, dword [0x141dc7318]
sub eax, dword [0x141dc731c]
cmp eax, 0x94784462
jne 0x140048a19
jmp 0x140048a47
mov eax, dword [0x141dc7180]
sub eax, dword [0x141dc7184]
and eax, 0x26412ca
add eax, 0x608eddd6
cmp eax, 0xce80cf04
ja 0x1400480c0
mov ecx, edi
and ecx, 7
nop word cs:[rax + rax]
mov eax, dword [0x141dc7188]
and eax, dword [0x141dc718c]
add eax, 0xec3c1019
imul rax, rax, 0x752fd0bf
shr rax, 0x3e
cmp eax, 0x68ab8a8f
je 0x1400480f0
test rcx, rcx
je 0x140048300
lea rax, [0x141db6b40]
nop word cs:[rax + rax]
mov edx, dword [0x141dc7198]
or edx, dword [0x141dc719c]
add edx, 0xdf384991
cmp edx, 0x9f613f0e
ja 0x140048130
mov r8d, dword [rax + rcx*4]
shr r8, cl
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x1400487e9
nop word cs:[rax + rax]
mov eax, dword [0x141dc71a0]
xor edx, edx
div dword [0x141dc71a4]
imul eax, eax, 0x25af8643
add eax, 0x8d06652d
cmp eax, 0x33694978
jb 0x140048170
test rcx, rcx
je 0x1400482f6
lea rax, [rcx*4]
xor edx, edx
xor r10d, r10d
jmp 0x1400481c0
shr r9, 0x20
add rdx, 4
mov r10, r9
cmp rax, rdx
je 0x140048228
mov r9d, dword [0x141dc71b0]
or r9d, dword [0x141dc71b4]
cmp r9d, 0xd90b9352
je 0x140048217
nop word [rax + rax]
mov r9d, dword [0x141dc71b8]
mov r11d, dword [0x141dc71bc]
add r11d, r9d
add r11d, 0x92f61277
or r11d, 0xc19358c8
mov r9d, dword [rsi + rdx]
imul r9, r8
add r9, r10
mov dword [rsi + rdx], r9d
cmp r11d, 0x5ab2b1b2
jae 0x1400481b0
mov r9d, dword [rsi + rdx]
imul r9d, r8d
add r9d, r10d
mov dword [rsi + rdx], r9d
jmp 0x1400481e0
test r9, r9
je 0x1400482f8
mov eax, 0x826aa863
nop word cs:[rax + rax]
mov edx, dword [0x141dc71c0]
and edx, dword [0x141dc71c4]
xor edx, 0x19a30e5e
add edx, 0xf8b10c2e
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0x1cdd51e3
ja 0x140048240
cmp rcx, 0x27
ja 0x1400489e9
mov dword [rsi + rcx*4], r9d
inc rcx
nop dword [rax]
mov eax, dword [0x141dc71c8]
or eax, dword [0x141dc71cc]
xor eax, 0x21d3e3e
imul rax, rax, 0x57915caf
shr rax, 0x3d
or eax, 0x93c2a7fc
cmp eax, 0x480f6f0d
jb 0x140048280
mov eax, 0x8d9e4155
nop dword [rax]
mov edx, dword [0x141dc71d0]
or edx, dword [0x141dc71d4]
and edx, 0x80002105
or edx, 0x74f71c3a
mov r8, rdx
imul r8, rax
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1d
cmp edx, 0x49d44992
ja 0x1400482b0
jmp 0x1400482f8
xor ecx, ecx
mov qword [rsi + 0xa0], rcx
jmp 0x1400489c0
xor ecx, ecx
mov qword [rsi + 0xa0], rcx
nop
mov eax, dword [0x141dc7190]
add eax, dword [0x141dc7194]
xor eax, 0xa0005e0
and eax, 0xee434dfc
add eax, 0xa9565fe9
cmp eax, 0xab395d2f
jb 0x140048300
test dil, 8
je 0x140048600
nop dword [rax]
mov eax, dword [0x141dc71d8]
and eax, dword [0x141dc71dc]
imul eax, eax, 0x7a0d9e1
imul rax, rax, 0x3421647b
shr rax, 0x3d
cmp eax, 0x5fb4e504
ja 0x140048330
mov eax, dword [0x141dc71e0]
xor edx, edx
div dword [0x141dc71e4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc71e8]
add eax, dword [0x141dc71ec]
or eax, 0x8cde5310
imul eax, eax, 0x57006704
xor eax, 0xd8ae756
cmp eax, 0xb1b7e7ec
ja 0x140048370
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x140048825
lea r8, [rsi + rcx*4]
nop dword [rax + rax]
mov eax, dword [0x141dc71f0]
imul eax, dword [0x141dc71f4]
add eax, 0x8ec8834a
or eax, 0xc8ec7f03
add eax, 0xcf360201
cmp eax, 0xd1a71cba
ja 0x1400483b0
mov eax, dword [0x141dc71f8]
xor edx, edx
div dword [0x141dc71fc]
nop word cs:[rax + rax]
mov eax, dword [0x141dc7200]
sub eax, dword [0x141dc7204]
imul eax, eax, 0x19666376
xor eax, 0x687061d0
imul rax, rax, 0x1db44193
shr rax, 0x3c
cmp eax, 0x2b4f3533
ja 0x1400483f0
mov eax, 0x818b4b1d
nop
mov edx, dword [0x141dc7208]
sub edx, dword [0x141dc720c]
imul edx, edx, 0xd792941f
add edx, 0x329eb039
imul rdx, rax
shr rdx, 0x3c
cmp edx, 0x708cb5c0
ja 0x140048420
test rcx, rcx
je 0x140048597
xor eax, eax
xor r10d, r10d
mov rdx, rsi
nop dword [rax]
mov r9d, dword [0x141dc7218]
or r9d, dword [0x141dc721c]
or r9d, 0xebeff64b
and r9d, 0xefeff6cb
cmp r9d, 0x5af11aba
jne 0x1400484a0
imul r9d, dword [rdx], 0x5f5e1
add r9d, r10d
mov dword [rdx], r9d
nop word cs:[rax + rax]
mov r9d, dword [rdx]
imul r9, r9, 0x5f5e1
add r9, r10
mov dword [rdx], r9d
test al, al
jne 0x1400484a0
add rdx, 4
shr r9, 0x20
mov r10, r9
cmp rdx, r8
jne 0x140048460
test r9, r9
je 0x140048599
nop dword [rax]
mov eax, dword [0x141dc7220]
sub eax, dword [0x141dc7224]
imul eax, eax, 0xc15cf54f
cmp eax, 0x80f27b1f
je 0x1400484d0
cmp rcx, 0x27
ja 0x1400489e9
mov eax, dword [0x141dc7228]
imul eax, dword [0x141dc722c]
imul rax, rax, 0x40819065
shr rax, 0x3e
or eax, 0x97cccbd4
cmp eax, 0x49fc6ae8
jne 0x140048520
mov dword [r8], r9d
nop word [rax + rax]
mov eax, dword [0x141dc7230]
xor edx, edx
div dword [0x141dc7234]
and eax, 0x4a09400d
xor eax, 0x48019045
or eax, 0xb5b42792
mov dword [r8], r9d
cmp eax, 0x1dcf00f1
jb 0x140048520
inc rcx
nop word [rax + rax]
mov eax, dword [0x141dc7238]
xor eax, dword [0x141dc723c]
add eax, 0xe36b5762
cmp eax, 0x5ca72416
jb 0x140048550
nop dword [rax + rax]
mov eax, dword [0x141dc7240]
mov edx, dword [0x141dc7244]
add eax, edx
add eax, 0xf8743ba8
and eax, 0xa94e3724
imul eax, eax, 0x1a51f7b7
cmp eax, 0x157bdc8
jb 0x140048570
jmp 0x140048599
xor ecx, ecx
mov eax, dword [0x141dc7248]
and eax, dword [0x141dc724c]
and eax, 0xaa59132b
imul eax, eax, 0xbc40a415
and eax, 0x8feb104d
cmp eax, 0x78cb23fe
jbe 0x1400485d0
mov qword [rsi + 0xa0], rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc7250]
mov edx, dword [0x141dc7254]
add eax, edx
add eax, 0xf08f8e4f
xor eax, 0x20840011
and eax, 0xb9ce8419
mov qword [rsi + 0xa0], rcx
cmp eax, 0xca7a4977
ja 0x1400485d0
nop dword [rax + rax]
mov eax, dword [0x141dc7258]
add eax, dword [0x141dc725c]
or eax, 0xcc48224a
and eax, 0xfcc8227a
imul rax, rax, 0x4ee17dcb
shr rax, 0x3e
cmp eax, 0xccc09e34
ja 0x140048600
nop dword [rax + rax]
mov eax, dword [0x141dc7260]
and eax, dword [0x141dc7264]
imul eax, eax, 0x3b05be08
or eax, 0x75211bfa
and eax, 0x776dbbfa
cmp eax, 0xd73a4073
ja 0x140048630
test dil, 0x10
je 0x140048680
lea rdx, [0x141db6b68]
mov r8d, 2
mov rcx, rsi
call fcn.140048a60
xor eax, eax
test al, al
jne 0x140048670
nop word cs:[rax + rax]
mov eax, dword [0x141dc7268]
add eax, dword [0x141dc726c]
and eax, 0xf06531c6
add eax, 0xc0ad9d7a
imul rax, rax, 0x1daf2bd3
shr rax, 0x39
cmp eax, 0x844fce8
ja 0x140048680
test dil, 0x20
je 0x140048700
lea rdx, [0x141db6b70]
mov r8d, 3
mov rcx, rsi
call fcn.140048a60
nop word cs:[rax + rax]
mov eax, dword [0x141dc7270]
xor eax, dword [0x141dc7274]
imul eax, eax, 0xee0ecbb
xor eax, 0x3777f667
imul eax, eax, 0x8de02fca
cmp eax, 0xabf54ada
je 0x1400486d0
nop word cs:[rax + rax]
mov eax, dword [0x141dc7278]
sub eax, dword [0x141dc727c]
or eax, 0x1f3d9a6
imul eax, eax, 0x1d6d1154
and eax, 0x3ef4c20
cmp eax, 0xe8fc16dd
ja 0x140048700
nop word cs:[rax + rax]
mov eax, dword [0x141dc7280]
or eax, dword [0x141dc7284]
imul eax, eax, 0x1dbf2d2d
add eax, 0xe923db24
cmp eax, 0x34b8d61f
jb 0x140048730
test dil, 0x40
je 0x140048880
mov eax, dword [0x141dc7288]
sub eax, dword [0x141dc728c]
imul rax, rax, 0x5e91a1ed
shr rax, 0x3c
imul eax, eax, 0x78e672b7
mov ecx, 0xac26f17d
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x2f272ba6
jbe 0x140048834
jmp 0x140048869
ud2
ud2
xor eax, eax
test al, al
je 0x140048800
ud2
mov eax, dword [0x141dc71a8]
xor eax, dword [0x141dc71ac]
imul eax, eax, 0x4b5e153c
add eax, 0x2f128ea0
ud2
xor eax, eax
test al, al
je 0x1400489eb
jmp 0x140048a15
mov ebx, dword [0x141dc7290]
xor ebx, dword [0x141dc7294]
or ebx, 0xf1ff3ed2
xor ebx, 0x28a7e553
lea rdx, [0x141db6b7c]
mov r8d, 5
mov rcx, rsi
call fcn.140048a60
cmp ebx, 0xf8e0e017
jbe 0x140048880
lea rdx, [0x141db6b7c]
mov r8d, 5
mov rcx, rsi
call fcn.140048a60
jmp 0x140048834
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140048890
test dil, dil
jns 0x1400488b0
lea rdx, [0x141db6b90]
mov r8d, 0xa
mov rcx, rsi
call fcn.140048a60
nop
mov eax, dword [0x141dc7298]
xor eax, dword [0x141dc729c]
add eax, 0x8180c966
and eax, 0xd068a098
cmp eax, 0x1a473bbd
jb 0x1400488b0
test edi, 0x100
je 0x140048983
mov eax, dword [0x141dc72a0]
sub eax, dword [0x141dc72a4]
imul eax, eax, 0xb413d6b0
add eax, 0x58473670
and eax, 0x890c2f00
cmp eax, 0xead77f67
ja 0x140048940
mov eax, dword [0x141dc72a8]
add eax, dword [0x141dc72ac]
imul rax, rax, 0x2f8c1d3b
shr rax, 0x3b
or eax, 0xb9bfcd0a
imul rbx, rax, 0x200056c1
shr rbx, 0x38
lea rdx, [0x141db6bb8]
mov r8d, 0x13
mov rcx, rsi
call fcn.140048a60
cmp ebx, 0x4ad01b66
jbe 0x140048960
lea rdx, [0x141db6bb8]
mov r8d, 0x13
mov rcx, rsi
call fcn.140048a60
jmp 0x1400488fc
mov eax, dword [0x141dc72b0]
add eax, dword [0x141dc72b4]
imul eax, eax, 0x75bb3598
add eax, 0xdc172f40
and eax, 0xcb9d3a80
cmp eax, 0x7ff8893a
jb 0x140048960
mov eax, dword [str.UGi]
and eax, dword [0x141dc72bc]
add eax, 0x51fda31b
and eax, 0xc9fd5451
cmp eax, 0x5941fdc0
jne 0x1400489ab
mov rcx, rsi
mov rdx, rdi
call fcn.140049220
xor ebx, ebx
nop dword [rax]
mov rcx, rsi
mov rdx, rdi
call fcn.140049220
test bl, bl
jne 0x1400489b0
nop
mov eax, dword [0x141dc72c0]
sub eax, dword [0x141dc72c4]
or eax, 0x95fb0f88
imul eax, eax, 0xc635f35c
cmp eax, 0xa370b4ec
je 0x1400489c0
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
ud2
mov eax, dword [0x141dc7210]
xor edx, edx
div dword [0x141dc7214]
mov ecx, 0xbb69acef
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0x86605470
ud2
ud2
mov eax, dword [0x141dc7320]
xor edx, edx
div dword [0x141dc7324]
imul rax, rax, 0x5b8a53e1
shr rax, 0x3b
add eax, 0x7e967a9
or eax, 0xb1358635
mov dword [rsi + rcx*4], r9d
cmp eax, 0xd3484363
jbe 0x140048a4d
mov dword [rsi + rcx*4], r9d
jmp 0x140048a19
inc rcx
mov qword [rsi + 0xa0], rcx
jmp 0x1400489c0