Function at 0x202449b0
Capabilities:
Encode data using xor

Disassembly:
jmp 0x2022d750
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2c8
mov ebp, r9d
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x40], rdx
mov r14, rcx
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x48], rax
mov eax, r9d
and eax, 0x1f
cmp eax, 0xc
jae 0x20244a57
cmp eax, 4
ja 0x20244aa7
cmp eax, 1
jbe 0x20244b3f
cmp eax, 2
je 0x20244cbe
cmp eax, 4
jne 0x20244cdf
nop
cmp qword [0x20573660], 0
mov esi, r14d
je 0x20244da3
test bpl, 0x20
je 0x202453e4
nop
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
xor esi, 0x918829c1
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov r9d, 0x584dba50
call fcn.202449b0
mov r12, rax
jmp 0x20244e01
cmp eax, 0x10
jae 0x20244b00
cmp eax, 0xd
ja 0x20244b5d
cmp eax, 0xc
jne 0x20244b9e
test r14, r14
mov qword [rsp + 0x38], r14
jle 0x20244ced
mov rax, qword [rsp + 0x40]
lea rcx, [rax + 0x40]
mov qword [rsp + 0x58], rcx
lea r13, [rax + 0x58]
mov rax, r13
mov qword [rsp + 0x60], r13
mov rdi, r14
mov r12, qword [rsp + 0x48]
jmp 0x2024540d
cmp eax, 7
jae 0x20244b82
cmp eax, 5
jne 0x20244bcf
lea rsi, [rsp + 0x88]
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, r14
call fcn.202455d0
mov r12, qword [rsp + 0x40]
mov rcx, r12
mov rdx, rsi
mov r8, qword [rsp + 0x48]
call fcn.2023fb30
lea rax, [0x204116e8]
mov qword [r12], rax
jmp 0x202455b1
je 0x20244bad
cmp eax, 0x13
ja 0x20244be7
cmp eax, 0x11
jbe 0x20244d02
cmp eax, 0x13
je 0x20244f38
nop
mov rcx, qword [rsp + 0x40]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.203cba2c
test eax, eax
je 0x20244c89
nop
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.203caf98
mov r12d, eax
jmp 0x202455b1
cmp eax, 0xf
jne 0x20244c36
nop
cmp qword [rsp + 0x40], r14
je 0x20244d8f
mov ebx, dword [0x20532740]
mov rsi, qword [rsp + 0x50]
jmp 0x202450b7
jne 0x20244c5f
nop
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.203ca5e0
xor r12d, r12d
jmp 0x202455b1
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rcx, r14
mov rdx, qword [rsp + 0x48]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
call fcn.200a9ad0
mov r12d, eax
jmp 0x202455b1
cmp eax, 0x14
jne 0x20244d20
nop
mov rcx, qword [rsp + 0x48]
mov edi, dword [rcx + 0x10]
or edi, r14d
xor eax, eax
cmp qword [rcx + 0x48], 0
mov esi, dword [0x20532740]
sete al
shl eax, 2
and edi, 0x17
or edi, eax
mov dword [rcx + 0x10], edi
and edi, dword [rcx + 0x14]
je 0x20244e01
test ebp, 0x1000
jne 0x20244e8e
mov qword [rsp + 0x38], r14
jmp 0x20245284
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0x10
movzx ecx, r14b
mov r8d, 0x95e47b0b
xor r8d, dword [0x20532738]
call fcn.20241250
movzx r12d, al
jmp 0x202455b1
cmp eax, 8
ja 0x20244d42
nop
mov rcx, qword [rsp + 0x50]
and cl, 1
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.203ca46c
mov qword [rsp + 0x38], r14
mov rax, qword [rsp + 0x50]
mov rdi, rax
test rax, rax
jle 0x20245008
mov rax, qword [rsp + 0x38]
lea rbx, [rax + 0x38]
lea r14, [rax + 0x50]
mov r15, r14
mov rdi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
jmp 0x20244f58
nop
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x48], rax
je 0x20244dbd
test bpl, bpl
js 0x20244dd7
xor edi, edi
jmp 0x20245008
call fcn.2022d730
movzx r12d, al
jmp 0x202455b1
mov rdi, r14
test bpl, 0x40
je 0x2024554b
xor r12d, r12d
jmp 0x202455b1
nop
mov rcx, qword [rsp + 0x50]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x20224a80
cmp eax, 0x15
jbe 0x20244dc7
cmp eax, 0x16
jne 0x20244ea0
mov rcx, r14
call fcn.203caa7c
xor r12d, r12d
jmp 0x202455b1
cmp eax, 0xb
je 0x20244e12
cmp eax, 9
jne 0x20244e5b
nop
mov esi, dword [0x20532740]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x80], r14
mov rcx, r14
call fcn.2014c780
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x20244a21
xor r12d, r12d
xor ebx, ebx
xor esi, esi
jmp 0x202450c6
test ebp, 0x100
je 0x20244e2c
mov r12, r14
jmp 0x202455b1
nop
mov qword [rsp + 0x38], r14
movzx eax, byte [0x205322eb]
cmp al, 0xf2
jne 0x20245213
jmp 0x2024528c
mov rax, qword [rsp + 0x48]
jmp 0x202450d2
mov rcx, r14
call fcn.203caaf4
xor r12d, r12d
jmp 0x202455b1
mov qword [rsp + 0x38], r14
test ebp, 0x200
je 0x2024528c
mov ebx, dword [0x20532738]
mov rax, qword [rsp + 0x50]
lea rdi, [rax + 0x10]
mov r12, qword [rsp + 0x48]
jmp 0x20245015
test bpl, bpl
js 0x202455b1
xor r12d, r12d
jmp 0x202455b1
nop
mov rsi, qword [r14]
mov rax, qword [rsi + 0x30]
mov rcx, r14
call qword [case.0x200c7fcc.0]
cmp eax, 0xffffffff
je 0x20244f26
nop
mov rax, qword [r14 + 0x50]
dec dword [rax]
mov rax, qword [r14 + 0x38]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
test bpl, bpl
nop
mov qword [rsp + 0x38], r14
mov eax, r14d
jns 0x20245221
movzx edi, byte [rcx]
jmp 0x20245405
nop
mov eax, dword [0x2053273c]
mov rdx, qword [rsp + 0x48]
add rdx, 0x10
movzx r8d, r14b
xor rax, 0x29b61fdb
mov qword [rsp + 0x20], rax
mov r9d, 0x10385546
call fcn.202449b0
movzx r12d, al
jmp 0x202455b1
xor r15d, r15d
test byte [rsp + 0x50], 1
jne 0x20244f0f
mov eax, r14d
jmp 0x202452bc
call fcn.202412b0
mov r15d, eax
mov r12, qword [0x20532880]
mov esi, dword [0x2053284c]
lea eax, [rsi + r15]
add eax, 0x3476
movsxd rdi, eax
add rdi, r12
mov ecx, 0x69c624ea
mov rax, rdi
call qword [case.0x200c7fcc.0]
test al, al
je 0x20244f0f
mov qword [rsp + 0x70], rdi
add esi, r15d
mov ebx, 0xffffcb8a
sub ebx, esi
lea rax, [rsp + 0x88]
mov qword [rsp + 0x58], rax
lea r13, [rsp + 0x80]
mov rax, r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x38], r14
mov rdi, r14
jmp 0x2024546b
mov qword [rsp + 0x38], r14
test ebp, 0x400
je 0x20244f48
xor esi, esi
xor r14d, r14d
jmp 0x20245058
mov ebx, 0xffffffff
mov edi, 0xffffffff
xor r12d, r12d
jmp 0x2024557d
nop
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
call fcn.203f23bc
xor edx, edx
xor r8d, r8d
mov r9d, 0x2a546993
call fcn.202449b0
nop
mov rax, qword [rbx]
mov rdx, qword [rax]
test rdx, rdx
je 0x20244fcd
nop
mov r12, qword [r15]
mov esi, dword [r12]
test esi, esi
jle 0x20244fd9
cmp rdi, rsi
cmovb rsi, rdi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x28], 0xc1e30693
mov rcx, rsi
call fcn.202455d0
add r13, rsi
sub rdi, rsi
mov rax, qword [r14]
mov ecx, dword [rax]
mov edx, ecx
sub edx, esi
mov dword [rax], edx
mov rax, qword [rbx]
add qword [rax], rsi
test bpl, 0x20
je 0x20244ffc
lea rax, [rsp + 0x68]
mov qword [rsp + 0x58], rax
lea r13, [rsp + 0x78]
lea rax, [rsp + 0x98]
mov rdx, rax
mov qword [rsp + 0x60], rax
jmp 0x20245115
test ebp, 0x800
jne 0x202453ba
nop
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
call qword [case.0x200c7fcc.0]
cmp eax, 0xffffffff
je 0x20245008
nop
mov byte [r13], al
inc r13
dec rdi
xor r12d, r12d
test rdi, rdi
jg 0x202455a5
mov r12, qword [rsp + 0x50]
sub r12, rdi
jmp 0x202455b1
nop
movzx r15d, byte [r12]
mov eax, ebx
xor eax, 0x4c145389
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov r8, r15
mov r9d, 0xbf70bcc6
call fcn.202449b0
mov byte [r12], al
inc r12
xor r14d, r14d
cmp r12, qword [rsp + 0x40]
mov esi, 0
je 0x202455b1
test bpl, 0x20
jne 0x20245015
lea rdi, [rsp + 0xc0]
mov r8d, 0x200
mov rcx, rdi
xor edx, edx
call fcn.203f1830
mov rcx, qword [0x20532850]
mov eax, dword [0x2053283c]
add eax, r15d
add eax, 0x3476
cdqe
add rax, rcx
mov rcx, rsi
mov rsi, qword [rsp + 0x50]
mov edx, esi
mov r8, rdi
mov r9d, 0x200
call qword [case.0x200c7fcc.0]
test eax, eax
je 0x202450e4
mov ebx, esi
test bpl, bpl
mov r14, qword [rsp + 0x38]
jns 0x2024518e
mov rax, rsi
mov qword [rsp + 0x50], rsi
add rsi, 0x10
mov r12, r14
test bpl, 0x40
je 0x20245555
xor eax, eax
xor r12d, r12d
test ebp, 0x100
cmovne r12, rax
jmp 0x202455b1
lea r12, [rsp + 0x68]
mov rax, rdi
mov qword [rsp + 0x60], rdi
mov rdi, rsi
mov qword [rsp + 0x58], r12
mov r13, r12
mov edx, esi
test ebp, 0x100
jne 0x20245156
nop
mov rcx, qword [r13]
mov ecx, dword [rcx]
test ecx, ecx
jle 0x20245432
mov esi, ecx
cmp rdi, rsi
cmovb rsi, rdi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rcx, rsi
mov rdx, r12
call fcn.202455d0
add r12, rsi
sub rdi, rsi
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
sub dword [rax], esi
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
add qword [rax], rsi
jmp 0x2024550a
nop
mov rcx, qword [0x20532850]
mov eax, dword [0x2053283c]
mov esi, 0xffffcb8a
sub esi, r15d
sub eax, esi
cdqe
add rax, rcx
lea r8, [rsp + 0xc0]
mov rcx, r14
mov r9d, 0x200
call qword [case.0x200c7fcc.0]
test eax, eax
je 0x202451ca
nop
mov rcx, qword [0x20532868]
mov eax, dword [0x20532834]
add eax, r15d
add eax, 0x3476
cdqe
add rax, rcx
lea rdx, [rsp + 0xc0]
mov rcx, qword [rsp + 0x48]
mov r8d, 0x575e7614
call qword [case.0x200c7fcc.0]
mov r12d, 1
jmp 0x2024520e
nop
mov rcx, qword [0x20532870]
mov eax, dword [0x20532830]
sub eax, esi
cdqe
add rax, rcx
call qword [case.0x200c7fcc.0]
mov rcx, qword [0x20532888]
mov edx, dword [0x20532848]
sub edx, esi
movsxd r8, edx
add r8, rcx
mov rcx, qword [rsp + 0x48]
mov rdx, rax
mov rax, r8
call qword [case.0x200c7fcc.0]
xor r12d, r12d
jmp 0x202455b1
mov cl, 0xfc
mov al, 0xe
lock cmpxchg byte [0x205322eb], cl
je 0x20245233
cmp al, 0xf2
jne 0x20245213
test ebp, 0x100
je 0x20244c9f
jmp 0x2024528c
test ebp, 0x400
jne 0x20245256
xor eax, eax
mov qword [rsp + 0x60], rax
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0x58], rax
xor r12d, r12d
xor edi, edi
jmp 0x2024550a
nop
movq xmm0, qword [0x205322e0]
paddb xmm0, xmmword [0x2041fc10]
movq qword [0x205322e0], xmm0
add byte [0x205322e8], 0x4b
add byte [0x205322e9], 0xdc
add byte [0x205322ea], 0xfa
mov al, 0xf2
xchg byte [0x205322eb], al
nop
movzx eax, byte [0x205322fc]
cmp al, 0x23
nop
mov r14, qword [rsp + 0x38]
je 0x202453bf
mov cl, 0xd9
mov al, 0xf7
lock cmpxchg byte [0x205322fc], cl
je 0x202452cb
mov rcx, qword [rsp + 0x48]
mov edi, ecx
mov rsi, qword [rsp + 0x40]
test bpl, 0x40
jne 0x202452d7
cmp al, 0x23
jne 0x202452a2
jmp 0x202453bf
mov qword [rsp + 0x38], r14
xor edi, edi
jmp 0x20245515
mov ecx, esi
xor ecx, 0x695b0e7
call fcn.20241200
mov ecx, esi
xor ecx, 0x40937c48
call fcn.20241270
test dil, 2
lea rax, [0x205320c0]
lea rbx, [0x205320a0]
cmove rbx, rax
xor esi, 0x63ddf635
mov dword [rsp + 0x28], 0xfd00c657
mov rcx, rsi
call fcn.202455d0
test dil, 4
lea rsi, [0x20532080]
cmove rsi, rbx
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov edx, 1
call fcn.200693e0
lea rbx, [rsp + 0x98]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.20079be0
lea r8, [0x2046c8b8]
mov rdx, rbx
mov r9d, 0x7e3aef13
call fcn.202449b0
nop dword [rax]
mov esi, ecx
imul rsi, r9
shr rsi, 0x23
add esi, esi
lea esi, [rsi + rsi*4]
lea edi, [rax + rsi]
add esi, r8d
movzx ebx, byte [rsi + r11]
xor bl, 0xb3
add byte [rdx + r10 - 1], bl
movzx ebx, byte [rdi + r11]
xor bl, 0xb3
add byte [rdx + r10], bl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
cmp rdx, 0xd
jne 0x20245370
mov al, 0x23
xchg byte [0x205322fc], al
mov r14, qword [rsp + 0x38]
lea rax, [0x205322f0]
mov qword [rsp + 0x20], rax
lea rcx, [0x205322e0]
mov r9d, 0x8baa6ce9
call fcn.202449b0
mov qword [0x20573660], rax
nop
mov rcx, qword [rsp + 0x40]
mov edx, r14d
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
call qword [0x20573660]
mov r12d, eax
jmp 0x202455b1
mov r12, rdi
jmp 0x202455b1
nop
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rax, qword [rax]
test rax, rax
nop
mov rcx, qword [rsp + 0x38]
mov edx, ecx
mov r14, r13
mov r15, qword [rsp + 0x40]
jne 0x202450fe
nop
movzx r15d, byte [r12]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov edx, r15d
call qword [case.0x200c7fcc.0]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x70], rcx
cmp eax, 0xffffffff
nop
mov rax, qword [rsp + 0x38]
mov ebx, eax
je 0x20245515
test ebp, 0x200
jne 0x20245504
nop
mov rcx, qword [0x20532860]
mov eax, dword [0x20532840]
mov edi, 0xffffcb8a
sub edi, r15d
sub eax, edi
cdqe
add rax, rcx
mov ecx, 0xd85fc820
call qword [case.0x200c7fcc.0]
mov r14, rax
mov rcx, qword [0x20532878]
mov eax, dword [0x20532838]
sub eax, edi
cdqe
add rax, rcx
mov rcx, r14
mov edx, 0x923fbfbf
call qword [case.0x200c7fcc.0]
mov rsi, rax
mov rcx, qword [0x20532858]
mov eax, dword [0x20532844]
sub eax, edi
cdqe
add rax, rcx
mov rcx, r14
mov edx, 0xac504040
call qword [case.0x200c7fcc.0]
mov r14, rax
xor r12d, r12d
nop
mov rdi, qword [rsp + 0x70]
test bpl, 0x20
jne 0x20245015
jmp 0x20245058
inc r12
dec rdi
test rdi, rdi
jg 0x2024540d
jmp 0x2024554b
test ebp, 0x2000
jne 0x2024554b
mov eax, 0xa8fd939e
mov ecx, 0x57026c6a
mov edx, 1
mov r8d, 0xa8fd939f
mov r9d, 0xcccccccd
lea r10, [0x205322f0]
lea r11, [0x20420210]
jmp 0x20245370
mov r12, qword [rsp + 0x38]
sub r12, rdi
jmp 0x202455b1
nop
movzx ecx, byte [r12]
mov r8d, ebx
xor r8d, 0xb4899ad5
mov rdx, rsi
call fcn.20241250
mov byte [r12], al
inc r12
xor edi, edi
cmp r12, qword [rsp + 0x40]
je 0x20245588
test bpl, 0x20
jne 0x20245555
jmp 0x20245405
mov qword [rsp + 0x38], r14
lea rbx, [rsp + 0x80]
lea r15, [rsp + 0x68]
lea r14, [rsp + 0x88]
xor r13d, r13d
test ebp, 0x200
je 0x20244f58
mov rax, r12
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret