Function at 0x140057380
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
mov r9, rdx
mov eax, dword [0x141f351b8]
xor edx, edx
div dword [0x141f351bc]
mov eax, 0xc90a97a3
nop word cs:[rax + rax]
mov edx, dword [0x141f351c0]
add edx, dword [0x141f351c4]
xor edx, 0xf4906766
add edx, 0x1eeda69e
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xcee3777c
ja 0x1400573b0
xor r11d, r11d
mov rax, r8
sub rax, 0xf
cmovae r11, rax
test r8, r8
je 0x140057cc0
lea rsi, [r9 + 7]
and rsi, 0xfffffffffffffff8
sub rsi, r9
xor edi, edi
lea rbp, [0x141f25aa0]
movabs r14, 0x8080808080808080
mov r15d, 0x9b8738eb
mov r12d, 0xe0a98271
xor r10d, r10d
jmp 0x14005742f
inc rbx
mov r10, rbx
cmp r10, r8
jae 0x140057cc0
movzx r13d, byte [r9 + r10]
test r13b, r13b
js 0x140057610
mov eax, esi
sub eax, r10d
test al, 7
je 0x1400574b0
mov eax, dword [0x141f351c8]
xor edx, edx
div dword [str.G_]
mov eax, dword [0x141f351d0]
imul eax, dword [0x141f351d4]
imul eax, eax, 0xdf437198
xor eax, 0xc2501044
or eax, 0x1da3a1bb
cmp eax, 0xbf386c89
jb 0x140057454
inc r10
nop dword [rax + rax]
mov eax, dword [0x141f351d8]
imul eax, dword [0x141f351dc]
imul rax, r12
shr rax, 0x3f
or eax, 0xe9160944
imul eax, eax, 0xd93489e5
cmp eax, 0xb5218c25
jb 0x140057480
jmp 0x140057426
mov eax, dword [0x141f351e0]
imul eax, dword [0x141f351e4]
imul eax, eax, 0x69c4e030
or eax, 0x10105800
and eax, 0x35535800
cmp eax, 0x7ed23b31
je 0x1400574b0
nop word cs:[rax + rax]
mov eax, dword [0x141f351e8]
imul eax, dword [0x141f351ec]
xor eax, 0x78f67870
shr eax, 4
imul rax, rax, 0xce237eb
shr rax, 0x36
imul eax, eax, 0x934c182f
cmp eax, 0xbb2d6e9c
ja 0x1400574e0
jmp 0x140057572
add r10, 0x10
mov eax, dword [0x141f351f8]
xor edx, edx
div dword [0x141f351fc]
mov eax, dword [0x141f35200]
sub eax, dword [0x141f35204]
xor eax, 0x3d227f56
imul rax, r15
shr rax, 0x3e
imul eax, eax, 0x660e8ff2
cmp eax, 0x959ce100
je 0x140057522
nop dword [rax + rax]
mov eax, dword [0x141f35208]
sub eax, dword [0x141f3520c]
and eax, 0x1870e0aa
add eax, 0xc820dc64
or eax, 0x9c827fd0
cmp eax, 0x40737dac
jb 0x140057550
cmp r10, r11
jae 0x1400575a2
mov eax, dword [0x141f351f0]
xor eax, dword [0x141f351f4]
imul eax, eax, 0x94758438
cmp eax, 0x5143d2e2
je 0x140057577
mov rax, qword [r9 + r10 + 8]
or rax, qword [r9 + r10]
test rax, r14
je 0x140057510
cmp r10, r8
jae 0x140057426
nop dword [rax + rax]
cmp byte [r9 + r10], 0
js 0x140057426
nop dword [rax + rax]
mov eax, dword [0x141f35210]
or eax, dword [0x141f35214]
or eax, 0xa4004719
and eax, 0xb7215719
cmp eax, 0x3728610c
je 0x1400575c0
inc r10
mov eax, dword [0x141f35218]
xor eax, dword [0x141f3521c]
xor eax, 0xebc2959e
add eax, 0x8f3f7785
cmp eax, 0xb0952149
jb 0x1400575e0
cmp r10, r8
jne 0x1400575b0
jmp 0x140057cc0
movzx eax, byte [r13 + rbp]
nop word cs:[rax + rax]
mov edx, dword [0x141f35220]
add edx, dword [0x141f35224]
imul edx, edx, 0x828a7448
add edx, 0xb0f66cd0
cmp edx, 0xfb793428
ja 0x140057620
cmp eax, 4
je 0x1400577ec
cmp eax, 3
je 0x140057710
mov dl, 1
mov dword [rsp + 4], edx
cmp eax, 2
jne 0x140057cf4
lea rbx, [r10 + 1]
nop word cs:[rax + rax]
mov eax, dword [0x141f35228]
sub eax, dword [0x141f3522c]
xor eax, 0x11a00010
and eax, 0x13a3a1d2
add eax, 0xd04d0081
cmp eax, 0xa899ff36
jb 0x140057670
cmp rbx, r8
jae 0x140057cea
mov eax, dword [0x141f35250]
xor edx, edx
div dword [0x141f35254]
mov eax, dword [0x141f35258]
add eax, dword [0x141f3525c]
imul eax, eax, 0x854c448a
add eax, 0x61dc7080
and eax, 0x6ee5670a
cmp eax, 0x758a6b2e
ja 0x1400576a9
movzx edx, byte [r9 + rbx]
nop word cs:[rax + rax]
mov eax, dword [0x141f35260]
sub eax, dword [0x141f35264]
add eax, 0x4a687634
and eax, 0x3dfc29f6
cmp eax, 0xb2c56b3
ja 0x1400576e0
mov al, 1
cmp dl, 0xbf
jle 0x140057420
jmp 0x140057cfa
mov eax, dword [0x141f35230]
xor edx, edx
div dword [0x141f35234]
imul eax, eax, 0x7fbb68fd
or eax, 0xb8f310a
imul rax, rax, 0x12caedef
shr rax, 0x3c
cmp eax, 0x56ee0fb3
je 0x140057710
lea rax, [r10 + 1]
nop
mov edx, dword [0x141f35238]
xor edx, dword [0x141f3523c]
and edx, 0x2d0c3509
or edx, 0xd251ca84
imul edx, edx, 0xfc593e97
cmp edx, 0x853372d8
jb 0x140057740
cmp rax, r8
jae 0x140057cea
mov dl, 1
mov dword [rsp + 4], edx
mov edx, dword [0x141f35268]
and edx, dword [0x141f3526c]
imul edx, edx, 0x113bf42a
and edx, 0x68341878
imul rdx, rdx, 0x3a77f1a1
shr rdx, 0x3b
cmp edx, 0x68d22a29
ja 0x140057775
movzx ebx, byte [r9 + rax]
cmp r13, 0xe0
je 0x140057980
cmp r13d, 0xed
jne 0x1400579d7
nop
mov eax, dword [str.v7_bu]
and eax, dword [0x141f35294]
and eax, 0xfe5cd4a3
imul eax, eax, 0xdcd124e
cmp eax, 0x1abfc10b
jb 0x1400577c0
cmp bl, 0x9f
jle 0x140057c87
jmp 0x140057cf4
lea rax, [r10 + 1]
mov dl, 1
mov dword [rsp + 4], edx
nop word cs:[rax + rax]
mov edx, dword [0x141f35240]
or edx, dword [0x141f35244]
and edx, 0x554fd84a
add edx, 0xb43bc21f
cmp edx, 0x29a53a8c
ja 0x140057800
mov edx, dword [0x141f35248]
and edx, dword [0x141f3524c]
imul rbx, rdx, 0x356ee8e3
shr rbx, 0x20
sub edx, ebx
shr edx, 1
add edx, ebx
shr edx, 0x1f
or edx, 0x4e43b160
imul rdx, rdx, 0x250f0407
shr rdx, 0x3b
cmp edx, 0x4f7e4fb
ja 0x140057820
cmp rax, r8
jae 0x140057cea
nop word cs:[rax + rax]
mov edx, dword [0x141f352b0]
or edx, dword [0x141f352b4]
imul rdx, rdx, 0x72482ca7
shr rdx, 0x3e
imul edx, edx, 0xde17d41c
add edx, 0xde18f97c
cmp edx, 0xd5d51f17
ja 0x140057870
nop dword [rax + rax]
mov edx, dword [0x141f352b8]
xor edx, dword [0x141f352bc]
add edx, 0xd2f5dd81
and edx, 0xe0148257
cmp edx, 0x1d6256d9
je 0x1400578a0
movzx ebx, byte [r9 + rax]
nop word cs:[rax + rax]
mov eax, dword [0x141f352c0]
xor eax, dword [0x141f352c4]
and eax, 0x5ef75d00
add eax, 0x81875d83
and eax, 0x669cc703
cmp eax, 0xf21eff11
ja 0x1400578d0
cmp r13, 0xf0
je 0x140057a66
cmp r13d, 0xf4
jne 0x140057ac3
mov eax, dword [0x141f352e8]
xor edx, edx
div dword [0x141f352ec]
nop word [rax + rax]
mov eax, dword [0x141f352f0]
imul eax, dword [0x141f352f4]
and eax, 0x78f6adc9
imul eax, eax, 0x9238f783
add eax, 0xc0f14d7
cmp eax, 0x1bda3867
jb 0x140057920
nop word cs:[rax + rax]
mov eax, dword [0x141f352f8]
add eax, dword [0x141f352fc]
or eax, 0xe1301018
add eax, 0xabfeb824
xor eax, 0x3b8ef147
cmp eax, 0x85cc143
jb 0x140057950
cmp bl, 0x8f
jle 0x140057b2a
jmp 0x140057cf4
mov eax, dword [0x141f35280]
sub eax, dword [0x141f35284]
add eax, 0xc0630065
or eax, 0x3c4bc255
add eax, 0xafe7216c
cmp eax, 0x62711606
jb 0x140057980
and bl, 0xe0
nop word cs:[rax + rax]
mov eax, dword [0x141f35288]
sub eax, dword [0x141f3528c]
imul eax, eax, 0xf65f6bf0
cmp eax, 0x5bad3c0
je 0x1400579b0
cmp bl, 0xa0
je 0x140057c87
jmp 0x140057cf4
lea ebp, [r13 + 0x1f]
mov eax, dword [0x141f35270]
xor edx, edx
div dword [0x141f35274]
xor eax, 0x2000100
and eax, 0x600410a
cmp eax, 0x2e958e45
je 0x1400579db
nop word [rax + rax]
mov eax, dword [0x141f35278]
and eax, dword [0x141f3527c]
add eax, 0x639ddd50
xor eax, 0xd7022d13
add eax, 0x3c46e6ec
cmp eax, 0x19846ebd
jb 0x140057a00
cmp bpl, 0xc
jae 0x140057c45
lea rbp, [0x141f25aa0]
nop word cs:[rax + rax]
mov eax, dword [0x141f352a0]
and eax, dword [0x141f352a4]
or eax, 0x8b1f1cfb
cmp eax, 0x1f0e0434
je 0x140057a40
cmp bl, 0xc0
jl 0x140057c87
jmp 0x140057cf4
mov eax, dword [0x141f352d0]
xor edx, edx
div dword [0x141f352d4]
nop word cs:[rax + rax]
mov eax, dword [0x141f352d8]
add eax, dword [0x141f352dc]
cmp eax, 0xfa4e74ae
je 0x140057a80
add bl, 0x70
mov eax, dword [str.WiBCb]
or eax, dword [0x141f352e4]
and eax, 0xd4710b4c
imul eax, eax, 0x965d68ca
or eax, 0x61dd5278
cmp eax, 0xd078f6fa
je 0x140057a96
cmp bl, 0x30
jb 0x140057b2a
jmp 0x140057cf4
add r13b, 0xf
mov r14, rbp
nop word [rax + rax]
mov eax, dword [0x141f352c8]
sub eax, dword [0x141f352cc]
add eax, 0xfff07ea0
and eax, 0xf0c29444
imul ebp, eax, 0xcf9009a9
cmp r13b, 3
setb al
cmp bl, 0xc0
setl dl
cmp ebp, 0xa1b844ff
ja 0x140057ad0
and al, dl
nop word cs:[rax + rax]
test dil, dil
jne 0x140057b10
test al, al
mov rbp, r14
movabs r14, 0x8080808080808080
je 0x140057cf4
mov eax, dword [0x141f35300]
xor edx, edx
div dword [0x141f35304]
mov eax, dword [0x141f35308]
sub eax, dword [0x141f3530c]
or eax, 0x1149548b
add eax, 0xf133bc10
and eax, 0x3b059e99
cmp eax, 0x9efe4cca
je 0x140057b38
lea rbx, [r10 + 2]
mov eax, dword [0x141f35310]
xor edx, edx
div dword [0x141f35314]
nop dword [rax]
mov eax, dword [0x141f35318]
xor eax, dword [0x141f3531c]
or eax, 0xf645f097
add eax, 0xf9e5d707
xor eax, 0xcdcd046a
cmp eax, 0xfedc1a15
ja 0x140057b70
cmp rbx, r8
jae 0x140057cea
nop dword [rax + rax]
mov eax, dword [0x141f35320]
xor edx, edx
div dword [0x141f35324]
xor eax, 0xa415b68f
imul eax, eax, 0x74c25231
add eax, 0x11d32d58
cmp eax, 0x3920d09
jb 0x140057ba0
cmp byte [r9 + rbx], 0xbf
jg 0x140057cba
mov eax, dword [0x141f35328]
or eax, dword [0x141f3532c]
and eax, 0xeff75410
add eax, 0xbf28d094
cmp eax, 0x34b581dd
jb 0x140057bd0
lea rbx, [r10 + 3]
nop word cs:[rax + rax]
mov eax, dword [0x141f35330]
xor eax, dword [0x141f35334]
add eax, 0xc772dfdb
or eax, 0xa831642
and eax, 0xaac7b66f
cmp eax, 0xdadd3b6a
je 0x140057c00
cmp rbx, r8
jae 0x140057cea
nop dword [rax + rax]
test dil, dil
jne 0x140057c30
cmp byte [r9 + rbx], 0xbf
jle 0x140057420
jmp 0x140057cf8
and r13b, 0xfe
mov eax, dword [0x141f35298]
xor edx, edx
div dword [0x141f3529c]
add eax, 0x2e84dc5d
xor eax, 0xf95d291a
add eax, 0xcf6edc4a
cmp r13b, 0xee
sete dl
cmp bl, 0xc0
setl bpl
cmp eax, 0x9709bac
jb 0x140057c49
and dl, bpl
lea rbp, [0x141f25aa0]
je 0x140057cf4
lea rbx, [r10 + 2]
cmp rbx, r8
jae 0x140057cea
mov eax, dword [0x141f352a8]
xor edx, edx
div dword [0x141f352ac]
or eax, 0x104507e0
and eax, 0x504507e4
cmp eax, 0x4b345947
je 0x140057c90
cmp byte [r9 + rbx], 0xbf
jle 0x140057420
mov al, 2
jmp 0x140057cfa
mov eax, dword [0x141f35338]
sub eax, dword [str.m_v]
or eax, 0xf210000
and eax, 0x7f233843
cmp eax, 0xd5888ffc
je 0x140057cc0
mov qword [rcx + 8], r9
mov qword [rcx + 0x10], r8
xor r8d, r8d
jmp 0x140057d0e
mov dword [rsp + 4], 0
jmp 0x140057cfa
mov al, 1
jmp 0x140057cfa
mov al, 3
mov qword [rcx + 8], r10
mov edx, dword [rsp + 4]
mov byte [rcx + 0x10], dl
mov byte [rcx + 0x11], al
mov r8d, 1
mov eax, dword [0x141f35340]
xor edx, edx
div dword [0x141f35344]
imul eax, eax, 0x8438835b
cmp eax, 0xaf537191
je 0x140057d3f
mov eax, dword [0x141f35348]
or eax, dword [0x141f3534c]
mov qword [rcx], r8
cmp eax, 0x56620e80
jne 0x140057d44
mov qword [rcx], r8
jmp 0x140057d29
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret