Function at 0x140043390
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rbx, r8
mov r14, rdx
mov r12, rcx
mov eax, dword [0x141dc5a00]
sub eax, dword [0x141dc5a04]
xor eax, 0x16c029b7
imul eax, eax, 0x1d1be999
add eax, 0x15dcdc1a
cmp eax, 0xd4051443
jb 0x140043403
mov eax, dword [0x141dc5a08]
xor edx, edx
div dword [0x141dc5a0c]
imul rax, rax, 0x7f92c5ab
shr rax, 0x3e
imul ecx, eax, 0xc275900a
mov eax, 0x310
call fcn.1400ef330
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xf3a93b01
jne 0x140043412
mov eax, 0x310
call fcn.1400ef330
sub rsp, rax
jmp 0x1400433cc
mov eax, dword [0x141dc5a10]
add eax, dword [0x141dc5a14]
imul eax, eax, 0x9f83cd7f
cmp eax, 0xa174c910
je 0x14004346f
mov eax, dword [0x141dc5a18]
xor edx, edx
div dword [0x141dc5a1c]
add eax, 0x98b566d2
imul rsi, rax, 0x4c85942f
shr rsi, 0x39
add esi, 0x8b4ba5f6
sub rsp, 0x20
mov r8d, 0x30d
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add rsp, 0x20
cmp esi, 0xeb1fb0d0
jbe 0x140043489
sub rsp, 0x20
mov r8d, 0x30d
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add rsp, 0x20
jmp 0x14004342b
xor r15d, r15d
mov rdx, rbx
mov rax, r14
nop word cs:[rax + rax]
test rdx, rdx
je 0x140043f8d
mov r9, rax
mov rcx, rdx
mov eax, dword [0x141dc5a20]
and eax, dword [0x141dc5a24]
or eax, 0xfdf665bd
imul eax, eax, 0x58bb698
add eax, 0x1a7fbcf8
cmp eax, 0x9c0b5ef4
ja 0x1400434af
lea rax, [r9 + 1]
nop word cs:[rax + rax]
mov edx, dword [0x141dc5a28]
add edx, dword [0x141dc5a2c]
and edx, 0xc645a419
xor edx, 0x27b9dad8
cmp edx, 0xf42c99fd
ja 0x1400434e0
lea rdx, [rcx - 1]
cmp byte [r9], 0x30
je 0x1400434a0
xor r8d, r8d
nop dword [rax]
movzx edx, byte [r9]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14004369d
nop
mov edx, dword [0x141dc5a30]
imul edx, dword [0x141dc5a34]
xor edx, 0xe07579f5
imul edx, edx, 0x5434b208
cmp edx, 0x9dcdf3bb
je 0x140043520
dec rcx
inc r9
nop word [rax + rax]
mov edx, dword [0x141dc5a38]
add edx, dword [0x141dc5a3c]
imul edx, edx, 0xb98c6469
or edx, 0x59efe33
and edx, 0x37beff7b
cmp edx, 0xa663c681
ja 0x140043550
cmp r8, 0x2ff
ja 0x140043620
mov edx, dword [0x141dc5a40]
add edx, dword [0x141dc5a44]
and edx, 0xc01e3c6b
add edx, 0xf7c562bd
or edx, 0x658c45ec
cmp edx, 0x6256c851
jne 0x1400435b0
mov byte [rdi + r8 + 8], al
nop
mov edx, dword [0x141dc5a48]
xor edx, dword [0x141dc5a4c]
imul rdx, rdx, 0x7f47e88d
shr rdx, 0x3d
imul edx, edx, 0xd4ea0c96
and edx, 0xabd4d36e
mov byte [rdi + r8 + 8], al
cmp edx, 0xaaff9721
ja 0x1400435b0
mov rax, qword [rdi]
nop word cs:[rax + rax]
mov edx, dword [0x141dc5a50]
add edx, dword [0x141dc5a54]
imul edx, edx, 0x9d38c28a
or edx, 0x9d05867f
imul edx, edx, 0xe28e6454
cmp edx, 0xc6c66676
ja 0x1400435f0
jmp 0x140043623
mov rax, r8
mov edx, dword [0x141dc5a58]
or edx, dword [0x141dc5a5c]
xor edx, 0x86b89f41
imul edx, edx, 0x9403d960
xor edx, 0xa15d179f
cmp edx, 0x9ea9ba55
jbe 0x140043650
lea rdx, [rax + 1]
mov qword [rdi], rdx
mov edx, dword [0x141dc5a60]
and edx, dword [0x141dc5a64]
and edx, 0x95901abe
imul r8, rdx, 0x60cb4951
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1d
add edx, 0xdeeb3906
lea r8, [rax + 1]
mov qword [rdi], r8
cmp edx, 0xff2685ef
ja 0x140043650
test rcx, rcx
jne 0x140043510
xor ecx, ecx
jmp 0x140043b50
cmp dl, 0x2e
jne 0x140043b50
mov qword [rbp], r12
lea r12, [r9 + 1]
lea r10, [rcx - 1]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a70]
sub eax, dword [0x141dc5a74]
cmp eax, 0xa02f26e9
je 0x1400436c0
mov r11, r10
test r8, r8
jne 0x1400437a0
mov eax, dword [0x141dc5a78]
xor edx, edx
div dword [0x141dc5a7c]
lea r15, [r9 + rcx]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a80]
or eax, dword [0x141dc5a84]
xor eax, 0x85ab3f24
imul rax, rax, 0x4e41baf
shr rax, 0x39
xor eax, 0xb7184dc6
cmp eax, 0xf1b050ef
ja 0x140043700
xor r13d, r13d
mov esi, 0xaab13e01
mov r12, r9
mov r11, rcx
nop word cs:[rax + rax]
cmp r11, 1
je 0x140043ad5
mov eax, dword [0x141dc5a88]
xor edx, edx
div dword [0x141dc5a8c]
test r13b, r13b
jne 0x140043758
movzx eax, byte [r12 + 1]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5a90]
xor ecx, dword [0x141dc5a94]
imul ecx, ecx, 0xa6256282
imul rcx, rsi
shr rcx, 0x3e
cmp ecx, 0x6042ed26
je 0x140043770
dec r11
inc r12
cmp al, 0x30
je 0x140043740
nop dword [rax]
mov eax, dword [0x141dc5a98]
xor edx, edx
div dword [0x141dc5a9c]
or eax, 0x31afa12b
imul eax, eax, 0x1d33b433
or eax, 0x8125fdd2
cmp eax, 0x63aebc2f
jb 0x1400437a0
cmp r11, 8
jb 0x140043920
movabs rcx, 0x4646464646464646
movabs r9, 0xcfcfcfcfcfcfcfd0
movabs r15, 0x8080808080808080
nop dword [rax]
lea rax, [r8 + 8]
cmp rax, 0x300
jae 0x140043948
mov r13, qword [r12]
lea rax, [rcx + r13]
add r13, r9
or rax, r13
nop
mov edx, dword [0x141dc5af0]
imul edx, dword [0x141dc5af4]
or edx, 0x202101
and edx, 0x20202111
cmp edx, 0x7f59c098
ja 0x140043810
test rax, r15
jne 0x140043948
mov eax, dword [0x141dc5af8]
imul eax, dword [0x141dc5afc]
imul eax, eax, 0xc5b2c980
and eax, 0xd20fd680
cmp eax, 0x96efae58
je 0x14004383a
cmp r8, 0x301
jae 0x140043c80
mov eax, dword [0x141dc5b00]
add eax, dword [0x141dc5b04]
imul eax, eax, 0xb46272ec
add eax, 0xc74dc5c0
cmp eax, 0xd4da6291
ja 0x1400438ba
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b08]
xor edx, edx
div dword [0x141dc5b0c]
and eax, 0x867f4188
imul eax, eax, 0x750c9d4b
add eax, 0x6435d708
mov qword [rdi + r8 + 8], r13
cmp eax, 0xc1a311fe
jbe 0x1400438d0
mov qword [rdi + r8 + 8], r13
jmp 0x140043890
mov r8, qword [rdi]
add r8, 8
mov qword [rdi], r8
add r11, 0xfffffffffffffff8
add r12, 8
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b10]
add eax, dword [0x141dc5b14]
and eax, 0x3948334d
imul eax, eax, 0xab43e0b7
cmp eax, 0x722ea84
je 0x1400438f0
cmp r11, 7
ja 0x1400437f0
nop dword [rax + rax]
mov eax, dword [0x141dc5aa0]
mov ecx, dword [0x141dc5aa4]
add eax, ecx
add eax, 0x6bda0fc
and eax, 0x2672020
cmp eax, 0x564ddfc3
ja 0x140043920
test r11, r11
je 0x140043ace
mov r15, r12
mov r12, qword [rbp]
nop
mov eax, dword [0x141dc5aa8]
and eax, dword [0x141dc5aac]
add eax, 0xbfb2d0fb
cmp eax, 0x8b8c6398
jb 0x140043950
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [r15]
add al, 0xd0
cmp al, 9
ja 0x140043ac9
dec r11
nop word cs:[rax + rax]
mov edx, dword [0x141dc5ab0]
sub edx, dword [0x141dc5ab4]
and edx, 0x5ac95086
add edx, 0x1c372964
cmp edx, 0x240e07f
jb 0x140043990
cmp r8, 0x2ff
ja 0x140043a50
mov edx, dword [0x141dc5ab8]
and edx, dword [0x141dc5abc]
imul edx, edx, 0x644962ca
xor edx, 0xe0757d5
imul edx, edx, 0xdc36dd42
cmp edx, 0xa333a2ba
jne 0x1400439f0
mov byte [rdi + r8 + 8], al
nop dword [rax + rax]
mov edx, dword [0x141dc5ac0]
mov r9d, dword [0x141dc5ac4]
add edx, r9d
add edx, 0x88141e80
and edx, 0x7bbfcba0
mov byte [rdi + r8 + 8], al
cmp edx, 0x5406899
je 0x1400439f0
nop dword [rax]
mov eax, dword [0x141dc5ac8]
xor edx, edx
div dword [0x141dc5acc]
and eax, 0x235808b8
or eax, 0x5482d547
imul rax, rax, 0x3efc990d
shr rax, 0x3c
cmp eax, 0xe0a51c46
ja 0x140043a20
mov rax, qword [rdi]
jmp 0x140043a53
mov rax, r8
mov edx, dword [0x141dc5ad0]
imul edx, dword [0x141dc5ad4]
imul edx, edx, 0xb56ebfbb
and edx, 0x6ebd67b3
xor edx, 0x4796a31f
cmp edx, 0x93006241
jbe 0x140043a81
lea rdx, [rax + 1]
mov qword [rdi], rdx
inc r15
nop word cs:[rax + rax]
mov edx, dword [0x141dc5ad8]
imul edx, dword [0x141dc5adc]
imul edx, edx, 0x5ee63107
add edx, 0x84ef0084
and edx, 0x59542d8a
lea r8, [rax + 1]
mov qword [rdi], r8
cmp edx, 0xd9cac4c1
ja 0x140043a90
test r11, r11
jne 0x140043970
jmp 0x140043ade
mov rcx, r11
jmp 0x140043ade
xor ecx, ecx
mov r15, r12
jmp 0x140043ada
xor r8d, r8d
xor ecx, ecx
mov r12, qword [rbp]
mov eax, dword [0x141dc5ae0]
or eax, dword [0x141dc5ae4]
cmp eax, 0xb065394e
jne 0x140043afc
mov eax, ecx
sub eax, r10d
mov dword [rdi + 0x308], eax
mov eax, 0xcda8f6e9
nop word cs:[rax + rax]
mov edx, dword [0x141dc5ae8]
and edx, dword [0x141dc5aec]
and edx, 0xceb3ed7a
imul rdx, rax
shr rdx, 0x3f
mov r9d, ecx
sub r9d, r10d
mov dword [rdi + 0x308], r9d
cmp edx, 0xd46673aa
je 0x140043b10
mov r9, r15
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a68]
imul eax, dword [0x141dc5a6c]
imul rax, rax, 0x7f2fdf0d
shr rax, 0x3e
add eax, 0x2599993d
and eax, 0x2099801b
cmp eax, 0x4911d49e
ja 0x140043b50
test r8, r8
je 0x140043c4c
cmp rbx, rcx
jb 0x140043c54
nop dword [rax + rax]
mov eax, dword [0x141dc5b18]
imul eax, dword [0x141dc5b1c]
imul eax, eax, 0xc2b0f8d1
or eax, 0xf36480bf
cmp eax, 0xa146b305
je 0x140043b90
sub rbx, rcx
jne 0x140043bc0
xor eax, eax
jmp 0x140043c1f
mov eax, dword [0x141dc5b20]
and eax, dword [0x141dc5b24]
imul eax, eax, 0x954eeae1
cmp eax, 0xa7b6f086
je 0x140043bc0
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [r14 + rbx - 1]
cmp edx, 0x2e
je 0x140043bf3
cmp edx, 0x30
jne 0x140043c1f
inc rax
mov edx, dword [0x141dc5b40]
imul edx, dword [0x141dc5b44]
add edx, 0x94f1c971
or edx, 0xb0a17b0b
xor edx, 0xa47a6135
cmp edx, 0x71848254
ja 0x140043bf3
dec rbx
jne 0x140043be0
mov edx, dword [0x141dc5b30]
imul edx, dword [0x141dc5b34]
and edx, 0x239781e6
add edx, 0xc0b79226
and edx, 0xc7ab018c
cmp edx, 0xc7596a03
ja 0x140043cc9
jmp 0x140043c82
xor r15d, r15d
jmp 0x140043d03
xor eax, eax
test al, al
je 0x140043c60
ud2
mov eax, dword [0x141dc5b28]
imul eax, dword [0x141dc5b2c]
xor eax, 0x800009c0
and eax, 0x98009dd2
ud2
ud2
mov edx, dword [0x141dc5b38]
and edx, dword [0x141dc5b3c]
imul r10, rdx, 0x8e11c17
shr r10, 0x20
sub edx, r10d
shr edx, 1
add edx, r10d
shr edx, 0x1f
mov r10d, dword [rdi + 0x308]
add r10d, eax
mov r15, r8
sub r15, rax
add r10d, r15d
mov qword [rdi], r15
mov dword [rdi + 0x308], r10d
cmp edx, 0x5da357
jne 0x140043ce6
mov edx, dword [rdi + 0x308]
add edx, eax
mov r10, r8
sub r10, rax
mov qword [rdi], r10
add r10d, edx
mov dword [rdi + 0x308], r10d
jmp 0x140043c82
cmp r15, 0x300
jbe 0x140043d03
mov byte [rdi + 0x30c], 1
mov qword [rdi], 0x300
mov r15d, 0x300
lea r8, [r9 + 1]
lea r10, [rcx - 1]
xor eax, eax
nop dword [rax]
test al, al
jne 0x140043d10
test rcx, rcx
je 0x140043f4d
mov eax, 0xb496a0e7
nop word cs:[rax + rax]
mov edx, dword [0x141dc5b48]
or edx, dword [0x141dc5b4c]
imul edx, edx, 0x55bb51f4
imul rdx, rax
shr rdx, 0x3f
xor edx, 0xfdfc6d31
cmp edx, 0x902ef93f
jb 0x140043d30
movzx eax, byte [r9]
or eax, 0x20
cmp eax, 0x65
jne 0x140043f4d
add r9, 2
add rcx, 0xfffffffffffffffe
mov eax, dword [0x141dc5b68]
xor eax, dword [0x141dc5b6c]
add eax, 0x5f9ef1c0
cmp eax, 0xf504bdb5
ja 0x140043d70
test r10, r10
je 0x140043eb4
movzx r11d, byte [r8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b70]
add eax, dword [0x141dc5b74]
imul rax, rax, 0x701667d1
shr rax, 0x3e
imul eax, eax, 0x65d93dd4
cmp eax, 0x63a772a2
jb 0x140043da0
mov esi, 0xc3f232db
nop dword [rax]
mov eax, dword [0x141dc5b78]
xor edx, edx
div dword [0x141dc5b7c]
xor eax, 0x6a6b4ea4
imul rax, rsi
shr rax, 0x3f
or eax, 0xc580bf1e
cmp eax, 0x5e4250b2
jb 0x140043dd0
cmp r11d, 0x2d
je 0x140043e03
cmp r11d, 0x2b
jne 0x140043e44
mov eax, dword [0x141dc5b80]
xor edx, edx
div dword [str.eL2]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b88]
xor eax, dword [0x141dc5b8c]
imul eax, eax, 0x8bcc31e6
cmp eax, 0x9db87fa1
je 0x140043e20
mov r8, r9
mov r10, rcx
test rcx, rcx
je 0x140043eb8
xor r9d, r9d
xor ecx, ecx
xor ebx, ebx
nop dword [rax + rax]
mov eax, dword [0x141dc5b90]
xor edx, edx
div dword [0x141dc5b94]
nop
mov eax, dword [0x141dc5b98]
sub eax, dword [0x141dc5b9c]
and eax, 0x338bcaf9
xor eax, 0x223f52bc
imul eax, eax, 0x165ef971
cmp eax, 0xbeb77dc7
ja 0x140043e60
movzx eax, byte [r8]
add al, 0xd0
cmp al, 9
ja 0x140043eba
dec r10
inc r8
cmp ebx, 0x10000
lea edx, [rbx + rbx*4]
movzx eax, al
lea eax, [rax + rdx*2]
cmovl ecx, eax
cmovl ebx, eax
test r9b, r9b
jne 0x140043ea8
test r10, r10
jne 0x140043e50
jmp 0x140043eba
xor eax, eax
jmp 0x140043eec
xor ecx, ecx
mov edx, ecx
neg edx
nop
mov eax, dword [str._t_fk_t]
or eax, dword [0x141dc5ba4]
imul r8d, eax, 0x6508b8d2
add r8d, 0x7203e05c
cmp r11d, 0x2d
mov eax, ecx
cmove eax, edx
cmp r8d, 0xb931667d
ja 0x140043ec0
mov ecx, dword [0x141dc5ba8]
xor ecx, dword [0x141dc5bac]
imul ecx, ecx, 0xbe7bc780
mov edx, 0xa4580345
imul rdx, rcx
shr rdx, 0x3f
or edx, 0xf947d46c
cmp edx, 0x8f7b8f3d
jb 0x140043f45
mov ecx, dword [0x141dc5bb0]
xor ecx, dword [0x141dc5bb4]
add ecx, 0xb24dca80
xor ecx, 0xc0e0010
or ecx, 0x7121beeb
add dword [rdi + 0x308], eax
cmp ecx, 0xd78ab81b
jb 0x140043f4d
add dword [rdi + 0x308], eax
jmp 0x140043f19
xor eax, eax
nop
test al, al
jne 0x140043f50
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b50]
xor eax, dword [0x141dc5b54]
imul eax, eax, 0xb14cb7bd
and eax, 0xec808769
add eax, 0xafaa8922
cmp eax, 0x8a720ce5
ja 0x140043f60
cmp r15, 0x12
ja 0x140044023
mov eax, dword [0x141dc5b58]
and eax, dword [0x141dc5b5c]
mov ecx, 0x8573e54d
imul rcx, rax
shr rcx, 0x3c
and ecx, 4
imul eax, ecx, 0x24dec1b7
cmp eax, 0x95d0e9e
ja 0x140044001
mov eax, dword [0x141dc5b60]
and eax, dword [0x141dc5b64]
imul rsi, rax, 0x7570a487
shr rsi, 0x3b
xor esi, 0x63190188
or esi, 0x9084fa27
lea rcx, [r15 + rdi]
add rcx, 8
mov r8d, 0x13
sub r8, r15
sub rsp, 0x20
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add rsp, 0x20
cmp esi, 0x423c1512
jae 0x140044023
lea rcx, [r15 + rdi]
add rcx, 8
mov r8d, 0x13
sub r8, r15
sub rsp, 0x20
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add rsp, 0x20
jmp 0x140043fb6
sub rsp, 0x20
mov r8d, 0x310
mov rcx, r12
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
nop
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret