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, [0x180060a10]
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 0x180004a9e
je 0x180004b31
cmp ecx, 0x4b0a
ja 0x180004660
je 0x180004588
cmp ecx, 0x2658
ja 0x180004626
je 0x180004588
test ecx, ecx
je 0x1800049c4
cmp ecx, 0xcd
je 0x180004588
cmp ecx, 0x6b1
je 0x180004b31
cmp ecx, 0x1f2d
je 0x180004588
cmp ecx, 0x2333
jne 0x1800049c4
cmp byte [0x18008976e], bpl
je 0x1800049c4
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 0x1800049c4
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x1800049c4
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 + 0x281]
cmp rcx, 0x400000
jbe 0x1800049c4
add rax, 0x285
cmp rax, rsi
jae 0x1800049c4
mov dword [rcx], ebp
jmp 0x1800049c4
cmp ecx, 0x282a
je 0x180004588
cmp ecx, 0x2f12
je 0x180004588
cmp ecx, 0x3146
je 0x180004b31
cmp ecx, 0x3511
je 0x1800046aa
cmp ecx, r14d
je 0x1800048dc
jmp 0x1800049c4
cmp ecx, 0x65b4
ja 0x180004a69
je 0x180004588
cmp ecx, 0x52f7
je 0x1800046aa
cmp ecx, 0x573c
je 0x180004b31
cmp ecx, 0x5a9f
je 0x1800049df
cmp ecx, 0x6104
je 0x180004588
cmp ecx, 0x62e5
jne 0x1800049c4
cmp byte [0x18008977c], bpl
je 0x18000476d
lea rdx, [rbx + 0x98]
cmp rdx, 0x400000
jbe 0x18000476d
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x18000476d
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x304]
cmp r8, 0x400000
jbe 0x180004700
lea rax, [rdx + 0x308]
cmp rax, rsi
jae 0x180004700
mov dword [r8], ebp
lea rdx, [rcx + 0x308]
cmp rdx, 0x400000
jbe 0x18000471e
lea rax, [rcx + 0x30c]
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 rax, [rcx + 0x2d4]
cmp rax, 0x400000
jbe 0x180004752
cmp rdx, rsi
jae 0x180004752
mov dword [rax], ebp
cmp rdx, 0x400000
jbe 0x18000476d
lea rax, [rcx + 0x2dc]
cmp rax, rsi
jae 0x18000476d
mov dword [rcx + 0x2d8], ebp
cmp byte [0x180089774], bpl
je 0x180004883
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180004883
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004883
mov rax, qword [rcx]
lea rdx, [rax + 0x2c0]
cmp rdx, 0x400000
jbe 0x180004883
add rax, 0x2c8
cmp rax, rsi
jae 0x180004883
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x18]
cmp r8, 0x400000
jbe 0x1800047ed
lea rax, [rdx + 0x1c]
cmp rax, rsi
jae 0x1800047ed
movss xmm0, dword [0x18006d114]
movss dword [r8], xmm0
lea rdx, [rcx + 0x1c]
cmp rdx, 0x400000
jbe 0x18000480f
lea rax, [rcx + 0x20]
cmp rax, rsi
jae 0x18000480f
movss xmm0, dword [0x18006d114]
movss dword [rdx], xmm0
lea rdx, [rcx + 0x20]
cmp rdx, 0x400000
jbe 0x180004831
lea rax, [rcx + 0x24]
cmp rax, rsi
jae 0x180004831
movss xmm0, dword [0x18006d114]
movss dword [rdx], xmm0
lea rdx, [rcx + 0x24]
cmp rdx, 0x400000
jbe 0x180004853
lea rax, [rcx + 0x28]
cmp rax, rsi
jae 0x180004853
movss xmm0, dword [0x18006d114]
movss dword [rdx], xmm0
lea rdx, [rcx + 0x30]
cmp rdx, 0x400000
jbe 0x18000486b
lea rax, [rcx + 0x34]
cmp rax, rsi
jae 0x18000486b
mov dword [rdx], ebp
lea rdx, [rcx + 0x34]
cmp rdx, 0x400000
jbe 0x180004883
lea rax, [rcx + 0x38]
cmp rax, rsi
jae 0x180004883
mov dword [rdx], ebp
mov rcx, rbx
call fcn.180001ae0
cmp byte [0x180089784], bpl
je 0x1800048d4
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x1800048d4
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x1800048d4
mov rax, qword [rcx]
lea rcx, [rax + 0x1e4]
cmp rcx, 0x400000
jbe 0x1800048d4
add rax, 0x1e8
cmp rax, rsi
jae 0x1800048d4
mov dword [rcx], 0x3db851ec
mov rcx, rbx
call fcn.180001870
cmp byte [0x180089784], bpl
je 0x180004925
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180004925
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004925
mov rax, qword [rcx]
lea rcx, [rax + 0x1e4]
cmp rcx, 0x400000
jbe 0x180004925
add rax, 0x1e8
cmp rax, rsi
jae 0x180004925
mov dword [rcx], 0x3db851ec
mov rcx, rbx
call fcn.180001ae0
cmp di, r14w
jne 0x1800049c4
mov rcx, rbx
call fcn.1800017b0
mov rcx, rbx
call fcn.180001ae0
cmp byte [0x18008978b], bpl
je 0x1800049b4
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x1800049b4
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x1800049b4
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0x340]
cmp r8, 0x400000
jbe 0x180004995
lea rax, [rcx + 0x344]
cmp rax, rsi
jae 0x180004995
mov dword [r8], 0x3f800000
lea rcx, [rdx + 0x360]
cmp rcx, 0x400000
jbe 0x1800049b4
lea rax, [rdx + 0x361]
cmp rax, rsi
jae 0x1800049b4
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 0x180004a4c
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180004a4c
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004a4c
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0x340]
cmp r8, 0x400000
jbe 0x180004a2a
lea rax, [rcx + 0x341]
cmp rax, rsi
jae 0x180004a2a
mov byte [r8], 1
lea rcx, [rdx + 0x344]
cmp rcx, 0x400000
jbe 0x180004a4c
lea rax, [rdx + 0x348]
cmp rax, rsi
jae 0x180004a4c
mov dword [rcx], 0x3f800000
mov rcx, rbx
call fcn.180001870
mov rcx, rbx
call fcn.180001810
mov rcx, rbx
call fcn.180001ae0
jmp 0x1800049c4
cmp ecx, 0x67da
je 0x180004b31
cmp ecx, 0x6a09
je 0x1800046aa
cmp ecx, 0x7296
je 0x180004588
cmp ecx, 0x7340
je 0x180004588
jmp 0x1800049c4
cmp ecx, 0xc68b
ja 0x180004b94
je 0x180004588
cmp ecx, 0xab85
ja 0x180004af8
je 0x180004588
sub ecx, 0x77e9
je 0x1800046aa
sub ecx, 0x19a
je 0x1800046aa
sub ecx, 0x41
je 0x180004b31
sub ecx, 0x78d
je 0x180004588
cmp ecx, 0x1582
je 0x180004588
jmp 0x1800049c4
cmp ecx, 0xac02
je 0x180004588
cmp ecx, 0xb0a0
je 0x1800048dc
cmp ecx, 0xb32a
je 0x180004b31
cmp ecx, 0xc196
je 0x180004b31
cmp ecx, 0xc2dd
je 0x1800046aa
jmp 0x1800049c4
cmp byte [0x1800897a8], bpl
je 0x180004b77
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180004b77
lea rax, [rbx + 0xa0]
cmp rax, rsi
jae 0x180004b77
mov rax, qword [rcx]
lea rcx, [rax + 0x270]
cmp rcx, 0x400000
jbe 0x180004b77
add rax, 0x271
cmp rax, rsi
jae 0x180004b77
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 0x180004bec
je 0x180004bdf
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 0x1800049c4
mov rcx, rbx
call fcn.180001ae0
jmp 0x1800049b4
sub ecx, 0xf87e
je 0x1800046aa
sub ecx, 0x250
je 0x180004588
sub ecx, 0x5d
je 0x180004588
cmp ecx, 0x298
je 0x1800046aa
jmp 0x1800049c4