Function at 0x180004450
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rcx, qword [0x180089860]
xor ebp, ebp
movzx edi, bp
call fcn.180001de0
mov rbx, rax
movabs rsi, 0x7fffffff0000
test rax, rax
je 0x180004521
add rax, 0x20
cmp rax, 0x400000
jbe 0x180004521
lea rcx, [rbx + 0x28]
cmp rcx, rsi
jae 0x180004521
mov rax, qword [rax]
lea r8, [rax + 0x20]
cmp r8, 0x400000
jbe 0x180004521
add rax, 0x28
cmp rax, rsi
jae 0x180004521
mov r8, qword [r8]
lea rdx, [r8 + 0x10]
cmp rdx, 0x400000
jbe 0x180004521
add r8, 0x14
cmp r8, rsi
jae 0x180004521
mov edx, dword [rdx]
test edx, edx
je 0x180004521
test r8, r8
je 0x180004521
mov r9d, 0xffff
mov edi, r9d
add dx, dx
je 0x180004521
lea r10, [0x180060aa0]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
movzx ecx, di
shr rcx, 8
xor rcx, rax
shl di, 8
xor di, word [r10 + rcx*2]
add dx, r9w
jne 0x180004500
movzx ecx, di
mov r14d, 0x435e
cmp ecx, 0x74f5
ja 0x180004aa9
je 0x180004b3c
cmp ecx, 0x4b0a
ja 0x180004660
je 0x180004588
cmp ecx, 0x2658
ja 0x180004626
je 0x180004588
test ecx, ecx
je 0x1800049cf
cmp ecx, 0xcd
je 0x180004588
cmp ecx, 0x6b1
je 0x180004b3c
cmp ecx, 0x1f2d
je 0x180004588
cmp ecx, 0x2333
jne 0x1800049cf
cmp byte [0x18008976e], bpl
je 0x1800049cf
mov rcx, rbx
call fcn.180001ae0
mov rcx, rbx
call fcn.180001810
mov rcx, rbx
call fcn.180001870
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x1800049cf
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x1800049cf
mov rax, qword [rcx]
lea rcx, [rax + 0x280]
cmp rcx, 0x400000
jbe 0x1800045f5
add rax, 0x284
cmp rax, rsi
jae 0x1800045f5
mov dword [rcx], 0x40a00000
mov rax, qword [rbx + 0x98]
lea rcx, [rax + 0x289]
cmp rcx, 0x400000
jbe 0x1800049cf
add rax, 0x28d
cmp rax, rsi
jae 0x1800049cf
mov dword [rcx], ebp
jmp 0x1800049cf
cmp ecx, 0x282a
je 0x180004588
cmp ecx, 0x2f12
je 0x180004588
cmp ecx, 0x3146
je 0x180004b3c
cmp ecx, 0x3511
je 0x1800046aa
cmp ecx, r14d
je 0x1800048e7
jmp 0x1800049cf
cmp ecx, 0x65b4
ja 0x180004a74
je 0x180004588
cmp ecx, 0x52f7
je 0x1800046aa
cmp ecx, 0x573c
je 0x180004b3c
cmp ecx, 0x5a9f
je 0x1800049ea
cmp ecx, 0x6104
je 0x180004588
cmp ecx, 0x62e5
jne 0x1800049cf
cmp byte [0x18008977c], bpl
je 0x180004778
lea rdx, [rbx + 0x98]
cmp rdx, 0x400000
jbe 0x180004778
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004778
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x30c]
cmp r8, 0x400000
jbe 0x180004700
lea rax, [rdx + 0x310]
cmp rax, rsi
jae 0x180004700
mov dword [r8], ebp
lea rdx, [rcx + 0x310]
cmp rdx, 0x400000
jbe 0x18000471e
lea rax, [rcx + 0x314]
cmp rax, rsi
jae 0x18000471e
mov dword [rdx], ebp
lea rdx, [rcx + 0x2d8]
cmp rdx, 0x400000
jbe 0x18000473c
lea rax, [rcx + 0x2dc]
cmp rax, rsi
jae 0x18000473c
mov dword [rdx], ebp
lea rdx, [rcx + 0x2dc]
cmp rdx, 0x400000
jbe 0x18000475a
lea rax, [rcx + 0x2e0]
cmp rax, rsi
jae 0x18000475a
mov dword [rdx], ebp
lea rdx, [rcx + 0x2e0]
cmp rdx, 0x400000
jbe 0x180004778
lea rax, [rcx + 0x2e4]
cmp rax, rsi
jae 0x180004778
mov dword [rdx], ebp
cmp byte [0x180089774], bpl
je 0x18000488e
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x18000488e
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x18000488e
mov rax, qword [rcx]
lea rdx, [rax + 0x2c8]
cmp rdx, 0x400000
jbe 0x18000488e
add rax, 0x2d0
cmp rax, rsi
jae 0x18000488e
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x18]
cmp r8, 0x400000
jbe 0x1800047f8
lea rax, [rdx + 0x1c]
cmp rax, rsi
jae 0x1800047f8
movss xmm0, dword [0x18006d114]
movss dword [r8], xmm0
lea rdx, [rcx + 0x1c]
cmp rdx, 0x400000
jbe 0x18000481a
lea rax, [rcx + 0x20]
cmp rax, rsi
jae 0x18000481a
movss xmm0, dword [0x18006d114]
movss dword [rdx], xmm0
lea rdx, [rcx + 0x20]
cmp rdx, 0x400000
jbe 0x18000483c
lea rax, [rcx + 0x24]
cmp rax, rsi
jae 0x18000483c
movss xmm0, dword [0x18006d114]
movss dword [rdx], xmm0
lea rdx, [rcx + 0x24]
cmp rdx, 0x400000
jbe 0x18000485e
lea rax, [rcx + 0x28]
cmp rax, rsi
jae 0x18000485e
movss xmm0, dword [0x18006d114]
movss dword [rdx], xmm0
lea rdx, [rcx + 0x30]
cmp rdx, 0x400000
jbe 0x180004876
lea rax, [rcx + 0x34]
cmp rax, rsi
jae 0x180004876
mov dword [rdx], ebp
lea rdx, [rcx + 0x34]
cmp rdx, 0x400000
jbe 0x18000488e
lea rax, [rcx + 0x38]
cmp rax, rsi
jae 0x18000488e
mov dword [rdx], ebp
mov rcx, rbx
call fcn.180001ae0
cmp byte [0x180089784], bpl
je 0x1800048df
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x1800048df
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x1800048df
mov rax, qword [rcx]
lea rcx, [rax + 0x1e4]
cmp rcx, 0x400000
jbe 0x1800048df
add rax, 0x1e8
cmp rax, rsi
jae 0x1800048df
mov dword [rcx], 0x3db851ec
mov rcx, rbx
call fcn.180001870
cmp byte [0x180089784], bpl
je 0x180004930
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180004930
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004930
mov rax, qword [rcx]
lea rcx, [rax + 0x1e4]
cmp rcx, 0x400000
jbe 0x180004930
add rax, 0x1e8
cmp rax, rsi
jae 0x180004930
mov dword [rcx], 0x3db851ec
mov rcx, rbx
call fcn.180001ae0
cmp di, r14w
jne 0x1800049cf
mov rcx, rbx
call fcn.1800017b0
mov rcx, rbx
call fcn.180001ae0
cmp byte [0x18008978b], bpl
je 0x1800049bf
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x1800049bf
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x1800049bf
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0x350]
cmp r8, 0x400000
jbe 0x1800049a0
lea rax, [rcx + 0x354]
cmp rax, rsi
jae 0x1800049a0
mov dword [r8], 0x3f800000
lea rcx, [rdx + 0x360]
cmp rcx, 0x400000
jbe 0x1800049bf
lea rax, [rdx + 0x361]
cmp rax, rsi
jae 0x1800049bf
mov byte [rcx], 1
mov rcx, rbx
call fcn.180001810
mov rcx, rbx
call fcn.180001870
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp byte [0x1800897a7], bpl
je 0x180004a57
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180004a57
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004a57
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0x350]
cmp r8, 0x400000
jbe 0x180004a35
lea rax, [rcx + 0x351]
cmp rax, rsi
jae 0x180004a35
mov byte [r8], 1
lea rcx, [rdx + 0x354]
cmp rcx, 0x400000
jbe 0x180004a57
lea rax, [rdx + 0x358]
cmp rax, rsi
jae 0x180004a57
mov dword [rcx], 0x3f800000
mov rcx, rbx
call fcn.180001870
mov rcx, rbx
call fcn.180001810
mov rcx, rbx
call fcn.180001ae0
jmp 0x1800049cf
cmp ecx, 0x67da
je 0x180004b3c
cmp ecx, 0x6a09
je 0x1800046aa
cmp ecx, 0x7296
je 0x180004588
cmp ecx, 0x7340
je 0x180004588
jmp 0x1800049cf
cmp ecx, 0xc68b
ja 0x180004b9f
je 0x180004588
cmp ecx, 0xab85
ja 0x180004b03
je 0x180004588
sub ecx, 0x77e9
je 0x1800046aa
sub ecx, 0x19a
je 0x1800046aa
sub ecx, 0x41
je 0x180004b3c
sub ecx, 0x78d
je 0x180004588
cmp ecx, 0x1582
je 0x180004588
jmp 0x1800049cf
cmp ecx, 0xac02
je 0x180004588
cmp ecx, 0xb0a0
je 0x1800048e7
cmp ecx, 0xb32a
je 0x180004b3c
cmp ecx, 0xc196
je 0x180004b3c
cmp ecx, 0xc2dd
je 0x1800046aa
jmp 0x1800049cf
cmp byte [0x1800897a8], bpl
je 0x180004b82
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180004b82
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004b82
mov rax, qword [rcx]
lea rcx, [rax + 0x278]
cmp rcx, 0x400000
jbe 0x180004b82
add rax, 0x279
cmp rax, rsi
jae 0x180004b82
mov byte [rcx], 1
mov rcx, rbx
call fcn.180001ae0
mov rcx, rbx
call fcn.180001810
mov rcx, rbx
call fcn.180001870
jmp 0x1800046aa
cmp ecx, 0xf3b9
ja 0x180004bf7
je 0x180004bea
cmp ecx, 0xc859
je 0x180004588
cmp ecx, 0xcbd8
je 0x180004588
cmp ecx, 0xcfa1
je 0x1800046aa
cmp ecx, 0xe5ea
je 0x1800046aa
cmp ecx, 0xe97d
je 0x1800046aa
jmp 0x1800049cf
mov rcx, rbx
call fcn.180001ae0
jmp 0x1800049bf
sub ecx, 0xf87e
je 0x1800046aa
sub ecx, 0x250
je 0x180004588
sub ecx, 0x5d
je 0x180004588
cmp ecx, 0x298
je 0x1800046aa
jmp 0x1800049cf