Function at 0x180043180
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x20], r9d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
lea ebx, [r9 + 0x81f]
mov edi, r9d
mov dword [rsp + 0x40], ebx
mov r13, rdx
mov r12, rcx
cmp r9d, ebx
jae 0x180043520
movzx r14d, word [rsp + 0xd8]
xor ebx, ebx
movzx r15d, word [rsp + 0xd8]
mov eax, dword [rsp + 0x40]
lea rcx, [0x1800285a0]
cmp edi, 0x29c
ja 0x180043492
je 0x180043455
mov eax, edi
sub eax, 0xd
je 0x18004330a
sub eax, 0x88
je 0x180043256
sub eax, 0x8d
je 0x18004322d
sub eax, 1
je 0x1800436c8
cmp eax, 0xbc
jne 0x1800436aa
mov rax, qword [rsp + 0x48]
add dword [rax + 0x10], 8
jmp 0x1800436aa
mov rsi, qword [r13 + 0x10]
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x48], rsi
lea r8d, [rdx + 0xf]
mov dword [rsi + 0x10], ebx
call fcn.180038f20
mov rcx, qword [0x180088208]
mov qword [rax], rcx
jmp 0x1800436aa
mov rax, qword [r12]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], r12
test r13, r13
je 0x1800436aa
cmp qword [r13 + 8], 0
mov rsi, rbx
jbe 0x1800432f8
mov qword [rsp + 0x60], rcx
mov rdi, rbx
nop word [rax + rax]
mov rcx, qword [r13]
lea r9, [rsp + 0x60]
mov r8d, 0x69
lea rdx, [rsp + 0x78]
movsd xmm0, qword [rcx + rdi + 8]
movsd qword [rsp + 0x68], xmm0
mov eax, dword [rcx + rdi + 0x10]
mov dword [rsp + 0x70], eax
mov rax, qword [rcx + rdi]
mov rcx, qword [r12 + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [r12 + 0x28]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.180024b30
inc rsi
lea rdi, [rdi + 0x18]
cmp rsi, qword [r13 + 8]
jb 0x180043290
lea rcx, [0x1800285a0]
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x180043270
jmp 0x1800436a3
test r12, r12
je 0x1800436aa
mov ebp, 0x4b
nop dword [rax + rax]
mov eax, ebp
sub eax, 0x47
je 0x18004343d
sub eax, 1
je 0x18004342c
sub eax, 1
je 0x18004341b
sub eax, 1
je 0x1800433ba
cmp eax, 1
jne 0x180043445
mov rcx, qword [r12]
mov edx, 0xad
call fcn.180040160
mov rdx, qword [r12 + 8]
mov r8d, 0x9c
xor ecx, ecx
call fcn.180041aa0
mov rsi, qword [r12 + 0x10]
mov edi, 0x50
mov eax, edi
sub eax, 0x41
je 0x18004339d
sub eax, 1
je 0x1800433a4
sub eax, 4
je 0x1800433a4
sub eax, 5
je 0x1800433a4
cmp eax, 5
jne 0x18004339d
test rsi, rsi
je 0x18004339d
mov rcx, rsi
call fcn.18004c3dc
inc edi
cmp edi, 0x55
jb 0x180043375
mov rdx, qword [r12 + 0x18]
xor r8d, r8d
lea ecx, [r8 + 0x18]
call fcn.1800235d0
jmp 0x180043445
mov rdx, qword [r12 + 0x20]
mov r8d, 0x9c
xor ecx, ecx
call fcn.180041aa0
mov rsi, qword [r12 + 0x28]
mov edi, 0x50
mov eax, edi
sub eax, 0x41
je 0x1800433fe
sub eax, 1
je 0x180043405
sub eax, 4
je 0x180043405
sub eax, 5
je 0x180043405
cmp eax, 5
jne 0x1800433fe
test rsi, rsi
je 0x1800433fe
mov rcx, rsi
call fcn.18004c3dc
inc edi
cmp edi, 0x55
jb 0x1800433d6
mov r9, qword [r12 + 0x30]
xor r8d, r8d
mov edx, 0xf3
xor ecx, ecx
call fcn.18000f970
jmp 0x180043445
mov rcx, qword [r12 + 0x38]
mov edx, 0xad
call fcn.180040160
jmp 0x180043445
mov rcx, qword [r12 + 0x40]
mov edx, 0xad
call fcn.180040160
jmp 0x180043445
mov rcx, r12
call fcn.18004c3dc
dec ebp
cmp ebp, 0x46
ja 0x180043320
jmp 0x1800436a3
mov r9, r13
xor edx, edx
xor ecx, ecx
mov r8d, 0x11d
call fcn.18003abc0
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x10]
and eax, 0x80000003
jge 0x18004347d
dec eax
or eax, 0xfffffffc
inc eax
mov ebp, 4
sub ebp, eax
test eax, eax
cmove ebp, ebx
mov dword [rsp + 0x44], ebp
jmp 0x1800436aa
cmp edi, 0x359
je 0x180043677
cmp edi, 0x416
je 0x180043546
cmp edi, 0x4d3
je 0x1800434d0
cmp edi, 0x590
je 0x1800434c7
cmp edi, 0x64d
je 0x180043520
jmp 0x1800436ae
mov dword [rsp + 0x50], ebx
jmp 0x1800436ae
mov rsi, qword [rsp + 0x48]
movzx edx, r14w
shr dx, 8
movsxd rcx, dword [rsi + 0x10]
mov rax, qword [rsi]
mov byte [rcx + rax], dl
movsxd rcx, dword [rsi + 0x10]
lea eax, [rcx + 1]
mov dword [rsi + 0x10], eax
mov rax, qword [rsi]
mov byte [rcx + rax + 1], r14b
inc dword [rsi + 0x10]
mov r8d, dword [rsi + 0x10]
mov ecx, dword [r12]
mov rdx, qword [rsi]
call fcn.18005470c
movsxd rcx, eax
movsxd rax, dword [rsi + 0x10]
cmp rcx, rax
jne 0x1800436aa
mov dword [rsp + 0x50], ecx
mov rax, qword [rsp + 0x50]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rcx, qword [rsp + 0x48]
xor edx, edx
lea r8d, [rdx + 0xf]
call fcn.180038f20
mov ecx, dword [str.eeee]
mov r14d, 0x19
mov rdx, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov dword [rax], ecx
movzx ecx, byte [0x180088214]
mov byte [rax + 4], cl
movsxd rcx, dword [rdx + 0x10]
lea eax, [rcx + 5]
mov dword [rdx + 0x10], eax
mov rax, qword [rdx]
mov byte [rcx + rax + 5], r8b
inc dword [rdx + 0x10]
mov esi, dword [rdx + 0x10]
mov rbp, qword [rdx]
mov eax, r14d
sub eax, 0x19
je 0x180043615
sub eax, 0x70
je 0x1800435dc
sub eax, 0x3e
je 0x1800435c6
cmp eax, 0x10e6
jne 0x18004365b
rol r15w, 8
mov word [rsp + 0x58], r15w
movzx r14d, word [rsp + 0x58]
jmp 0x1800436a3
test rbp, rbp
je 0x18004365b
mov rcx, rbp
call fcn.18004c3dc
jmp 0x18004365b
mov edi, 0x53
cmp edi, 0x53
je 0x1800435f0
cmp edi, 0xff
je 0x1800435bb
jmp 0x180043605
mov ecx, reloc.SHELL32.dll_ILFindLastID
call fcn.18004c3e4
xorps xmm0, xmm0
mov qword [rsp + 0x58], rax
movups xmmword [rax], xmm0
add edi, 0xac
cmp edi, 0x1ab
jb 0x1800435e1
jmp 0x18004365b
mov r15d, 0xffff
test esi, esi
je 0x180043655
lea rbx, section..data
nop word [rax + rax]
movzx ecx, byte [rbp]
inc rbp
movzx eax, r15w
xor rcx, rax
shr r15w, 8
movzx eax, cl
movzx eax, word [rbx + rax*2]
xor r15w, ax
sub esi, 1
jne 0x180043630
xor ebx, ebx
dec esi
not r15w
add r14d, 0x1194
cmp r14d, 0x4650
jbe 0x180043593
movzx r14d, word [rsp + 0x58]
jmp 0x1800436a3
movsxd rbp, dword [rsp + 0x44]
test ebp, ebp
je 0x1800436ae
mov rsi, qword [rsp + 0x48]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0xf]
call fcn.180038f20
mov rcx, rax
mov r8, rbp
xor edx, edx
call fcn.180047d20
add dword [rsi + 0x10], ebp
mov edi, dword [rsp + 0xd8]
mov eax, dword [rsp + 0x40]
add edi, 0xbd
mov dword [rsp + 0xd8], edi
cmp edi, eax
jae 0x180043520
jmp 0x1800431d9
mov rax, rbx
jmp 0x180043525