Function at 0x140020df0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb28
cmp qword [section..data], 0x1010
jne 0x1400210c6
call fcn.1400708c0
mov qword [rsp + 0x90], 0xd54
mov qword [rsp + 0x30], 0xe1c
mov qword [rsp + 0x918], 0
xor ecx, ecx
nop dword [rax]
mov edx, ecx
mov byte [rsp + rcx + 0x920], cl
mov rdx, rcx
inc rdx
mov rcx, rdx
cmp rdx, 0x100
jne 0x140020e40
xor ecx, ecx
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0x918]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x90]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0x920]
mov byte [rsp + rdx + 0x918], bl
mov byte [rsp + r11 + 0x920], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, ecx
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140020e70
movzx ecx, byte [rsp + 0x921]
mov edx, ecx
movzx r8d, byte [rsp + rcx + 0x920]
mov byte [rsp + 0x921], r8b
mov byte [rsp + rcx + 0x920], cl
add r8b, cl
movzx ecx, r8b
movzx ecx, byte [rsp + rcx + 0x920]
xor cl, 0x1c
mov byte [rsp + 0x30], cl
movzx ecx, byte [rsp + 0x922]
mov r8b, cl
mov r9b, dl
lea edx, [r8 + r9]
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x920]
mov byte [rsp + 0x922], r9b
mov byte [rsp + r8 + 0x920], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x920]
xor cl, 0xe
mov byte [rsp + 0x31], cl
movzx ecx, byte [rsp + 0x923]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x920]
mov byte [rsp + 0x923], r9b
mov byte [rsp + r8 + 0x920], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x920]
mov byte [rsp + 0x32], cl
movzx ecx, byte [rsp + 0x924]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x920]
mov byte [rsp + 0x924], r9b
mov byte [rsp + r8 + 0x920], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x920]
mov byte [rsp + 0x33], cl
movzx ecx, byte [rsp + 0x925]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x920]
mov byte [rsp + 0x925], r9b
mov byte [rsp + r8 + 0x920], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x920]
mov byte [rsp + 0x34], cl
movzx ecx, byte [rsp + 0x926]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x920]
mov byte [rsp + 0x926], r9b
mov byte [rsp + r8 + 0x920], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x920]
mov byte [rsp + 0x35], cl
movzx ecx, byte [rsp + 0x927]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x920]
mov byte [rsp + 0x927], r9b
mov byte [rsp + r8 + 0x920], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x920]
mov byte [rsp + 0x36], cl
movzx ecx, byte [rsp + 0x928]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x920]
mov byte [rsp + 0x928], r9b
mov byte [rsp + r8 + 0x920], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x920]
xor byte [rsp + 0x37], cl
mov dword [rsp + 0x918], 8
mov dword [rsp + 0x91c], edx
xor rax, qword [rsp + 0x30]
mov qword [section..data], rax
mov rax, qword [section..data]
mov qword [rsp + 0xd0], 0xd54
mov qword [rsp + 0x70], 0xe1c
mov qword [rsp + 0x708], 0
xor ecx, ecx
mov edx, ecx
mov byte [rsp + rcx + 0x710], cl
mov rdx, rcx
inc rdx
mov rcx, rdx
cmp rdx, 0x100
jne 0x1400210f0
xor ecx, ecx
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0x708]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xd0]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0x710]
mov byte [rsp + rdx + 0x708], bl
mov byte [rsp + r11 + 0x710], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, ecx
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140021120
movzx ecx, byte [rsp + 0x711]
mov edx, ecx
movzx r8d, byte [rsp + rcx + 0x710]
mov byte [rsp + 0x711], r8b
mov byte [rsp + rcx + 0x710], cl
add r8b, cl
movzx ecx, r8b
movzx ecx, byte [rsp + rcx + 0x710]
xor cl, 0x1c
mov byte [rsp + 0x70], cl
movzx ecx, byte [rsp + 0x712]
mov r8b, cl
mov r9b, dl
lea edx, [r8 + r9]
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x710]
mov byte [rsp + 0x712], r9b
mov byte [rsp + r8 + 0x710], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x710]
xor cl, 0xe
mov byte [rsp + 0x71], cl
movzx ecx, byte [rsp + 0x713]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x710]
mov byte [rsp + 0x713], r9b
mov byte [rsp + r8 + 0x710], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x710]
mov byte [rsp + 0x72], cl
movzx ecx, byte [rsp + 0x714]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x710]
mov byte [rsp + 0x714], r9b
mov byte [rsp + r8 + 0x710], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x710]
mov byte [rsp + 0x73], cl
movzx ecx, byte [rsp + 0x715]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x710]
mov byte [rsp + 0x715], r9b
mov byte [rsp + r8 + 0x710], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x710]
mov byte [rsp + 0x74], cl
movzx ecx, byte [rsp + 0x716]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x710]
mov byte [rsp + 0x716], r9b
mov byte [rsp + r8 + 0x710], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x710]
mov byte [rsp + 0x75], cl
movzx ecx, byte [rsp + 0x717]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x710]
mov byte [rsp + 0x717], r9b
mov byte [rsp + r8 + 0x710], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x710]
mov byte [rsp + 0x76], cl
movzx ecx, byte [rsp + 0x718]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x710]
mov byte [rsp + 0x718], r9b
mov byte [rsp + r8 + 0x710], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x710]
xor byte [rsp + 0x77], cl
mov dword [rsp + 0x708], 8
mov dword [rsp + 0x70c], edx
xor rax, qword [rsp + 0x70]
mov rcx, qword [section..data]
mov qword [rsp + 0xc8], 0xd54
mov qword [rsp + 0x68], 0xe1c
mov dword [rsp + 0xd8], 0
mov dword [rsp + 0xdc], 0
xor edx, edx
nop word cs:[rax + rax]
mov r8d, edx
mov byte [rsp + rdx + 0xe0], dl
mov r8, rdx
inc r8
mov rdx, r8
cmp r8, 0x100
jne 0x1400213b0
xor edx, edx
mov r8d, 8
xor r9d, r9d
xor r10d, r10d
nop word [rax + rax]
movzx r11d, byte [rsp + r8 + 0xd8]
add r9b, r11b
movsxd r10, r10d
add r9b, byte [rsp + r10 + 0xc8]
movzx esi, r9b
movzx ebx, byte [rsp + rsi + 0xe0]
mov byte [rsp + r8 + 0xd8], bl
mov byte [rsp + rsi + 0xe0], r11b
cmp r10d, 7
lea r10d, [r10 + 1]
cmovge r10d, edx
mov r11, r8
inc r11
mov r8, r11
cmp r11, 0x108
jne 0x1400213e0
movzx edx, byte [rsp + 0xe1]
mov r8d, edx
movzx r9d, byte [rsp + rdx + 0xe0]
mov byte [rsp + 0xe1], r9b
mov byte [rsp + rdx + 0xe0], dl
add r9b, dl
movzx edx, r9b
movzx edx, byte [rsp + rdx + 0xe0]
xor dl, 0x1c
mov byte [rsp + 0x68], dl
movzx edx, byte [rsp + 0xe2]
mov r9b, dl
mov r10b, r8b
lea r8d, [r9 + r10]
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0xe0]
mov byte [rsp + 0xe2], r10b
mov byte [rsp + r9 + 0xe0], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0xe0]
xor dl, 0xe
mov byte [rsp + 0x69], dl
movzx edx, byte [rsp + 0xe3]
add r8b, dl
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0xe0]
mov byte [rsp + 0xe3], r10b
mov byte [rsp + r9 + 0xe0], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0xe0]
mov byte [rsp + 0x6a], dl
movzx edx, byte [rsp + 0xe4]
add r8b, dl
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0xe0]
mov byte [rsp + 0xe4], r10b
mov byte [rsp + r9 + 0xe0], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0xe0]
mov byte [rsp + 0x6b], dl
movzx edx, byte [rsp + 0xe5]
add r8b, dl
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0xe0]
mov byte [rsp + 0xe5], r10b
mov byte [rsp + r9 + 0xe0], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0xe0]
mov byte [rsp + 0x6c], dl
movzx edx, byte [rsp + 0xe6]
add r8b, dl
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0xe0]
mov byte [rsp + 0xe6], r10b
mov byte [rsp + r9 + 0xe0], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0xe0]
mov byte [rsp + 0x6d], dl
movzx edx, byte [rsp + 0xe7]
add r8b, dl
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0xe0]
mov byte [rsp + 0xe7], r10b
mov byte [rsp + r9 + 0xe0], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0xe0]
mov byte [rsp + 0x6e], dl
movzx edx, byte [rsp + 0xe8]
add r8b, dl
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0xe0]
mov byte [rsp + 0xe8], r10b
mov byte [rsp + r9 + 0xe0], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0xe0]
xor byte [rsp + 0x6f], dl
mov dword [rsp + 0xd8], 8
mov dword [rsp + 0xdc], r8d
xor rcx, qword [rsp + 0x68]
movsxd rdx, dword [rax + 0x3c]
mov rax, qword [section..data]
mov qword [rsp + 0xc0], 0xd54
mov qword [rsp + 0x60], 0xe1c
mov dword [rsp + 0x1e0], 0
mov dword [rsp + 0x1e4], 0
xor r8d, r8d
nop word [rax + rax]
mov r9d, r8d
mov byte [rsp + r8 + 0x1e8], r8b
mov r9, r8
inc r9
mov r8, r9
cmp r9, 0x100
jne 0x140021680
xor r8d, r8d
mov r9d, 8
xor r10d, r10d
xor r11d, r11d
nop dword [rax]
movzx ebx, byte [rsp + r9 + 0x1e0]
add r10b, bl
movsxd r11, r11d
add r10b, byte [rsp + r11 + 0xc0]
movzx esi, r10b
movzx edi, byte [rsp + rsi + 0x1e8]
mov byte [rsp + r9 + 0x1e0], dil
mov byte [rsp + rsi + 0x1e8], bl
cmp r11d, 7
lea r11d, [r11 + 1]
cmovge r11d, r8d
mov rsi, r9
inc rsi
mov r9, rsi
cmp rsi, 0x108
jne 0x1400216b0
movzx r8d, byte [rsp + 0x1e9]
mov r9d, r8d
movzx r10d, byte [rsp + r8 + 0x1e8]
mov byte [rsp + 0x1e9], r10b
mov byte [rsp + r8 + 0x1e8], r8b
add r10b, r8b
movzx r8d, r10b
movzx r8d, byte [rsp + r8 + 0x1e8]
xor r8b, 0x1c
mov byte [rsp + 0x60], r8b
movzx r8d, byte [rsp + 0x1ea]
mov r10b, r8b
mov r11b, r9b
lea r9d, [r10 + r11]
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x1e8]
mov byte [rsp + 0x1ea], r11b
mov byte [rsp + r10 + 0x1e8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x1e8]
xor r8b, 0xe
mov byte [rsp + 0x61], r8b
movzx r8d, byte [rsp + 0x1eb]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x1e8]
mov byte [rsp + 0x1eb], r11b
mov byte [rsp + r10 + 0x1e8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x1e8]
mov byte [rsp + 0x62], r8b
movzx r8d, byte [rsp + 0x1ec]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x1e8]
mov byte [rsp + 0x1ec], r11b
mov byte [rsp + r10 + 0x1e8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x1e8]
mov byte [rsp + 0x63], r8b
movzx r8d, byte [rsp + 0x1ed]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x1e8]
mov byte [rsp + 0x1ed], r11b
mov byte [rsp + r10 + 0x1e8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x1e8]
mov byte [rsp + 0x64], r8b
movzx r8d, byte [rsp + 0x1ee]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x1e8]
mov byte [rsp + 0x1ee], r11b
mov byte [rsp + r10 + 0x1e8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x1e8]
mov byte [rsp + 0x65], r8b
movzx r8d, byte [rsp + 0x1ef]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x1e8]
mov byte [rsp + 0x1ef], r11b
mov byte [rsp + r10 + 0x1e8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x1e8]
mov byte [rsp + 0x66], r8b
movzx r8d, byte [rsp + 0x1f0]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x1e8]
mov byte [rsp + 0x1f0], r11b
mov byte [rsp + r10 + 0x1e8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x1e8]
xor byte [rsp + 0x67], r8b
mov dword [rsp + 0x1e0], 8
mov dword [rsp + 0x1e4], r9d
xor rax, qword [rsp + 0x60]
mov ecx, dword [rdx + rcx + 0x88]
mov rdx, qword [section..data]
mov qword [rsp + 0xb8], 0xd54
mov qword [rsp + 0x58], 0xe1c
mov dword [rsp + 0x2e8], 0
mov dword [rsp + 0x2ec], 0
xor r8d, r8d
nop word cs:[rax + rax]
mov r9d, r8d
mov byte [rsp + r8 + 0x2f0], r8b
mov r9, r8
inc r9
mov r8, r9
cmp r9, 0x100
jne 0x140021970
xor r8d, r8d
mov r9d, 8
xor r10d, r10d
xor r11d, r11d
nop dword [rax]
movzx ebx, byte [rsp + r9 + 0x2e8]
add r10b, bl
movsxd r11, r11d
add r10b, byte [rsp + r11 + 0xb8]
movzx esi, r10b
movzx edi, byte [rsp + rsi + 0x2f0]
mov byte [rsp + r9 + 0x2e8], dil
mov byte [rsp + rsi + 0x2f0], bl
cmp r11d, 7
lea r11d, [r11 + 1]
cmovge r11d, r8d
mov rsi, r9
inc rsi
mov r9, rsi
cmp rsi, 0x108
jne 0x1400219a0
movzx r8d, byte [rsp + 0x2f1]
mov r9d, r8d
movzx r10d, byte [rsp + r8 + 0x2f0]
mov byte [rsp + 0x2f1], r10b
mov byte [rsp + r8 + 0x2f0], r8b
add r10b, r8b
movzx r8d, r10b
movzx r8d, byte [rsp + r8 + 0x2f0]
xor r8b, 0x1c
mov byte [rsp + 0x58], r8b
movzx r8d, byte [rsp + 0x2f2]
mov r10b, r8b
mov r11b, r9b
lea r9d, [r10 + r11]
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x2f0]
mov byte [rsp + 0x2f2], r11b
mov byte [rsp + r10 + 0x2f0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x2f0]
xor r8b, 0xe
mov byte [rsp + 0x59], r8b
movzx r8d, byte [rsp + 0x2f3]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x2f0]
mov byte [rsp + 0x2f3], r11b
mov byte [rsp + r10 + 0x2f0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x2f0]
mov byte [rsp + 0x5a], r8b
movzx r8d, byte [rsp + 0x2f4]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x2f0]
mov byte [rsp + 0x2f4], r11b
mov byte [rsp + r10 + 0x2f0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x2f0]
mov byte [rsp + 0x5b], r8b
movzx r8d, byte [rsp + 0x2f5]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x2f0]
mov byte [rsp + 0x2f5], r11b
mov byte [rsp + r10 + 0x2f0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x2f0]
mov byte [rsp + 0x5c], r8b
movzx r8d, byte [rsp + 0x2f6]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x2f0]
mov byte [rsp + 0x2f6], r11b
mov byte [rsp + r10 + 0x2f0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x2f0]
mov byte [rsp + 0x5d], r8b
movzx r8d, byte [rsp + 0x2f7]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x2f0]
mov byte [rsp + 0x2f7], r11b
mov byte [rsp + r10 + 0x2f0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x2f0]
mov byte [rsp + 0x5e], r8b
movzx r8d, byte [rsp + 0x2f8]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x2f0]
mov byte [rsp + 0x2f8], r11b
mov byte [rsp + r10 + 0x2f0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x2f0]
xor byte [rsp + 0x5f], r8b
mov dword [rsp + 0x2e8], 8
mov dword [rsp + 0x2ec], r9d
mov r8, rdx
xor r8, qword [rsp + 0x58]
mov edx, dword [rcx + rax + 0x1c]
add rdx, r8
mov r8, qword [section..data]
mov qword [rsp + 0xb0], 0xd54
mov qword [rsp + 0x50], 0xe1c
mov dword [rsp + 0x3f0], 0
mov dword [rsp + 0x3f4], 0
xor r9d, r9d
nop word [rax + rax]
mov r10d, r9d
mov byte [rsp + r9 + 0x3f8], r9b
mov r10, r9
inc r10
mov r9, r10
cmp r10, 0x100
jne 0x140021c60
xor r9d, r9d
mov r10d, 8
xor r11d, r11d
xor esi, esi
nop dword [rax + rax]
movzx ebx, byte [rsp + r10 + 0x3f0]
add r11b, bl
movsxd rsi, esi
add r11b, byte [rsp + rsi + 0xb0]
movzx edi, r11b
movzx ebp, byte [rsp + rdi + 0x3f8]
mov byte [rsp + r10 + 0x3f0], bpl
mov byte [rsp + rdi + 0x3f8], bl
cmp esi, 7
lea esi, [rsi + 1]
cmovge esi, r9d
mov rdi, r10
inc rdi
mov r10, rdi
cmp rdi, 0x108
jne 0x140021c90
movzx r9d, byte [rsp + 0x3f9]
mov r10d, r9d
movzx r11d, byte [rsp + r9 + 0x3f8]
mov byte [rsp + 0x3f9], r11b
mov byte [rsp + r9 + 0x3f8], r9b
add r11b, r9b
movzx r9d, r11b
movzx r9d, byte [rsp + r9 + 0x3f8]
xor r9b, 0x1c
mov byte [rsp + 0x50], r9b
movzx r9d, byte [rsp + 0x3fa]
mov r11b, r9b
mov sil, r10b
lea r10d, [r11 + rsi]
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x3f8]
mov byte [rsp + 0x3fa], bl
mov byte [rsp + r11 + 0x3f8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x3f8]
xor r9b, 0xe
mov byte [rsp + 0x51], r9b
movzx r9d, byte [rsp + 0x3fb]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x3f8]
mov byte [rsp + 0x3fb], bl
mov byte [rsp + r11 + 0x3f8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x3f8]
mov byte [rsp + 0x52], r9b
movzx r9d, byte [rsp + 0x3fc]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x3f8]
mov byte [rsp + 0x3fc], bl
mov byte [rsp + r11 + 0x3f8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x3f8]
mov byte [rsp + 0x53], r9b
movzx r9d, byte [rsp + 0x3fd]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x3f8]
mov byte [rsp + 0x3fd], bl
mov byte [rsp + r11 + 0x3f8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x3f8]
mov byte [rsp + 0x54], r9b
movzx r9d, byte [rsp + 0x3fe]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x3f8]
mov byte [rsp + 0x3fe], bl
mov byte [rsp + r11 + 0x3f8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x3f8]
mov byte [rsp + 0x55], r9b
movzx r9d, byte [rsp + 0x3ff]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x3f8]
mov byte [rsp + 0x3ff], bl
mov byte [rsp + r11 + 0x3f8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x3f8]
mov byte [rsp + 0x56], r9b
movzx r9d, byte [rsp + 0x400]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x3f8]
mov byte [rsp + 0x400], bl
mov byte [rsp + r11 + 0x3f8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x3f8]
xor byte [rsp + 0x57], r9b
mov dword [rsp + 0x3f0], 8
mov dword [rsp + 0x3f4], r10d
mov r9, r8
xor r9, qword [rsp + 0x50]
mov r8d, dword [rcx + rax + 0x20]
add r8, r9
mov r9, qword [section..data]
mov qword [rsp + 0xa8], 0xd54
mov qword [rsp + 0x48], 0xe1c
mov dword [rsp + 0x4f8], 0
mov dword [rsp + 0x4fc], 0
xor r10d, r10d
nop
mov r11d, r10d
mov byte [rsp + r10 + 0x500], r10b
mov r11, r10
inc r11
mov r10, r11
cmp r11, 0x100
jne 0x140021f40
xor r10d, r10d
mov r11d, 8
xor esi, esi
xor edi, edi
nop word [rax + rax]
mov ebx, esi
movzx esi, byte [rsp + r11 + 0x4f8]
add bl, sil
movsxd rdi, edi
add bl, byte [rsp + rdi + 0xa8]
movzx ebp, bl
mov r14d, ebp
movzx ebp, byte [rsp + r14 + 0x500]
mov byte [rsp + r11 + 0x4f8], bpl
mov byte [rsp + r14 + 0x500], sil
mov esi, edi
cmp edi, 7
lea edi, [rsi + 1]
cmovge edi, r10d
mov r14, r11
inc r14
mov r11, r14
mov esi, ebx
cmp r14, 0x108
jne 0x140021f70
movzx r10d, byte [rsp + 0x501]
mov r11d, r10d
movzx ebx, byte [rsp + r10 + 0x500]
mov byte [rsp + 0x501], bl
mov byte [rsp + r10 + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
xor r10b, 0x1c
mov byte [rsp + 0x48], r10b
movzx r10d, byte [rsp + 0x502]
mov sil, r10b
mov dil, r11b
lea r11d, [rsi + rdi]
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x500]
mov byte [rsp + 0x502], bl
mov byte [rsp + rsi + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
xor r10b, 0xe
mov byte [rsp + 0x49], r10b
movzx r10d, byte [rsp + 0x503]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x500]
mov byte [rsp + 0x503], bl
mov byte [rsp + rsi + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
mov byte [rsp + 0x4a], r10b
movzx r10d, byte [rsp + 0x504]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x500]
mov byte [rsp + 0x504], bl
mov byte [rsp + rsi + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
mov byte [rsp + 0x4b], r10b
movzx r10d, byte [rsp + 0x505]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x500]
mov byte [rsp + 0x505], bl
mov byte [rsp + rsi + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
mov byte [rsp + 0x4c], r10b
movzx r10d, byte [rsp + 0x506]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x500]
mov byte [rsp + 0x506], bl
mov byte [rsp + rsi + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
mov byte [rsp + 0x4d], r10b
movzx r10d, byte [rsp + 0x507]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x500]
mov byte [rsp + 0x507], bl
mov byte [rsp + rsi + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
mov byte [rsp + 0x4e], r10b
movzx r10d, byte [rsp + 0x508]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x500]
mov byte [rsp + 0x508], bl
mov byte [rsp + rsi + 0x500], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x500]
xor byte [rsp + 0x4f], r10b
mov dword [rsp + 0x4f8], 8
mov dword [rsp + 0x4fc], r11d
mov r10, r9
xor r10, qword [rsp + 0x48]
mov r9d, dword [rcx + rax + 0x24]
xor r11d, r11d
cmp dword [rcx + rax + 0x18], 0
je 0x140022ae4
mov qword [rsp + 0x80], rdx
add r9, r10
mov qword [rsp + 0x78], r9
movabs rsi, 0xcbf29ce484405d79
movabs rdi, 0x100000001b3
movabs r9, 0x93140f91a01bb953
xor r10d, r10d
jmp 0x14002224a
mov r14, r10
inc r14
mov r10d, dword [rcx + rax + 0x18]
mov r15d, r10d
mov r10, r14
cmp r14, r15
jae 0x140022ae4
mov r14, qword [section..data]
mov qword [rsp + 0xa0], 0xd54
mov qword [rsp + 0x40], 0xe1c
mov qword [rsp + 0x810], 0
xor r15d, r15d
nop word cs:[rax + rax]
mov ebp, r15d
mov byte [rsp + r15 + 0x818], r15b
mov r12, r15
inc r12
mov r15, r12
cmp r12, 0x100
jne 0x140022280
mov r15d, 8
xor ebp, ebp
xor r12d, r12d
nop dword [rax + rax]
movzx r13d, byte [rsp + r15 + 0x810]
add bpl, r13b
movsxd r12, r12d
add bpl, byte [rsp + r12 + 0xa0]
movzx ebx, bpl
movzx edx, byte [rsp + rbx + 0x818]
mov byte [rsp + r15 + 0x810], dl
mov byte [rsp + rbx + 0x818], r13b
mov edx, r12d
cmp r12d, 7
lea edx, [rdx + 1]
cmovge edx, r11d
mov rbx, r15
inc rbx
mov r15, rbx
mov r12d, edx
cmp rbx, 0x108
jne 0x1400222b0
movzx edx, byte [rsp + 0x819]
mov ebx, edx
movzx ebp, byte [rsp + rdx + 0x818]
mov byte [rsp + 0x819], bpl
mov byte [rsp + rdx + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
xor dl, 0x1c
mov byte [rsp + 0x40], dl
movzx edx, byte [rsp + 0x81a]
mov r15b, dl
mov r12b, bl
lea ebx, [r15 + r12]
movzx ebx, bl
mov r15d, ebx
movzx ebp, byte [rsp + r15 + 0x818]
mov byte [rsp + 0x81a], bpl
mov byte [rsp + r15 + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
xor dl, 0xe
mov byte [rsp + 0x41], dl
movzx edx, byte [rsp + 0x81b]
add bl, dl
movzx ebx, bl
mov r15d, ebx
movzx ebp, byte [rsp + r15 + 0x818]
mov byte [rsp + 0x81b], bpl
mov byte [rsp + r15 + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
mov byte [rsp + 0x42], dl
movzx edx, byte [rsp + 0x81c]
add bl, dl
movzx ebx, bl
mov r15d, ebx
movzx ebp, byte [rsp + r15 + 0x818]
mov byte [rsp + 0x81c], bpl
mov byte [rsp + r15 + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
mov byte [rsp + 0x43], dl
movzx edx, byte [rsp + 0x81d]
add bl, dl
movzx ebx, bl
mov r15d, ebx
movzx ebp, byte [rsp + r15 + 0x818]
mov byte [rsp + 0x81d], bpl
mov byte [rsp + r15 + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
mov byte [rsp + 0x44], dl
movzx edx, byte [rsp + 0x81e]
add bl, dl
movzx ebx, bl
mov r15d, ebx
movzx ebp, byte [rsp + r15 + 0x818]
mov byte [rsp + 0x81e], bpl
mov byte [rsp + r15 + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
mov byte [rsp + 0x45], dl
movzx edx, byte [rsp + 0x81f]
add bl, dl
movzx ebx, bl
mov r15d, ebx
movzx ebp, byte [rsp + r15 + 0x818]
mov byte [rsp + 0x81f], bpl
mov byte [rsp + r15 + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
mov byte [rsp + 0x46], dl
movzx edx, byte [rsp + 0x820]
add bl, dl
movzx ebx, bl
mov r15d, ebx
movzx ebp, byte [rsp + r15 + 0x818]
mov byte [rsp + 0x820], bpl
mov byte [rsp + r15 + 0x818], dl
add bpl, dl
movzx edx, bpl
movzx edx, byte [rsp + rdx + 0x818]
xor byte [rsp + 0x47], dl
mov dword [rsp + 0x810], 8
mov dword [rsp + 0x814], ebx
xor r14, qword [rsp + 0x40]
mov edx, dword [r8 + r10*4]
mov r15d, edx
movzx ebp, byte [r15 + r14]
test bpl, bpl
je 0x140022230
add r15, r14
inc r15
mov r12, rsi
nop word cs:[rax + rax]
movsx r14, bpl
xor r14, r12
imul r14, rdi
movzx edx, byte [r15]
inc r15
mov ebp, edx
mov r12, r14
test dl, dl
jne 0x140022530
cmp r14, r9
jne 0x140022230
mov rax, qword [section..data]
mov qword [rsp + 0x98], 0xd54
mov qword [rsp + 0x38], 0xe1c
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, ecx
mov byte [rsp + rcx + 0xa28], cl
mov rdx, rcx
inc rdx
mov rcx, rdx
cmp rdx, 0x100
jne 0x140022580
xor ecx, ecx
mov r8d, 8
xor r11d, r11d
xor esi, esi
mov r14, qword [rsp + 0x80]
mov edx, r11d
movzx r9d, byte [rsp + r8 + 0xa20]
add dl, r9b
movsxd r11, esi
add dl, byte [rsp + r11 + 0x98]
movzx esi, dl
movzx ebx, byte [rsp + rsi + 0xa28]
mov byte [rsp + r8 + 0xa20], bl
mov byte [rsp + rsi + 0xa28], r9b
mov r9d, r11d
cmp r11d, 7
lea r9d, [r9 + 1]
cmovge r9d, ecx
mov rdi, r8
inc rdi
mov r8, rdi
mov r11d, edx
mov esi, r9d
cmp rdi, 0x108
jne 0x1400225b0
movzx ecx, byte [rsp + 0xa29]
mov edx, ecx
movzx r8d, byte [rsp + rcx + 0xa28]
mov byte [rsp + 0xa29], r8b
mov byte [rsp + rcx + 0xa28], cl
add r8b, cl
movzx ecx, r8b
movzx ecx, byte [rsp + rcx + 0xa28]
xor cl, 0x1c
mov byte [rsp + 0x38], cl
movzx ecx, byte [rsp + 0xa2a]
mov r8b, cl
mov r9b, dl
lea edx, [r8 + r9]
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0xa28]
mov byte [rsp + 0xa2a], r9b
mov byte [rsp + r8 + 0xa28], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0xa28]
xor cl, 0xe
mov byte [rsp + 0x39], cl
movzx ecx, byte [rsp + 0xa2b]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0xa28]
mov byte [rsp + 0xa2b], r9b
mov byte [rsp + r8 + 0xa28], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0xa28]
mov byte [rsp + 0x3a], cl
movzx ecx, byte [rsp + 0xa2c]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0xa28]
mov byte [rsp + 0xa2c], r9b
mov byte [rsp + r8 + 0xa28], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0xa28]
mov byte [rsp + 0x3b], cl
movzx ecx, byte [rsp + 0xa2d]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0xa28]
mov byte [rsp + 0xa2d], r9b
mov byte [rsp + r8 + 0xa28], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0xa28]
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0xa2e]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0xa28]
mov byte [rsp + 0xa2e], r9b
mov byte [rsp + r8 + 0xa28], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0xa28]
mov byte [rsp + 0x3d], cl
movzx ecx, byte [rsp + 0xa2f]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0xa28]
mov byte [rsp + 0xa2f], r9b
mov byte [rsp + r8 + 0xa28], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0xa28]
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0xa30]
add dl, cl
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0xa28]
mov byte [rsp + 0xa30], r9b
mov byte [rsp + r8 + 0xa28], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0xa28]
xor byte [rsp + 0x3f], cl
mov dword [rsp + 0xa20], 8
mov dword [rsp + 0xa24], edx
mov r8, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
movzx ecx, word [rcx + r10*2]
mov ecx, dword [r14 + rcx*4]
mov qword [rsp + 0x88], 0xe1c
mov qword [rsp + 0x28], 0xd54
mov dword [rsp + 0x600], 0
mov dword [rsp + 0x604], 0
xor edx, edx
nop word cs:[rax + rax]
mov r9d, edx
mov byte [rsp + rdx + 0x608], dl
mov r9, rdx
inc r9
mov rdx, r9
cmp r9, 0x100
jne 0x140022850
mov rdx, r8
xor rdx, rax
xor eax, eax
mov r8d, 8
xor r9d, r9d
xor r10d, r10d
movzx r11d, byte [rsp + r8 + 0x600]
add r9b, r11b
movsxd r10, r10d
add r9b, byte [rsp + r10 + 0x88]
movzx esi, r9b
movzx ebx, byte [rsp + rsi + 0x608]
mov byte [rsp + r8 + 0x600], bl
mov byte [rsp + rsi + 0x608], r11b
cmp r10d, 7
lea r10d, [r10 + 1]
cmovge r10d, eax
mov r11, r8
inc r11
mov r8, r11
cmp r11, 0x108
jne 0x140022880
movzx eax, byte [rsp + 0x609]
mov r8d, eax
movzx r9d, byte [rsp + rax + 0x608]
mov byte [rsp + 0x609], r9b
mov byte [rsp + rax + 0x608], al
add r9b, al
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x608]
xor al, 0x54
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x60a]
mov r9b, al
mov r10b, r8b
lea r8d, [r9 + r10]
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x608]
mov byte [rsp + 0x60a], r10b
mov byte [rsp + r9 + 0x608], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x608]
xor al, 0xd
mov byte [rsp + 0x29], al
movzx eax, byte [rsp + 0x60b]
add r8b, al
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x608]
mov byte [rsp + 0x60b], r10b
mov byte [rsp + r9 + 0x608], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x608]
mov byte [rsp + 0x2a], al
movzx eax, byte [rsp + 0x60c]
add r8b, al
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x608]
mov byte [rsp + 0x60c], r10b
mov byte [rsp + r9 + 0x608], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x608]
mov byte [rsp + 0x2b], al
movzx eax, byte [rsp + 0x60d]
add r8b, al
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x608]
mov byte [rsp + 0x60d], r10b
mov byte [rsp + r9 + 0x608], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x608]
mov byte [rsp + 0x2c], al
movzx eax, byte [rsp + 0x60e]
add r8b, al
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x608]
mov byte [rsp + 0x60e], r10b
mov byte [rsp + r9 + 0x608], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x608]
mov byte [rsp + 0x2d], al
movzx eax, byte [rsp + 0x60f]
add r8b, al
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x608]
mov byte [rsp + 0x60f], r10b
mov byte [rsp + r9 + 0x608], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x608]
mov byte [rsp + 0x2e], al
movzx eax, byte [rsp + 0x610]
add r8b, al
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x608]
mov byte [rsp + 0x610], r10b
mov byte [rsp + r9 + 0x608], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x608]
xor byte [rsp + 0x2f], al
add rcx, rdx
mov dword [rsp + 0x600], 8
mov dword [rsp + 0x604], r8d
xor rcx, qword [rsp + 0x28]
mov rax, rcx
jmp 0x140022ae6
xor eax, eax
mov qword [0x140003028], rax
add rsp, 0xb28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret