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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
mov r11, qword [rcx + 0x20]
mov rbx, rcx
mov ecx, r8d
mov r10d, 0x80
sar r10d, cl
mov r8d, 0x20
mov al, r10b
neg al
and al, dl
xor edx, edx
or al, r10b
mov byte [r11 + rbx], al
inc r11
sub r8, r11
lea rcx, [r11 + rbx]
call fcn.140337660
mov eax, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x38]
mov edi, dword [rbx + 0x3c]
mov r10d, dword [rbx + 0x40]
mov edx, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x84]
mov r12d, dword [rbx + 0x44]
mov r13d, dword [rbx + 0x80]
mov esi, dword [rbx + 0xa8]
mov qword [rsp + 0x68], rax
mov eax, dword [rbx + 0x2c]
mov qword [rsp + 0x140], rax
mov eax, dword [rbx + 0x30]
mov qword [rsp + 0xb8], rax
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0x70], rax
mov eax, dword [rbx + 0x48]
mov qword [rsp + 0xf8], rax
mov eax, dword [rbx + 0x4c]
mov qword [rsp + 0x130], rax
mov eax, dword [rbx + 0x50]
mov qword [rsp + 0x128], rax
mov eax, dword [rbx + 0x54]
mov qword [rsp + 0x100], rax
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0x110], rax
mov eax, dword [rbx + 0x5c]
mov qword [rsp + 0xd8], rax
mov eax, dword [rbx + 0x60]
mov qword [rsp + 0x118], rax
mov eax, dword [rbx + 0x64]
mov qword [rsp + 0x138], rax
mov eax, dword [rbx + 0x68]
mov qword [rsp + 0xf0], rax
mov eax, dword [rbx + 0x6c]
mov qword [rsp + 0x58], rax
mov eax, dword [rbx + 0x70]
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 0x74]
mov qword [rsp + 0xc0], rax
mov eax, dword [rbx + 0x7c]
mov qword [rsp + 0xe8], rax
mov eax, dword [rbx + 0x88]
mov qword [rsp + 0x108], rax
mov eax, dword [rbx + 0x8c]
mov qword [rsp + 0x88], rax
mov eax, dword [rbx + 0x90]
mov qword [rsp + 0x38], rax
mov eax, dword [rbx + 0x94]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x98]
mov qword [rsp + 0xd0], rax
mov eax, dword [rbx + 0x9c]
mov qword [rsp + 0xe0], rax
mov eax, dword [rbx + 0xa0]
mov qword [rsp + 0x90], rax
mov eax, dword [rbx + 0xa4]
mov qword [rsp + 0x80], rax
mov eax, dword [rbx + 0xac]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x78], rcx
mov eax, dword [rbx + 0xbc]
mov r9d, dword [rbx + 0xc0]
mov r11d, dword [rbx + 0xc4]
mov r14d, dword [rbx + 0xb0]
mov r15d, dword [rbx + 0xb4]
mov ebp, dword [rbx + 0xb8]
and dword [rsp + 0xa0], 0
mov dword [rsp + 0x1c8], eax
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x1d0], r11d
mov eax, dword [rbx]
xor r11d, dword [rsp + 0x80]
bswap eax
mov dword [rsp + 0x16c], eax
xor r11d, ecx
mov eax, dword [rbx + 4]
xor r11d, dword [rsp + 0x138]
mov ecx, dword [rsp + 0x28]
xor r11d, r12d
xor ecx, dword [rsp + 0x88]
xor ecx, dword [rsp + 0x58]
xor ecx, dword [rsp + 0x130]
xor ecx, dword [rsp + 0x140]
bswap eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbx + 8]
bswap eax
mov dword [rsp + 0x160], eax
mov eax, dword [rbx + 0xc]
bswap eax
mov dword [rsp + 0x164], eax
mov eax, dword [rbx + 0x10]
bswap eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rbx + 0x14]
bswap eax
mov dword [rsp + 0x54], eax
mov eax, dword [rbx + 0x18]
bswap eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rbx + 0x1c]
mov ebx, r9d
xor ebx, dword [rsp + 0x90]
mov r9d, ebp
xor r9d, dword [rsp + 0xd0]
xor ebx, r13d
xor ebx, dword [rsp + 0x118]
xor r9d, edx
xor r9d, dword [rsp + 0x110]
xor ebx, r10d
mov r10d, dword [rsp + 0x1c8]
xor r9d, r8d
xor r10d, dword [rsp + 0xe0]
xor r12d, ebx
xor r10d, dword [rsp + 0xe8]
mov r8d, r11d
xor r10d, dword [rsp + 0xd8]
xor r8d, r15d
xor r8d, dword [rsp + 0x40]
xor r10d, edi
xor r8d, dword [rsp + 0xc0]
mov edi, r11d
xor r8d, dword [rsp + 0x100]
xor edi, esi
xor r8d, dword [rsp + 0x70]
mov edx, r11d
mov rsi, qword [rsp + 0xf0]
xor edx, r14d
xor edx, dword [rsp + 0x38]
xor edx, dword [rsp + 0x60]
xor edx, dword [rsp + 0x128]
xor edx, dword [rsp + 0xb8]
xor dword [rsp + 0xb8], ecx
xor dword [rsp + 0x70], edx
xor dword [rsp + 0xb0], r8d
xor dword [rsp + 0x158], r9d
xor dword [rsp + 0xa8], r10d
xor dword [rsp + 0x128], ecx
bswap eax
mov dword [rsp + 0x50], eax
mov eax, edi
xor eax, dword [rsp + 0x108]
xor eax, esi
mov qword [rsp + 0x150], r12
xor eax, dword [rsp + 0xf8]
xor eax, dword [rsp + 0x68]
xor dword [rsp + 0x140], eax
xor dword [rsp + 0x130], eax
xor dword [rsp + 0x68], r11d
xor dword [rsp + 0xf8], r11d
xor dword [rsp + 0x100], edx
xor dword [rsp + 0xc0], edx
xor esi, r11d
xor dword [rsp + 0x110], r8d
xor r15d, edx
xor dword [rsp + 0xd8], r9d
xor r14d, ecx
xor dword [rsp + 0x58], eax
xor r13d, r10d
xor dword [rsp + 0x88], eax
xor ebp, r8d
xor dword [rsp + 0x28], eax
xor dword [rsp + 0x138], ebx
xor dword [rsp + 0x60], ecx
xor dword [rsp + 0xe8], r9d
xor dword [rsp + 0xe0], r9d
xor dword [rsp + 0x1c8], r9d
xor dword [rsp + 0x120], r8d
mov rax, qword [rsp + 0x128]
xor dword [rsp + 0x40], edx
mov rdx, qword [rsp + 0x138]
xor dword [rsp + 0x38], ecx
mov ecx, edx
xor dword [rsp + 0xd0], r8d
mov r9, qword [rsp + 0x100]
xor dword [rsp + 0x108], r11d
xor ecx, r9d
mov r8, qword [rsp + 0x130]
mov r11d, r9d
xor dword [rsp + 0x118], r10d
xor r11d, r12d
xor dword [rsp + 0x80], ebx
mov r9d, edx
xor dword [rsp + 0x1d0], ebx
xor r9d, eax
xor dword [rsp + 0x90], r10d
xor dword [rsp + 0x24], r10d
mov r10d, eax
xor r10d, dword [rsp + 0x140]
mov eax, edx
xor eax, dword [rsp + 0xf8]
xor eax, dword [rsp + 0x58]
xor r11d, dword [rsp + 0xb8]
mov qword [rsp + 0xf0], rsi
mov rsi, qword [rsp + 0x78]
xor esi, ebx
mov qword [rsp + 0x148], r13
mov ebx, dword [rsp + 0xf8]
xor ebx, r12d
mov qword [rsp + 0x78], rsi
mov esi, r8d
mov dword [rsp + 0x98], ebp
mov rbp, qword [rsp + 0x110]
xor esi, r12d
xor r8d, dword [rsp + 0x60]
mov r13d, ebp
xor esi, dword [rsp + 0x68]
xor r13d, r12d
xor r13d, dword [rsp + 0x70]
mov r12d, edx
xor edx, dword [rsp + 0xf0]
xor r12d, dword [rsp + 0xa8]
mov dword [rsp + 0x20], r14d
mov r14d, dword [rsp + 0xd8]
xor r14d, dword [rsp + 0xb0]
mov dword [rsp + 0x9c], r15d
mov r15d, dword [rsp + 0x118]
xor r15d, dword [rsp + 0x158]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rsp + 0x120]
xor ecx, edx
mov qword [rsp + 0x130], r8
mov r8, qword [rsp + 0xc0]
xor r9d, r8d
mov dword [rsp + 0x100], eax
xor ebp, dword [rsp + 0xe8]
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0xc8], ebx
mov dword [rsp + 0x168], r10d
mov dword [rsp + 0x128], r11d
mov dword [rsp + 0xc0], ecx
xor dword [rsp + 0xd8], eax
mov rcx, qword [rsp + 0x78]
xor dword [rsp + 0x118], ecx
mov ebp, ecx
xor edx, dword [rsp + 0xe0]
mov ebx, ecx
xor ebx, dword [rsp + 0xf0]
xor ebp, r8d
xor ebx, dword [rsp + 0x88]
mov r8d, ecx
xor ecx, dword [rsp + 0x108]
xor r8d, dword [rsp + 0x60]
xor ebp, dword [rsp + 0xd0]
xor r8d, dword [rsp + 0x40]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rsp + 0x38]
xor dword [rsp + 0x58], ecx
mov rcx, qword [rsp + 0x90]
xor dword [rsp + 0xe8], ecx
mov rcx, qword [rsp + 0x80]
xor eax, ecx
mov dword [rsp + 0x60], ebx
mov qword [rsp + 0x148], rax
mov ebx, ecx
xor ebx, dword [rsp + 0x108]
mov eax, ecx
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x98]
xor ebx, dword [rsp + 0x28]
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0xd0]
xor eax, dword [rsp + 0x1c8]
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x24]
xor dword [rsp + 0xe0], eax
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x1c8]
mov qword [rsp + 0x120], rdx
mov edx, ecx
xor edx, dword [rsp + 0x38]
xor ecx, edi
xor edx, dword [rsp + 0x9c]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x88]
xor ecx, dword [rsp + 0x20]
mov qword [rsp + 0x88], rcx
mov ecx, dword [rsp + 0x1d0]
xor dword [rsp + 0x90], ecx
mov dword [rsp + 0x1d0], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x24], eax
mov eax, ecx
xor eax, dword [rsp + 0x9c]
mov dword [rsp + 0x1c8], eax
mov eax, ecx
xor eax, dword [rsp + 0x20]
xor eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], ecx
xor dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0x140]
xor dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0xb8]
xor dword [rsp + 0x28], edi
mov edi, dword [rsp + 0x1c8]
xor edi, dword [rsp + 0xb0]
xor ecx, dword [rsp + 0x68]
mov dword [rsp + 0x1c8], edi
mov edi, dword [rsp + 0x24]
xor edi, dword [rsp + 0x158]
mov dword [rsp + 0x24], edi
mov rdi, qword [rsp + 0xa8]
xor dword [rsp + 0x1d0], edi
mov edi, dword [rsp + 0x48]
xor edi, dword [rsp + 0x150]
mov dword [rsp + 0x48], edi
mov edi, r12d
xor edi, ecx
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], edi
mov edi, r12d
xor edi, dword [rsp + 0xc8]
xor edi, dword [rsp + 0x20]
mov ebx, esi
xor ebx, dword [rsp + 0x28]
mov dword [rsp + 0xf0], ebx
mov ebx, r12d
xor ebx, r10d
mov dword [rsp + 0xf8], edi
xor ebx, eax
mov r10d, r12d
xor r10d, r11d
mov dword [rsp + 0x70], ebx
xor r10d, dword [rsp + 0x1c8]
mov r11d, dword [rsp + 0x48]
mov edi, r11d
mov ebx, dword [rsp + 0x24]
xor edi, ecx
xor edi, dword [rsp + 0x40]
mov rcx, qword [rsp + 0xd0]
xor dword [rsp + 0x1c8], ecx
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0xa8], r10d
mov r10d, r13d
xor r10d, ebx
xor ebx, dword [rsp + 0xe0]
mov dword [rsp + 0xb0], r10d
mov r10d, r14d
xor r10d, dword [rsp + 0x1d0]
xor dword [rsp + 0x1d0], ecx
mov dword [rsp + 0xb8], r10d
mov r10d, r15d
xor r10d, r11d
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x68], r10d
mov ebx, ecx
xor ebx, edx
mov r10d, r11d
xor r10d, eax
xor ebx, ebp
mov eax, r11d
xor r11d, dword [rsp + 0x80]
xor eax, dword [rsp + 0x28]
xor eax, edx
mov dword [rsp + 0x48], r11d
mov r11, qword [rsp + 0x88]
mov edx, ecx
xor dword [rsp + 0x20], r11d
xor edx, r11d
mov r11, qword [rsp + 0x78]
xor edx, r8d
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x108]
xor r10d, eax
mov dword [rsp + 0x98], r10d
mov r10d, ecx
xor r10d, dword [rsp + 0x80]
xor ecx, r11d
xor r10d, dword [rsp + 0x60]
mov dword [rsp + 0x78], r10d
mov r10, qword [rsp + 0x58]
xor dword [rsp + 0x40], r10d
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x88], edx
mov rdx, qword [rsp + 0x120]
xor eax, edx
mov dword [rsp + 0x28], edi
mov rdi, qword [rsp + 0xe8]
xor dword [rsp + 0xd0], edi
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x148]
xor dword [rsp + 0xe0], eax
mov ecx, eax
xor ecx, r8d
mov r8d, eax
xor r8d, r10d
mov r10d, eax
mov dword [rsp + 0x58], r8d
xor r10d, r11d
mov r8, qword [rsp + 0x138]
xor eax, r8d
xor r10d, dword [rsp + 0x100]
mov qword [rsp + 0x148], rax
xor edx, dword [rsp + 0xd8]
xor ecx, dword [rsp + 0xc0]
mov rax, qword [rsp + 0x118]
xor r15d, dword [rsp + 0x54]
xor edi, eax
xor dword [rsp + 0x58], r9d
mov r11d, eax
xor ebp, dword [rsp + 0x110]
xor dword [rsp + 0x110], r15d
xor r14d, dword [rsp + 0x2c]
mov qword [rsp + 0x120], rdx
mov edx, dword [rsp + 0x160]
xor dword [rsp + 0xf0], edx
mov dword [rsp + 0x80], r10d
mov r10, qword [rsp + 0x130]
xor dword [rsp + 0x60], r10d
xor r11d, r10d
mov r10d, eax
mov qword [rsp + 0xe8], rdi
mov edi, eax
xor r10d, esi
mov esi, dword [rsp + 0x38]
xor r10d, r8d
mov r8d, dword [rsp + 0x2c]
xor edi, r9d
xor dword [rsp + 0xa8], r8d
mov r8d, dword [rsp + 0x54]
xor dword [rsp + 0xb0], r8d
mov r8d, dword [rsp + 0x4c]
xor dword [rsp + 0xb8], r8d
mov r8d, dword [rsp + 0x50]
mov eax, dword [rsp + 0x30]
xor dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0x164]
xor dword [rsp + 0x70], eax
mov r9d, dword [rsp + 0x50]
xor dword [rsp + 0x68], r8d
xor r9d, dword [rsp + 0x118]
xor r9d, dword [rsp + 0xc8]
xor esi, dword [rsp + 0x16c]
mov dword [rsp + 0x38], r8d
xor dword [rsp + 0x38], eax
mov eax, r8d
xor r13d, dword [rsp + 0x38]
xor eax, edx
xor r8d, dword [rsp + 0x16c]
xor edi, r13d
mov r13d, dword [rsp + 0xc0]
xor r10d, r8d
mov edx, dword [rsp + 0x168]
xor r13d, r14d
mov r14d, dword [rsp + 0x4c]
xor r12d, r14d
xor edx, dword [rsp + 0x30]
mov r15d, r14d
xor dword [rsp + 0x100], edx
xor r15d, eax
xor dword [rsp + 0xd8], r12d
mov edx, dword [rsp + 0x128]
mov r12d, dword [rsp + 0x2c]
xor edx, eax
xor dword [rsp + 0x148], r14d
xor r11d, edx
xor dword [rsp + 0x60], r8d
mov eax, r14d
xor eax, dword [rsp + 0x30]
mov edx, r14d
xor edx, dword [rsp + 0x50]
xor dword [rsp + 0x80], edx
xor dword [rsp + 0x58], eax
mov dword [rsp + 0x4c], r15d
xor r15d, ecx
mov ecx, dword [rsp + 0x38]
xor ecx, ebp
mov dword [rsp + 0x50], r15d
mov ebp, dword [rsp + 0x54]
mov dword [rsp + 0xc0], ecx
mov ecx, r12d
xor ecx, dword [rsp + 0x120]
mov dword [rsp + 0xc8], ecx
mov ecx, ebp
xor ecx, dword [rsp + 0xe8]
xor dword [rsp + 0x90], ebp
xor dword [rsp + 0x40], edx
xor dword [rsp + 0x48], r12d
ror dword [rsp + 0x50], 0x1e
ror dword [rsp + 0xc0], 0x1e
ror dword [rsp + 0xc8], 0x1e
mov dword [rsp + 0x54], ecx
mov ecx, ebp
ror dword [rsp + 0x54], 0x1e
xor ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, ebp
xor eax, r14d
mov ecx, ebp
xor dword [rsp + 0x78], eax
xor ecx, r8d
xor dword [rsp + 0x20], eax
xor ebp, r12d
xor dword [rsp + 0x88], ecx
mov eax, r12d
xor dword [rsp + 0x28], ebp
xor eax, edx
xor dword [rsp + 0x9c], eax
mov eax, r12d
mov r8d, dword [rsp + 0x38]
xor eax, ecx
mov ecx, dword [rsp + 0x1d0]
mov ebp, dword [rsp + 0x98]
xor ecx, r8d
xor r8d, dword [rsp + 0xd0]
xor ebp, eax
mov eax, dword [rsp + 0x24]
xor eax, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x1c8]
xor edx, dword [rsp + 0x30]
xor dword [rsp + 0x30], ebx
mov ebx, dword [rsp + 0x4c]
xor ebx, dword [rsp + 0x108]
xor r12d, dword [rsp + 0xe0]
ror dword [rsp + 0x30], 0x1d
ror eax, 0x1c
mov dword [rsp + 0x24], eax
ror edx, 0x1c
ror r8d, 0x1d
mov eax, esi
ror ebp, 0x1c
ror ecx, 0x1c
mov dword [rsp + 0x1c8], edx
lea edx, [rdi + rdi]
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x98], ebp
mov ebp, dword [rsp + 0x100]
mov dword [rsp + 0x1d0], ecx
shl rdx, 0x1f
mov r8d, r9d
mov r9, 0xffffffff80000000
shl r8, 0x20
or r8, rax
shl rbp, 0x20
mov eax, dword [rsp + 0xf8]
ror ebx, 0x1d
ror r12d, 0x1d
mov esi, r10d
shl rsi, 0x20
or rsi, rax
mov ecx, r11d
mov eax, dword [rsp + 0xf0]
or rbp, rax
shl rcx, 0x20
mov eax, dword [rsp + 0x70]
or rcx, rax
mov dword [rsp + 0x4c], ebx
mov eax, edi
and rax, r9
mov dword [rsp + 0x2c], r12d
or rdx, rax
mov qword [rsp + 0x70], rcx
mov eax, dword [rsp + 0xa8]
add rdx, rdx
or rdx, rax
mov rcx, qword [rsp + 0x110]
lea edi, [r13*2]
shl rdi, 0x1f
mov eax, r13d
mov r13, qword [rsp + 0x70]
and rax, r9
or rdi, rax
lea ebx, [rcx + rcx]
mov eax, dword [rsp + 0xb0]
add rdi, rdi
or rdi, rax
shl rbx, 0x1f
mov eax, ecx
mov rcx, qword [rsp + 0xd8]
and rax, r9
or rbx, rax
mov eax, dword [rsp + 0xb8]
add rbx, rbx
or rbx, rax
mov eax, ecx
and rax, r9
lea r12d, [rcx + rcx]
shl r12, 0x1f
or r12, rax
mov eax, dword [rsp + 0x68]
add r12, r12
or r12, rax
and qword [rsp + 0x150], 0
xor r12, rdx
mov rax, rsi
or rax, r8
not rsi
xor rax, r13
xor rbp, r13
and r13, r8
xor rsi, r13
xor r13, rbp
and rbp, rax
not rax
xor rbp, rsi
or rsi, r13
xor r8, rsi
xor r13, rbp
and rbp, rsi
mov r10d, r8d
xor rsi, rax
ror r10d, 0x1e
mov rax, rbx
not rbx
or rax, rdi
xor rax, rdx
and rdx, rdi
xor rbx, rdx
xor rdx, r12
and r12, rax
not rax
xor r12, rbx
or rbx, rdx
xor rdi, rbx
xor rdx, r12
xor rdi, rsi
xor rdx, r8
xor r10d, edx
shr r8, 0x20
ror r8d, 0x1e
and r12, rbx
xor rbx, rax
mov rax, rdx
shr rax, 0x20
xor r8d, eax
ror edx, 0x12
ror eax, 0x12
xor edx, r10d
xor eax, r8d
mov r11d, edx
mov r9d, eax
mov edx, esi
mov rax, rdi
shr rsi, 0x20
shr rax, 0x20
ror esi, 0x1e
xor esi, eax
ror edx, 0x1e
xor edx, edi
ror eax, 0x12
xor eax, esi
ror edi, 0x12
mov ecx, eax
xor edi, edx
ror esi, 0x16
xor rsi, rcx
ror edx, 0x16
shl rsi, 0x20
mov qword [rsp + 0x68], r8
mov r8d, edi
lea edi, [rcx + rcx]
shl rdi, 0x1f
mov eax, edx
xor rax, r8
or rsi, rax
mov eax, ecx
and rax, 0xffffffff80000000
lea ecx, [r8 + r8]
or rdi, rax
mov eax, r8d
shr rax, 0x1f
add rdi, rdi
or rdi, rax
or rdi, rcx
xor rbx, rbp
ror r10d, 0x16
xor r12, r13
mov edx, ebp
mov rax, rbx
ror edx, 0x1e
shr rax, 0x20
xor edx, ebx
ror ebx, 0x12
xor ebx, edx
shr rbp, 0x20
mov r8d, ebx
ror edx, 0x16
ror ebp, 0x1e
xor ebp, eax
ror eax, 0x12
xor eax, ebp
ror ebp, 0x16
mov ecx, eax
mov eax, edx
xor rbp, rcx
xor rax, r8
shl rbp, 0x20
or rbp, rax
mov edx, r13d
shr r13, 0x20
lea ebx, [rcx + rcx]
ror r13d, 0x1e
mov eax, ecx
and rax, 0xffffffff80000000
shl rbx, 0x1f
or rbx, rax
ror edx, 0x1e
xor edx, r12d
lea ecx, [r8 + r8]
mov eax, r8d
add rbx, rbx
shr rax, 0x1f
or rbx, rax
mov rax, r12
shr rax, 0x20
or rbx, rcx
xor r13d, eax
ror r12d, 0x12
ror eax, 0x12
xor r12d, edx
xor eax, r13d
mov r8d, r12d
mov ecx, eax
ror r13d, 0x16
xor r13, rcx
ror edx, 0x16
mov eax, edx
lea edx, [r9 + r9]
xor rax, r8
shl r13, 0x20
or r13, rax
lea r12d, [rcx + rcx]
shl r12, 0x1f
mov eax, ecx
and rax, 0xffffffff80000000
lea ecx, [r8 + r8]
or r12, rax
mov eax, r8d
mov r8, qword [rsp + 0x68]
add r12, r12
shr rax, 0x1f
or r12, rax
ror r8d, 0x16
xor r8, r9
mov eax, r10d
mov r10, qword [rsp + 0x150]
xor rax, r11
shl r8, 0x20
or r12, rcx
or r8, rax
lea rax, [0x140000000]
xor r8, qword [r10 + rax + 0x4675b0]
mov eax, r9d
mov qword [rsp + 0x68], r8
shl rdx, 0x1f
and rax, 0xffffffff80000000
lea ecx, [r11 + r11]
or rdx, rax
mov eax, r11d
add rdx, rdx
shr rax, 0x1f
or rdx, rax
lea rax, [0x140000000]
or rdx, rcx
xor rdx, qword [r10 + rax + 0x4675f0]
add r10, 8
mov qword [rsp + 0x150], r10
cmp r10, 0x40
jl 0x140305576
mov r15d, dword [rsp + 0x90]
mov rax, r8
mov r14d, dword [rsp + 0x4c]
shr rax, 0x20
mov qword [rsp + 0xf8], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x130], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x128], rax
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0x100], rax
mov rax, rdx
shr rax, 0x20
mov qword [rsp + 0x110], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0xd8], rax
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0x118], rax
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0x138], rax
mov eax, dword [rsp + 0x148]
mov qword [rsp + 0xa8], rbx
mov ebx, dword [rsp + 0x78]
mov qword [rsp + 0x150], r12
mov r12d, dword [rsp + 0x40]
mov qword [rsp + 0x158], rdi
mov edi, dword [rsp + 0x88]
mov qword [rsp + 0xb0], rdx
mov edx, dword [rsp + 0x30]
mov qword [rsp + 0x70], r13
mov r13d, dword [rsp + 0x38]
mov qword [rsp + 0x140], rsi
mov esi, dword [rsp + 0x2c]
shl r15, 0x20
or r15, rax
shl rbx, 0x20
mov eax, dword [rsp + 0x80]
or rbx, rax
shl r12, 0x20
mov eax, dword [rsp + 0x60]
or r12, rax
shl rdi, 0x20
mov eax, dword [rsp + 0x58]
or rdi, rax
shl rdx, 0x20
mov eax, dword [rsp + 0x50]
or rdx, rax
shl r14, 0x20
mov eax, dword [rsp + 0xc0]
or r14, rax
shl r13, 0x20
mov eax, dword [rsp + 0xc8]
or r13, rax
shl rsi, 0x20
mov eax, dword [rsp + 0x54]
or rsi, rax
mov qword [rsp + 0xb8], rbp
xor ebp, ebp
xor rsi, rdx
mov rax, rbx
or rax, r15
not rbx
xor rax, rdi
xor r12, rdi
and rdi, r15
xor rbx, rdi
xor rdi, r12
and r12, rax
not rax
xor r12, rbx
or rbx, rdi
xor r15, rbx
xor rdi, r12
and r12, rbx
mov r10d, r15d
xor rbx, rax
ror r10d, 0x1e
mov rax, r13
not r13
or rax, r14
xor rax, rdx
and rdx, r14
xor r13, rdx
xor rdx, rsi
and rsi, rax
not rax
xor rsi, r13
or r13, rdx
xor r14, r13
xor rdx, rsi
xor r14, rbx
xor rdx, r15
xor r10d, edx
shr r15, 0x20
and rsi, r13
ror r15d, 0x1e
xor r13, rax
mov rax, rdx
shr rax, 0x20
xor r15d, eax
ror edx, 0x12
ror eax, 0x12
xor edx, r10d
xor eax, r15d
mov r11d, edx
mov r9d, eax
mov edx, ebx
mov rax, r14
shr rbx, 0x20
shr rax, 0x20
ror ebx, 0x1e
xor ebx, eax
ror edx, 0x1e
xor edx, r14d
ror eax, 0x12
xor eax, ebx
ror r14d, 0x12
mov ecx, eax
xor r14d, edx
mov r8d, r14d
ror ebx, 0x16
xor rbx, rcx
ror edx, 0x16
shl rbx, 0x20
lea r14d, [rcx + rcx]
shl r14, 0x1f
mov eax, edx
xor rax, r8
or rbx, rax
mov eax, ecx
and rax, 0xffffffff80000000
lea ecx, [r8 + r8]
or r14, rax
mov eax, r8d
add r14, r14
shr rax, 0x1f
or r14, rax
or r14, rcx
xor r13, r12
xor rsi, rdi
ror r15d, 0x16
mov edx, r12d
ror r10d, 0x16
ror edx, 0x1e
mov rax, r13
shr rax, 0x20
xor edx, r13d
ror r13d, 0x12
xor r15, r9
xor r13d, edx
shr r12, 0x20
mov r8d, r13d
ror edx, 0x16
ror r12d, 0x1e
xor r12d, eax
shl r15, 0x20
ror eax, 0x12
xor eax, r12d
ror r12d, 0x16
mov ecx, eax
mov eax, edx
xor r12, rcx
xor rax, r8
shl r12, 0x20
or r12, rax
mov edx, edi
shr rdi, 0x20
lea r13d, [rcx + rcx]
ror edi, 0x1e
mov eax, ecx
and rax, 0xffffffff80000000
ror edx, 0x1e
xor edx, esi
shl r13, 0x1f
or r13, rax
lea ecx, [r8 + r8]
mov eax, r8d
add r13, r13
shr rax, 0x1f
or r13, rax
mov rax, rsi
shr rax, 0x20
or r13, rcx
xor edi, eax
ror esi, 0x12
ror eax, 0x12
xor esi, edx
xor eax, edi
mov r8d, esi
mov ecx, eax
ror edx, 0x16
mov eax, edx
lea edx, [r9 + r9]
xor rax, r8
ror edi, 0x16
xor rdi, rcx
shl rdx, 0x1f
shl rdi, 0x20
lea esi, [rcx + rcx]
or rdi, rax
shl rsi, 0x1f
mov eax, ecx
lea ecx, [r8 + r8]
and rax, 0xffffffff80000000
or rsi, rax
mov eax, r8d
shr rax, 0x1f
lea r8, [0x140000000]
add rsi, rsi
or rsi, rax
mov eax, r10d
xor rax, r11
or rsi, rcx
or r15, rax
mov eax, r9d
xor r15, qword [r8 + rbp + 0x467670]
and rax, 0xffffffff80000000
or rdx, rax
mov eax, r11d
add rdx, rdx
shr rax, 0x1f
lea ecx, [r11 + r11]
or rdx, rax
or rdx, rcx
xor rdx, qword [r8 + rbp + 0x4676b0]
add rbp, 8
cmp rbp, 0x40
jl 0x140305904
mov ebp, dword [rsp + 0x98]
mov rcx, rdi
mov r9d, dword [rsp + 0x24]
mov r8, r12
mov r10d, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x1d0]
mov qword [rsp + 0xf0], r15
mov rax, qword [rsp + 0xf0]
mov r15d, dword [rsp + 0x9c]
shr rax, 0x20
mov qword [rsp + 0x108], rax
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0x88], rax
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0x38], rax
mov rax, rcx
shr rax, 0x20
mov qword [rsp + 0x40], rax
mov rax, rdx
shr rax, 0x20
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xe8], r14
mov rax, qword [rsp + 0xe8]
mov r14d, dword [rsp + 0x20]
shr rax, 0x20
mov qword [rsp + 0xe0], rax
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0x90], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x60], r12
lea r12, [0x140000000]
mov qword [rsp + 0xc0], rdi
mov edi, dword [rsp + 0x1c8]
mov qword [rsp + 0x78], rsi
mov esi, dword [rsp + 0x48]
mov qword [rsp + 0x120], rdx
xor edx, edx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x58], rbx
xor r11d, ebp
xor r14d, r15d
mov eax, r10d
not r10d
or eax, esi
xor eax, r15d
and r15d, esi
xor r10d, r15d
xor r15d, r14d
and r14d, eax
not eax
xor r14d, r10d
or r10d, r15d
xor esi, r10d
xor r15d, r14d
and r14d, r10d
xor r10d, eax
mov eax, r9d
not r9d
or eax, edi
xor eax, ebp
and ebp, edi
xor r9d, ebp
xor ebp, r11d
and r11d, eax
not eax
xor r11d, r9d
or r9d, ebp
xor edi, r9d
xor ebp, r11d
and r11d, r9d
xor ebp, esi
xor r9d, eax
ror esi, 0x1e
xor edi, r10d
xor r9d, r14d
xor r11d, r15d
ror r10d, 0x1e
xor esi, ebp
ror r14d, 0x1e
xor r10d, edi
ror ebp, 0x12
xor r14d, r9d
ror edi, 0x12
xor edi, r10d
ror r9d, 0x12
xor r9d, r14d
ror r15d, 0x1e
xor r15d, r11d
ror r10d, 0x16
xor ebp, esi
ror r11d, 0x12
xor r11d, r15d
ror esi, 0x16
xor esi, dword [rdx + r12 + 0x4676f0]
mov eax, edi
add eax, eax
ror r14d, 0x16
xor r10d, edi
ror r15d, 0x16
xor r14d, r9d
shr edi, 0x1f
or edi, eax
xor esi, ebp
mov eax, r9d
ror ebp, 0x1f
xor ebp, dword [rdx + r12 + 0x467710]
add eax, eax
xor r15d, r11d
shr r9d, 0x1f
or r9d, eax
add rdx, 4
mov eax, r11d
shr r11d, 0x1f
add eax, eax
or r11d, eax
cmp rdx, 0x20
jl 0x140305c1e
mov eax, dword [rsp + 0xa0]
mov r12, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x120]
mov dword [rsp + 0x1c8], edi
mov rdi, qword [rsp + 0x158]
mov dword [rsp + 0x1d0], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x2c], eax
cmp eax, 0
je 0x140305eae
sub dword [rsp + 0x2c], 1
je 0x140305d88
sub dword [rsp + 0x2c], 1
je 0x140305efa
inc eax
mov dword [rsp + 0xa0], eax
cmp eax, 3
jge 0x140306007
mov rbx, qword [rsp + 0x1c0]
jmp 0x140305ee0
mov r12, qword [rsp + 0x1d8]
mov eax, esi
xor eax, dword [rsp + 0x68]
xor eax, dword [rsp + 0xf0]
xor eax, dword [rsp + 0xf8]
xor eax, dword [rsp + 0x108]
bswap eax
mov dword [r12], eax
mov eax, dword [rsp + 0x88]
xor eax, ebx
mov rbx, r12
xor eax, r10d
mov r12, qword [rsp + 0x150]
xor eax, dword [rsp + 0x140]
xor eax, dword [rsp + 0x130]
bswap eax
mov dword [rbx + 4], eax
mov eax, r14d
xor eax, dword [rsp + 0x128]
xor eax, dword [rsp + 0xb8]
xor eax, r8d
mov r10, qword [rsp + 0xa8]
xor eax, dword [rsp + 0x38]
mov r8, qword [rsp + 0xb0]
bswap eax
mov dword [rbx + 8], eax
mov eax, r15d
xor eax, ecx
mov rcx, qword [rsp + 0x78]
xor eax, dword [rsp + 0x100]
xor eax, dword [rsp + 0x70]
xor eax, dword [rsp + 0x40]
bswap eax
mov dword [rbx + 0xc], eax
mov eax, ebp
xor eax, dword [rsp + 0x110]
xor eax, edx
xor eax, r8d
xor eax, dword [rsp + 0xd0]
bswap eax
mov dword [rbx + 0x10], eax
mov eax, edi
xor eax, dword [rsp + 0xd8]
xor eax, dword [rsp + 0xe0]
xor eax, dword [rsp + 0xe8]
xor eax, dword [rsp + 0x1c8]
bswap eax
mov dword [rbx + 0x14], eax
mov eax, dword [rsp + 0x90]
xor eax, dword [rsp + 0x118]
xor eax, r13d
xor eax, r10d
xor eax, r9d
bswap eax
mov dword [rbx + 0x18], eax
mov eax, r12d
xor eax, dword [rsp + 0x138]
xor eax, dword [rsp + 0x80]
xor eax, ecx
xor eax, r11d
inc dword [rsp + 0xa0]
bswap eax
mov dword [rbx + 0x1c], eax
mov rbx, qword [rsp + 0x1c0]
jmp 0x140304b56
mov rbx, qword [rsp + 0x1c0]
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 0x20]
call fcn.140337660
inc dword [rsp + 0xa0]
mov rdx, qword [rsp + 0x120]
mov r9d, dword [rsp + 0x24]
mov r11d, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xa8]
jmp 0x140304b56
xor esi, dword [rsp + 0x68]
xor r15d, ecx
xor esi, dword [rsp + 0xf0]
xor r14d, dword [rsp + 0x128]
xor ebp, dword [rsp + 0x110]
xor edi, dword [rsp + 0xd8]
xor ebp, edx
xor esi, dword [rsp + 0xf8]
xor r14d, dword [rsp + 0xb8]
xor r15d, dword [rsp + 0x100]
xor r14d, r8d
xor edi, dword [rsp + 0xe0]
xor r12d, dword [rsp + 0x138]
xor esi, dword [rsp + 0x108]
xor r15d, dword [rsp + 0x70]
xor ebp, dword [rsp + 0xb0]
xor edi, dword [rsp + 0xe8]
xor r12d, dword [rsp + 0x80]
mov rax, qword [rsp + 0x1d8]
xor r14d, dword [rsp + 0x38]
xor r15d, dword [rsp + 0x40]
xor ebp, dword [rsp + 0xd0]
xor edi, dword [rsp + 0x1c8]
bswap esi
mov dword [rax + 0x20], esi
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x78]
xor eax, ebx
xor eax, r10d
xor r12d, esi
xor eax, dword [rsp + 0x140]
xor eax, dword [rsp + 0x130]
mov r10, qword [rsp + 0x1d8]
bswap eax
bswap r14d
bswap r15d
mov dword [r10 + 0x24], eax
mov rax, qword [rsp + 0x90]
xor eax, dword [rsp + 0x118]
xor eax, r13d
mov dword [r10 + 0x28], r14d
xor eax, dword [rsp + 0xa8]
xor eax, r9d
mov dword [r10 + 0x2c], r15d
xor r12d, r11d
bswap r12d
bswap ebp
bswap edi
bswap eax
mov dword [r10 + 0x3c], r12d
mov dword [r10 + 0x30], ebp
mov dword [r10 + 0x34], edi
mov dword [r10 + 0x38], eax
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret