Function at 0x1800131a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x10
mov eax, r8d
mov r13, rcx
shr eax, 3
lea eax, [rax*2 + 6]
mov dword [rcx + 0x1e0], eax
movzx eax, byte [rdx + 1]
movzx r14d, byte [rdx]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 2]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 3]
shl r14d, 8
or r14d, eax
mov dword [rcx], r14d
movzx eax, byte [rdx + 5]
movzx esi, byte [rdx + 4]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 6]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 7]
shl esi, 8
or esi, eax
mov dword [rcx + 4], esi
movzx eax, byte [rdx + 9]
movzx ebp, byte [rdx + 8]
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx + 0xa]
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx + 0xb]
shl ebp, 8
or ebp, eax
mov dword [rcx + 8], ebp
movzx eax, byte [rdx + 0xd]
movzx edi, byte [rdx + 0xc]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0xe]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0xf]
shl edi, 8
or edi, eax
mov dword [rsp + 0x58], edi
mov dword [rcx + 0xc], edi
cmp r8d, 0x10
jne 0x180013684
mov eax, edi
mov ecx, edi
shr rcx, 8
movzx edx, cl
mov ecx, edi
shr rcx, 0x18
shr rax, 0x10
movzx r8d, al
lea rax, [0x180000000]
mov r11d, dword [rax + r8*4 + 0x116bf0]
xor r11d, dword [rax + rdx*4 + 0x1137f0]
xor r11d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, dil
xor r11d, dword [rax + rcx*4 + 0x1143f0]
xor r11d, r14d
btc r11d, 0x18
xor esi, r11d
mov dword [r13 + 0x10], r11d
mov dword [r13 + 0x14], esi
mov r10d, esi
xor r10d, ebp
mov dword [r13 + 0x18], r10d
mov ecx, r10d
xor ecx, edi
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov edi, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x1c], r9d
xor edi, dword [rax + rdx*4 + 0x1137f0]
xor edi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor edi, dword [rax + rcx*4 + 0x1143f0]
xor edi, r11d
btc edi, 0x19
mov dword [r13 + 0x20], edi
mov r11d, edi
xor r11d, esi
mov dword [r13 + 0x24], r11d
mov ebx, r11d
xor ebx, r10d
mov dword [r13 + 0x28], ebx
mov ecx, ebx
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov esi, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x2c], r9d
xor esi, dword [rax + rdx*4 + 0x1137f0]
xor esi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor esi, dword [rax + rcx*4 + 0x1143f0]
xor esi, edi
btc esi, 0x1a
mov dword [r13 + 0x30], esi
mov r10d, esi
xor r10d, r11d
mov dword [r13 + 0x34], r10d
mov r11d, r10d
xor r11d, ebx
mov ecx, r11d
mov dword [r13 + 0x38], r11d
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov dword [r13 + 0x3c], r9d
mov edi, dword [rax + r8*4 + 0x116bf0]
mov ecx, r9d
xor edi, dword [rax + rdx*4 + 0x1137f0]
shr rcx, 0x18
xor edi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor edi, dword [rax + rcx*4 + 0x1143f0]
xor edi, esi
btc edi, 0x1b
mov dword [r13 + 0x40], edi
mov ebx, edi
xor ebx, r10d
mov dword [r13 + 0x44], ebx
mov r10d, ebx
xor r10d, r11d
mov dword [r13 + 0x48], r10d
mov ecx, r10d
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov esi, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x4c], r9d
xor esi, dword [rax + rdx*4 + 0x1137f0]
xor esi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor esi, dword [rax + rcx*4 + 0x1143f0]
xor esi, edi
btc esi, 0x1c
mov dword [r13 + 0x50], esi
mov r11d, esi
xor r11d, ebx
mov dword [r13 + 0x54], r11d
mov ebx, r11d
xor ebx, r10d
mov dword [r13 + 0x58], ebx
mov ecx, ebx
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov edi, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x5c], r9d
xor edi, dword [rax + rdx*4 + 0x1137f0]
xor edi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor edi, dword [rax + rcx*4 + 0x1143f0]
xor edi, esi
btc edi, 0x1d
mov dword [r13 + 0x60], edi
mov r10d, edi
xor r10d, r11d
mov dword [r13 + 0x64], r10d
mov r11d, r10d
xor r11d, ebx
mov ecx, r11d
mov dword [r13 + 0x68], r11d
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov esi, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x6c], r9d
xor esi, dword [rax + rdx*4 + 0x1137f0]
xor esi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor esi, dword [rax + rcx*4 + 0x1143f0]
xor esi, edi
btc esi, 0x1e
mov dword [r13 + 0x70], esi
mov edi, esi
xor edi, r10d
mov dword [r13 + 0x74], edi
mov ebx, edi
xor ebx, r11d
mov dword [r13 + 0x78], ebx
mov ecx, ebx
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov dword [r13 + 0x7c], r9d
mov r11d, dword [rax + r8*4 + 0x116bf0]
shr rcx, 0x18
xor r11d, dword [rax + rdx*4 + 0x1137f0]
xor r11d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor r11d, dword [rax + rcx*4 + 0x1143f0]
xor r11d, esi
btc r11d, 0x1f
mov dword [r13 + 0x80], r11d
xor edi, r11d
mov dword [r13 + 0x84], edi
mov r10d, edi
xor r10d, ebx
mov dword [r13 + 0x88], r10d
mov ecx, r10d
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
mov dword [r13 + 0x8c], r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov ebx, dword [rax + r8*4 + 0x116bf0]
shr rcx, 0x18
xor ebx, dword [rax + rdx*4 + 0x1137f0]
xor ebx, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor ebx, dword [rax + rcx*4 + 0x1143f0]
xor ebx, r11d
xor ebx, 0x1b000000
mov dword [r13 + 0x90], ebx
xor edi, ebx
mov dword [r13 + 0x94], edi
mov r11d, edi
xor r11d, r10d
mov dword [r13 + 0x98], r11d
mov ecx, r11d
xor ecx, r9d
mov r10d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r9d, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x9c], r10d
xor r9d, dword [rax + rdx*4 + 0x1137f0]
xor r9d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor r9d, dword [rax + rcx*4 + 0x1143f0]
xor r9d, ebx
xor r9d, 0x36000000
mov dword [r13 + 0xa0], r9d
xor r9d, edi
mov dword [r13 + 0xa4], r9d
xor r9d, r11d
mov dword [r13 + 0xa8], r9d
xor r9d, r10d
mov dword [r13 + 0xac], r9d
jmp 0x1800140fa
cmp r8d, 0x18
jne 0x180013aa7
movzx eax, byte [rdx + 0x11]
movzx ebx, byte [rdx + 0x10]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 0x12]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 0x13]
shl ebx, 8
or ebx, eax
mov dword [rcx + 0x10], ebx
movzx eax, byte [rdx + 0x15]
movzx ecx, byte [rdx + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x17]
shl ecx, 8
or ecx, eax
mov r9d, ecx
mov eax, ecx
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov dword [r13 + 0x14], r9d
shr rcx, 0x18
shr rax, 0x10
movzx r8d, al
lea rax, [0x180000000]
mov r11d, dword [rax + r8*4 + 0x116bf0]
xor r11d, dword [rax + rdx*4 + 0x1137f0]
xor r11d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor r11d, dword [rax + rcx*4 + 0x1143f0]
xor r11d, r14d
btc r11d, 0x18
mov dword [r13 + 0x18], r11d
mov r10d, r11d
xor r10d, esi
mov dword [r13 + 0x1c], r10d
mov esi, r10d
xor esi, ebp
mov dword [r13 + 0x20], esi
mov ebp, esi
xor ebp, edi
mov dword [r13 + 0x24], ebp
mov r14d, ebp
xor r14d, ebx
xor r9d, r14d
mov dword [r13 + 0x28], r14d
mov dword [r13 + 0x2c], r9d
mov ecx, r9d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov ebx, dword [rax + r8*4 + 0x116bf0]
xor ebx, dword [rax + rdx*4 + 0x1137f0]
xor ebx, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor ebx, dword [rax + rcx*4 + 0x1143f0]
xor ebx, r11d
btc ebx, 0x19
mov dword [r13 + 0x30], ebx
mov r11d, ebx
xor r11d, r10d
mov dword [r13 + 0x34], r11d
xor esi, r11d
xor ebp, esi
mov dword [r13 + 0x38], esi
xor r14d, ebp
mov dword [r13 + 0x3c], ebp
xor r9d, r14d
mov dword [r13 + 0x40], r14d
mov dword [r13 + 0x44], r9d
mov ecx, r9d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov edi, dword [rax + r8*4 + 0x116bf0]
xor edi, dword [rax + rdx*4 + 0x1137f0]
xor edi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor edi, dword [rax + rcx*4 + 0x1143f0]
xor edi, ebx
btc edi, 0x1a
mov dword [r13 + 0x48], edi
mov r15d, edi
xor r15d, r11d
mov dword [r13 + 0x4c], r15d
mov r10d, r15d
xor r10d, esi
mov dword [r13 + 0x50], r10d
mov r11d, r10d
xor r11d, ebp
mov dword [r13 + 0x54], r11d
mov ebx, r11d
xor ebx, r14d
mov dword [r13 + 0x58], ebx
mov ecx, ebx
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov esi, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x5c], r9d
xor esi, dword [rax + rdx*4 + 0x1137f0]
xor esi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor esi, dword [rax + rcx*4 + 0x1143f0]
xor esi, edi
btc esi, 0x1b
mov dword [r13 + 0x60], esi
xor r15d, esi
mov dword [r13 + 0x64], r15d
mov edi, r15d
xor edi, r10d
mov dword [r13 + 0x68], edi
mov r10d, edi
xor r10d, r11d
mov dword [r13 + 0x6c], r10d
mov r11d, r10d
xor r11d, ebx
mov ecx, r11d
mov dword [r13 + 0x70], r11d
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov ebp, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x74], r9d
xor ebp, dword [rax + rdx*4 + 0x1137f0]
xor ebp, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor ebp, dword [rax + rcx*4 + 0x1143f0]
xor ebp, esi
btc ebp, 0x1c
xor r15d, ebp
mov dword [r13 + 0x78], ebp
mov ebx, r15d
mov dword [r13 + 0x7c], r15d
xor ebx, edi
mov dword [r13 + 0x80], ebx
mov edi, ebx
xor edi, r10d
mov dword [r13 + 0x84], edi
mov r10d, edi
xor r10d, r11d
mov dword [r13 + 0x88], r10d
mov ecx, r10d
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov esi, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0x8c], r9d
xor esi, dword [rax + rdx*4 + 0x1137f0]
xor esi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor esi, dword [rax + rcx*4 + 0x1143f0]
xor esi, ebp
btc esi, 0x1d
mov dword [r13 + 0x90], esi
xor r15d, esi
mov dword [r13 + 0x94], r15d
mov r11d, r15d
xor r11d, ebx
mov dword [r13 + 0x98], r11d
mov ebx, r11d
xor ebx, edi
mov dword [r13 + 0x9c], ebx
mov edi, ebx
xor edi, r10d
mov dword [r13 + 0xa0], edi
mov ecx, edi
xor ecx, r9d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov ebp, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0xa4], r9d
xor ebp, dword [rax + rdx*4 + 0x1137f0]
xor ebp, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor ebp, dword [rax + rcx*4 + 0x1143f0]
xor ebp, esi
btc ebp, 0x1e
mov dword [r13 + 0xa8], ebp
xor r15d, ebp
mov dword [r13 + 0xac], r15d
mov esi, r15d
xor esi, r11d
mov dword [r13 + 0xb0], esi
mov r11d, esi
xor r11d, ebx
mov ecx, r11d
mov dword [r13 + 0xb4], r11d
xor ecx, edi
mov dword [r13 + 0xb8], ecx
xor ecx, r9d
mov r10d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r9d, dword [rax + r8*4 + 0x116bf0]
mov dword [r13 + 0xbc], r10d
xor r9d, dword [rax + rdx*4 + 0x1137f0]
xor r9d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor r9d, dword [rax + rcx*4 + 0x1143f0]
xor r9d, ebp
btc r9d, 0x1f
xor r15d, r9d
mov dword [r13 + 0xc0], r9d
mov dword [r13 + 0xc4], r15d
xor r15d, esi
mov dword [r13 + 0xc8], r15d
xor r15d, r11d
mov dword [r13 + 0xcc], r15d
jmp 0x1800140fa
cmp r8d, 0x20
jne 0x1800142a3
movzx eax, byte [rdx + 0x11]
movzx edi, byte [rdx + 0x10]
mov qword [rsp + 8], r12
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0x12]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0x13]
shl edi, 8
or edi, eax
mov dword [rcx + 0x10], edi
movzx eax, byte [rdx + 0x15]
movzx r15d, byte [rdx + 0x14]
shl r15d, 8
or r15d, eax
movzx eax, byte [rdx + 0x16]
shl r15d, 8
or r15d, eax
movzx eax, byte [rdx + 0x17]
shl r15d, 8
or r15d, eax
mov dword [rcx + 0x14], r15d
movzx eax, byte [rdx + 0x19]
movzx r12d, byte [rdx + 0x18]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx + 0x1a]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx + 0x1b]
shl r12d, 8
or r12d, eax
mov dword [rcx + 0x18], r12d
movzx eax, byte [rdx + 0x1d]
movzx ecx, byte [rdx + 0x1c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1f]
shl ecx, 8
or ecx, eax
mov eax, ecx
mov r10d, ecx
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov dword [r13 + 0x1c], r10d
shr rax, 0x10
movzx r8d, al
lea rax, [0x180000000]
mov ebx, dword [rax + r8*4 + 0x116bf0]
xor ebx, dword [rax + rdx*4 + 0x1137f0]
xor ebx, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor ebx, dword [rax + rcx*4 + 0x1143f0]
xor ebx, r14d
mov r14, qword [rsp + 0x50]
btc ebx, 0x18
mov dword [r13 + 0x20], ebx
mov r13d, ebx
xor r13d, esi
xor ebp, r13d
mov dword [r14 + 0x24], r13d
mov r11d, ebp
mov dword [rsp + 0x68], ebp
xor r11d, dword [rsp + 0x58]
mov ecx, r11d
mov dword [r14 + 0x28], ebp
ror ecx, 8
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov dword [r14 + 0x2c], r11d
mov esi, dword [rax + r8*4 + 0x116bf0]
xor esi, dword [rax + rdx*4 + 0x1137f0]
mov ecx, r9d
shr rcx, 0x18
xor esi, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor esi, dword [rax + rcx*4 + 0x1143f0]
xor esi, edi
xor r15d, esi
mov dword [r14 + 0x30], esi
mov dword [r14 + 0x34], r15d
xor r12d, r15d
mov dword [r14 + 0x38], r12d
xor r10d, r12d
mov dword [r14 + 0x3c], r10d
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov ebp, dword [rax + r8*4 + 0x116bf0]
xor ebp, dword [rax + rdx*4 + 0x1137f0]
xor ebp, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor ebp, dword [rax + rcx*4 + 0x1143f0]
xor ebp, ebx
btc ebp, 0x19
mov dword [r14 + 0x40], ebp
xor r13d, ebp
mov dword [r14 + 0x44], r13d
mov ebx, r13d
xor ebx, dword [rsp + 0x68]
mov dword [r14 + 0x48], ebx
mov edi, ebx
xor edi, r11d
mov dword [r14 + 0x4c], edi
mov ecx, edi
ror ecx, 8
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r14d, dword [rax + r8*4 + 0x116bf0]
xor r14d, dword [rax + rdx*4 + 0x1137f0]
xor r14d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
mov r9, qword [rsp + 0x50]
xor r14d, dword [rax + rcx*4 + 0x1143f0]
xor r14d, esi
mov r11d, r14d
mov dword [r9 + 0x50], r14d
xor r11d, r15d
mov esi, r11d
mov dword [r9 + 0x54], r11d
xor esi, r12d
mov ecx, esi
mov dword [r9 + 0x58], esi
xor ecx, r10d
mov r10d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r15d, dword [rax + r8*4 + 0x116bf0]
mov dword [r9 + 0x5c], r10d
xor r15d, dword [rax + rdx*4 + 0x1137f0]
xor r15d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor r15d, dword [rax + rcx*4 + 0x1143f0]
xor r15d, ebp
btc r15d, 0x1a
mov dword [r9 + 0x60], r15d
xor r13d, r15d
mov dword [r9 + 0x64], r13d
mov ebp, r13d
xor ebp, ebx
mov dword [r9 + 0x68], ebp
mov ebx, ebp
xor ebx, edi
mov dword [r9 + 0x6c], ebx
mov ecx, ebx
ror ecx, 8
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r12d, dword [rax + r8*4 + 0x116bf0]
xor r12d, dword [rax + rdx*4 + 0x1137f0]
xor r12d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
mov r9, qword [rsp + 0x50]
xor r12d, dword [rax + rcx*4 + 0x1143f0]
xor r12d, r14d
mov dword [r9 + 0x70], r12d
mov edi, r12d
xor edi, r11d
mov dword [r9 + 0x74], edi
mov r11d, edi
xor r11d, esi
mov dword [r9 + 0x78], r11d
mov ecx, r11d
xor ecx, r10d
mov r10d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r14d, dword [rax + r8*4 + 0x116bf0]
mov dword [r9 + 0x7c], r10d
xor r14d, dword [rax + rdx*4 + 0x1137f0]
xor r14d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor r14d, dword [rax + rcx*4 + 0x1143f0]
xor r14d, r15d
btc r14d, 0x1b
mov dword [r9 + 0x80], r14d
xor r13d, r14d
mov dword [r9 + 0x84], r13d
mov esi, r13d
xor esi, ebp
mov dword [r9 + 0x88], esi
mov ebp, esi
xor ebp, ebx
mov dword [r9 + 0x8c], ebp
mov ecx, ebp
ror ecx, 8
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r15d, dword [rax + r8*4 + 0x116bf0]
xor r15d, dword [rax + rdx*4 + 0x1137f0]
xor r15d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
mov r9, qword [rsp + 0x50]
xor r15d, dword [rax + rcx*4 + 0x1143f0]
xor r15d, r12d
mov ebx, r15d
mov dword [r9 + 0x90], r15d
xor ebx, edi
mov dword [r9 + 0x94], ebx
mov edi, ebx
xor edi, r11d
mov r11, r9
mov dword [r9 + 0x98], edi
mov ecx, edi
xor ecx, r10d
mov r10d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r12d, dword [rax + r8*4 + 0x116bf0]
mov dword [r9 + 0x9c], r10d
xor r12d, dword [rax + rdx*4 + 0x1137f0]
xor r12d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor r12d, dword [rax + rcx*4 + 0x1143f0]
xor r12d, r14d
btc r12d, 0x1c
mov dword [r9 + 0xa0], r12d
xor r13d, r12d
mov dword [r9 + 0xa4], r13d
mov r14d, r13d
mov dword [rsp + 0x58], r13d
xor r14d, esi
mov dword [r9 + 0xa8], r14d
mov esi, r14d
xor esi, ebp
mov dword [r9 + 0xac], esi
mov ecx, esi
ror ecx, 8
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r13d, dword [rax + r8*4 + 0x116bf0]
xor r13d, dword [rax + rdx*4 + 0x1137f0]
xor r13d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
mov r9, qword [rsp + 0x50]
xor r13d, dword [rax + rcx*4 + 0x1143f0]
xor r13d, r15d
mov dword [r11 + 0xb0], r13d
mov ebp, r13d
xor ebp, ebx
mov dword [r11 + 0xb4], ebp
mov ebx, ebp
xor ebx, edi
mov dword [r11 + 0xb8], ebx
mov ecx, ebx
xor ecx, r10d
mov r11d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r11d
shr rcx, 8
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
mov r15d, dword [rax + r8*4 + 0x116bf0]
mov dword [r9 + 0xbc], r11d
xor r15d, dword [rax + rdx*4 + 0x1137f0]
xor r15d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r11b
xor r15d, dword [rax + rcx*4 + 0x1143f0]
xor r15d, r12d
mov r12d, dword [rsp + 0x58]
btc r15d, 0x1d
xor r12d, r15d
mov dword [r9 + 0xc0], r15d
mov edi, r12d
mov dword [r9 + 0xc4], r12d
xor edi, r14d
mov dword [r9 + 0xc8], edi
mov r14d, edi
xor r14d, esi
mov dword [r9 + 0xcc], r14d
mov ecx, r14d
ror ecx, 8
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, dword [rax + r8*4 + 0x116bf0]
xor r10d, dword [rax + rdx*4 + 0x1137f0]
xor r10d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r9b
xor r10d, dword [rax + rcx*4 + 0x1143f0]
xor r10d, r13d
mov r13, qword [rsp + 0x50]
mov dword [r13 + 0xd0], r10d
xor r10d, ebp
mov dword [r13 + 0xd4], r10d
xor r10d, ebx
mov dword [r13 + 0xd8], r10d
xor r10d, r11d
mov dword [r13 + 0xdc], r10d
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r9d, dword [rax + r8*4 + 0x116bf0]
xor r9d, dword [rax + rdx*4 + 0x1137f0]
xor r9d, dword [rax + rcx*4 + 0x1157f0]
movzx ecx, r10b
xor r9d, dword [rax + rcx*4 + 0x1143f0]
xor r9d, r15d
btc r9d, 0x1e
xor r12d, r9d
mov dword [r13 + 0xe0], r9d
mov dword [r13 + 0xe4], r12d
xor r12d, edi
mov dword [r13 + 0xe8], r12d
xor r12d, r14d
mov dword [r13 + 0xec], r12d
mov r12, qword [rsp + 8]
mov ecx, dword [rsp + 0x60]
lea r11, [r13 + 0xf0]
add ecx, 0x1c
mov edi, 1
lea rbx, [rcx*4 - 0x10]
add rbx, r13
mov ecx, dword [rbx]
mov dword [r11], ecx
mov ecx, dword [rbx + 4]
mov dword [r11 + 4], ecx
mov ecx, dword [rbx + 8]
mov dword [r11 + 8], ecx
mov ecx, dword [rbx + 0xc]
mov dword [r11 + 0xc], ecx
cmp dword [r13 + 0x1e0], edi
jbe 0x180014276
nop
mov r10d, dword [rbx - 0x10]
sub rbx, 0x10
add r11, 0x10
mov ecx, r10d
shr rcx, 0x10
inc edi
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r9d, dword [rax + r8*4 + 0x114bf0]
xor r9d, dword [rax + rdx*4 + 0x115ff0]
xor r9d, dword [rax + rcx*4 + 0x113ff0]
movzx ecx, r10b
xor r9d, dword [rax + rcx*4 + 0x1153f0]
mov dword [r11], r9d
mov r10d, dword [rbx + 4]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r9d, dword [rax + r8*4 + 0x114bf0]
xor r9d, dword [rax + rdx*4 + 0x115ff0]
xor r9d, dword [rax + rcx*4 + 0x113ff0]
movzx ecx, r10b
xor r9d, dword [rax + rcx*4 + 0x1153f0]
mov dword [r11 + 4], r9d
mov r10d, dword [rbx + 8]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r9d, dword [rax + r8*4 + 0x114bf0]
xor r9d, dword [rax + rdx*4 + 0x115ff0]
xor r9d, dword [rax + rcx*4 + 0x113ff0]
movzx ecx, r10b
xor r9d, dword [rax + rcx*4 + 0x1153f0]
mov dword [r11 + 8], r9d
mov r10d, dword [rbx + 0xc]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r9d, dword [rax + r8*4 + 0x114bf0]
xor r9d, dword [rax + rdx*4 + 0x115ff0]
xor r9d, dword [rax + rcx*4 + 0x113ff0]
movzx ecx, r10b
xor r9d, dword [rax + rcx*4 + 0x1153f0]
mov dword [r11 + 0xc], r9d
cmp edi, dword [r13 + 0x1e0]
jb 0x180014140
mov eax, dword [rbx - 0x10]
mov dword [r11 + 0x10], eax
mov eax, dword [rbx - 0xc]
mov dword [r11 + 0x14], eax
mov eax, dword [rbx - 8]
mov dword [r11 + 0x18], eax
mov eax, dword [rbx - 4]
mov dword [r11 + 0x1c], eax
xor eax, eax
add rsp, 0x10
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 0xffffffff
add rsp, 0x10
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret