Function at 0x140062cc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov eax, 0x9b111ab9
nop
mov ecx, dword [0x141dc8b78]
sub ecx, dword [0x141dc8b7c]
add ecx, 0xc9ee2a70
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x67272321
je 0x140062ce0
mov r8, qword [rbx + 8]
test r8, r8
je 0x140062d20
mov rdx, qword [rbx]
mov rcx, rdi
call qword [rsi + 0x18]
mov ecx, eax
mov al, 1
test cl, cl
jne 0x140063550
mov eax, dword [0x141dc8b80]
xor eax, dword [0x141dc8b84]
or eax, 0x8f7206b9
xor eax, 0x4c2b3fd3
add eax, 0xc36fce6c
cmp eax, 0x441f86f4
jb 0x140062d20
mov r12, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
lea rcx, [rax + rax*2]
lea r14, [r12 + rcx*8]
mov ecx, 0x8bd20519
nop word [rax + rax]
mov edx, dword [0x141dc8b88]
sub edx, dword [0x141dc8b8c]
add edx, 0x416cb7c8
xor edx, 0xc0e0df32
shr edx, 1
imul rdx, rcx
shr rdx, 0x3e
cmp edx, 0x35ea99d6
je 0x140062d60
nop word [rax + rax]
mov ecx, dword [0x141dc8b90]
add ecx, dword [0x141dc8b94]
and ecx, 0x3416eca3
add ecx, 0x771dfa
or ecx, 0x670ade30
cmp ecx, 0x219f120f
jb 0x140062d90
test rax, rax
je 0x14006354a
mov eax, dword [0x141dc8b98]
xor edx, edx
div dword [0x141dc8b9c]
nop dword [rax]
mov eax, dword [0x141dc8ba0]
or eax, dword [0x141dc8ba4]
add eax, 0xe8c71a12
and eax, 0xe193d886
xor eax, 0xc585f6a2
cmp eax, 0x6456720e
ja 0x140062dd0
xor ebp, ebp
mov r13d, 0x8d0de23b
mov ecx, 0xd8729887
mov ebx, 0xfa14dc87
lea r15, [rsp + 0x28]
mov qword [rsp + 0x30], r14
nop
movzx eax, word [r12]
test rax, rax
je 0x140062f60
cmp eax, 1
jne 0x140063140
movzx eax, word [r12 + 2]
mov ecx, dword [0x141dc8bd8]
imul ecx, dword [0x141dc8bdc]
cmp ecx, 0x4708eb4e
jne 0x140062e50
mov byte [rsp + 0x2c], 0
mov dword [rsp + 0x28], 0
nop
mov ecx, dword [0x141dc8be0]
imul ecx, dword [0x141dc8be4]
or ecx, 0xfabb4403
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x2c], 0
cmp ecx, 0xd35b2785
je 0x140062e50
movzx ecx, word [r12]
test rcx, rcx
je 0x140063214
cmp ecx, 1
jne 0x14006321b
movzx ecx, word [r12 + 2]
mov edx, dword [0x141dc8bf0]
xor edx, dword [0x141dc8bf4]
or edx, 0xb7cdeedf
imul edx, edx, 0xb544b1d1
cmp edx, 0x50dda8f8
je 0x140062e95
nop word cs:[rax + rax]
mov edx, dword [0x141dc8bf8]
and edx, dword [0x141dc8bfc]
add edx, 0x4e9da378
and edx, 0xf952f461
cmp edx, 0x8d82d873
je 0x140062ec0
movzx edx, cx
cmp edx, 0x3e8
jae 0x1400631c0
mov edx, dword [0x141dc8c10]
imul edx, dword [0x141dc8c14]
imul edx, edx, 0xfe4aaf46
add edx, 0xa702d916
or edx, 0xfc613b82
cmp edx, 0xa9ccfb5
je 0x140062eef
cmp cx, 9
ja 0x140063304
test bpl, bpl
jne 0x140062f20
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8c18]
xor ecx, dword [0x141dc8c1c]
imul ecx, ecx, 0xe614a430
add ecx, 0x1cb36dd0
cmp ecx, 0x9c23b1e0
jbe 0x140062f30
mov r8d, 1
lea rcx, [rsp + 0x29]
jmp 0x1400632cb
mov r15, qword [r12 + 8]
mov eax, dword [0x141dc8bb8]
sub eax, dword [0x141dc8bbc]
imul eax, eax, 0xb1c3c998
cmp eax, 0xe00bc85c
je 0x140062f65
cmp r15, 0x41
jb 0x1400630b0
nop dword [rax + rax]
mov eax, dword [0x141dc8bc0]
imul eax, dword [0x141dc8bc4]
and eax, 0xfc14da3c
imul eax, eax, 0xaf8e2e58
add eax, 0x217dbe80
cmp eax, 0x657f7e42
ja 0x140062f90
mov eax, dword [0x141dc8bc8]
and eax, dword [0x141dc8bcc]
and eax, 0x800000
cmp eax, 0xe5363f70
je 0x140062fb4
mov r14, rsi
mov rsi, qword [rsi + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8bd0]
xor edx, edx
div dword [0x141dc8bd4]
imul rax, rax, 0x2913ee95
shr rax, 0x3d
or eax, 0x627a483c
cmp eax, 0xfbc9a07d
ja 0x140062fe0
nop word cs:[rax + rax]
mov r8d, 0x40
mov rcx, rdi
lea rdx, [0x141db5033]
call rsi
test al, al
jne 0x14006354e
mov eax, dword [0x141dc8c58]
xor edx, edx
div dword [0x141dc8c5c]
nop dword [rax + rax]
mov eax, dword [0x141dc8c60]
sub eax, dword [0x141dc8c64]
xor eax, 0x7eee81ce
imul eax, eax, 0x1999a7f1
or eax, 0xb17d7ad5
cmp eax, 0xbf486b33
jb 0x140063040
add r15, 0xffffffffffffffc0
nop word [rax + rax]
mov eax, dword [0x141dc8c68]
or eax, dword [0x141dc8c6c]
shr eax, 1
imul rax, r13
shr rax, 0x3e
or eax, 0x7929f186
imul eax, eax, 0xf7739da2
cmp eax, 0xda4379d1
je 0x140063070
cmp r15, 0x40
ja 0x140063010
jmp 0x140063110
mov eax, dword [0x141dc8c38]
xor edx, edx
div dword [0x141dc8c3c]
add eax, 0x350ddfe9
imul rax, rax, 0x14980259
shr rax, 0x3c
or eax, 0x23e7f802
cmp eax, 0x30d8f7c8
ja 0x1400630b0
test r15, r15
je 0x14006348f
mov r14, rsi
mov rsi, qword [rsi + 0x18]
nop word [rax + rax]
mov eax, dword [0x141dc8c40]
and eax, dword [0x141dc8c44]
imul rax, rcx
shr rax, 0x3f
or eax, 0xf46408de
cmp eax, 0xfcde49f1
je 0x1400630f0
mov rcx, rdi
lea rdx, [0x141db5033]
mov r8, r15
call rsi
test al, al
mov rsi, r14
mov r14, qword [rsp + 0x30]
mov ecx, 0xd8729887
je 0x14006348f
jmp 0x140063594
cmp eax, 2
jne 0x140063510
nop dword [rax]
mov eax, dword [0x141dc8c28]
imul eax, dword [0x141dc8c2c]
or eax, 0x1e14c3ba
add eax, 0x71e6885b
or eax, 0x981d4bc9
cmp eax, 0x1927f5ce
jb 0x140063150
mov rdx, qword [r12 + 8]
nop dword [rax + rax]
mov eax, dword [0x141dc8c30]
sub eax, dword [0x141dc8c34]
imul eax, eax, 0xa48848e
add eax, 0x814f08f6
cmp eax, 0xf44370d
jb 0x140063180
mov r8, qword [r12 + 0x10]
mov rcx, rdi
call qword [rsi + 0x18]
test al, al
mov ecx, 0xd8729887
je 0x14006348f
jmp 0x140063590
mov ecx, dword [0x141dc8c00]
add ecx, dword [0x141dc8c04]
imul ecx, ecx, 0x6f547ae7
add ecx, 0x751f702
cmp edx, 0x2710
mov r8d, 5
sbb r8, 0
cmp ecx, 0x1d0559eb
jb 0x1400631c0
mov ecx, dword [0x141dc8c08]
mov edx, dword [0x141dc8c0c]
add ecx, edx
add ecx, 0xf76a5cca
and ecx, 0x16da88bf
cmp ecx, 0x4e9ca5c
je 0x1400631f0
jmp 0x14006328b
mov ecx, 8
jmp 0x140063229
cmp ecx, 2
jne 0x140063530
mov ecx, 0x10
mov r8, qword [r12 + rcx]
cmp r8, 5
ja 0x140063598
nop word [rax + rax]
mov ecx, dword [0x141dc8c70]
or ecx, dword [0x141dc8c74]
xor ecx, 0x5761dcd1
imul ecx, ecx, 0x40661337
cmp ecx, 0x2cc81478
je 0x140063240
mov ecx, dword [0x141dc8c78]
or ecx, dword [0x141dc8c7c]
or ecx, 0x84400b48
and ecx, 0x86460b4a
xor ecx, 0xe6427a2f
cmp ecx, 0x45575977
jb 0x140063260
test r8, r8
je 0x1400632fc
mov ecx, dword [0x141dc8c80]
imul ecx, dword [0x141dc8c84]
or ecx, 0x1e9d9592
mov edx, 0xb0d8e005
imul rcx, rdx
shr rcx, 0x3f
add ecx, 0xac94143d
cmp ecx, 0xbacbcf72
ja 0x14006328b
lea rcx, [rsp + r8]
add rcx, 0x28
test r8b, 1
je 0x1400633a0
mov edx, dword [0x141dc8c88]
imul edx, dword [0x141dc8c8c]
add edx, 0x88b0491e
and edx, 0xb88f8fbd
imul r9d, edx, 0x570dce1d
movzx edx, ax
cmp r9d, 0xf1f652f4
jne 0x140063350
jmp 0x1400634e6
xor r8d, r8d
jmp 0x140063479
cmp cx, 0x64
mov r8d, 3
sbb r8, 0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8c20]
sub ecx, dword [0x141dc8c24]
imul rcx, rcx, 0x4394080b
shr rcx, 0x3a
cmp ecx, 0x2c90b226
je 0x140063320
jmp 0x14006328b
mov eax, dword [0x141dc8c90]
and eax, dword [0x141dc8c94]
xor eax, 0x91721fab
add eax, 0x3a447b97
imul r9, rax, 0x2a8fbb4d
shr r9, 0x3d
imul eax, edx, 0xcccd
shr eax, 0x13
lea r10d, [rax + rax]
lea r10d, [r10 + r10*4]
mov r11d, edx
sub r11d, r10d
or r11b, 0x30
mov byte [rcx - 1], r11b
cmp r9d, 0x4abf028b
je 0x1400634e6
dec rcx
cmp r8, 1
je 0x140063479
nop word [rax + rax]
mov edx, dword [0x141dc8ca0]
or edx, dword [0x141dc8ca4]
or edx, 0x103c17d9
xor edx, 0x8b296eca
add edx, 0xe6f941a4
movzx eax, ax
cmp edx, 0xc864d20b
jbe 0x140063420
imul edx, eax, 0xcccd
shr edx, 0x13
lea r9d, [rdx + rdx]
lea r9d, [r9 + r9*4]
mov r10d, eax
sub r10d, r9d
or r10b, 0x30
mov byte [rcx - 1], r10b
imul r9d, edx, 0x199a
shr r9d, 0xf
and r9d, 0xfffffffe
lea r9d, [r9 + r9*4]
sub edx, r9d
or dl, 0x30
mov byte [rcx - 2], dl
nop word cs:[rax + rax]
imul edx, eax, 0xcccd
shr edx, 0x13
lea r9d, [rdx + rdx]
lea r9d, [r9 + r9*4]
mov r10d, eax
sub r10d, r9d
or r10b, 0x30
mov byte [rcx - 1], r10b
imul r9d, edx, 0x199a
shr r9d, 0xf
and r9d, 0xfffffffe
lea r9d, [r9 + r9*4]
sub edx, r9d
or dl, 0x30
mov byte [rcx - 2], dl
test bpl, bpl
jne 0x140063420
add rcx, 0xfffffffffffffffe
shr eax, 2
imul eax, eax, 0x147b
shr eax, 0x11
cmp r15, rcx
jne 0x1400633b0
mov rcx, rdi
mov rdx, r15
call qword [rsi + 0x18]
test al, al
mov ecx, 0xd8729887
jne 0x14006358c
add r12, 0x18
mov eax, dword [0x141dc8c48]
xor edx, edx
div dword [0x141dc8c4c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8c50]
sub eax, dword [0x141dc8c54]
imul eax, eax, 0x5b4cf88a
add eax, 0x2d9167b6
imul rax, rbx
shr rax, 0x3e
cmp eax, 0x7b8af322
ja 0x1400634b0
cmp r12, r14
lea r15, [rsp + 0x28]
jne 0x140062e10
jmp 0x14006354a
imul eax, edx, 0xcccd
shr eax, 0x12
and eax, 0xfffffffe
lea eax, [rax + rax*4]
mov r9d, edx
sub r9d, eax
or r9b, 0x30
mov byte [rcx - 1], r9b
jmp 0x140063350
mov eax, dword [0x141dc8ba8]
xor eax, dword [0x141dc8bac]
and eax, 0xcbe75d7d
cmp eax, 0x646feeea
je 0x140063510
jmp 0x1400635c6
mov eax, dword [0x141dc8be8]
xor eax, dword [0x141dc8bec]
and eax, 0x81000313
cmp eax, 0x7cba8e58
je 0x140063530
jmp 0x1400635c6
xor eax, eax
jmp 0x140063550
mov al, 1
mov ecx, dword [0x141dc8bb0]
xor ecx, dword [0x141dc8bb4]
or ecx, 0xeff14c35
imul ecx, ecx, 0x4b5c8ce5
imul rcx, rcx, 0x78a166a3
shr rcx, 0x3e
cmp ecx, 0xdb0ee60b
je 0x140063550
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 1
jmp 0x140063550
mov al, 1
jmp 0x140063550
mov al, 1
jmp 0x140063550
mov eax, dword [0x141dc8c98]
imul eax, dword [0x141dc8c9c]
imul eax, eax, 0x689a3d91
shr eax, 1
imul rax, rax, 0x118f8543
shr rax, 0x3b
or eax, 0x51bf4f32
cmp eax, 0x416bd7c1
jae 0x1400635c8
jmp 0x1400635d0
ud2
ud2
ud2