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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x1c8
mov r10, qword [rcx + 0x20]
mov eax, 0x20
sub rax, r10
mov qword [rsp + 0x1e8], r10
mov r11, r8
mov r9, rcx
cmp r8, rax
jae 0x180178f91
add rcx, r10
call fcn.180321590
mov r8, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x1e8]
add rax, qword [rsp + 0x1e0]
mov qword [r8 + 0x20], rax
add rsp, 0x1c8
ret
mov eax, dword [rcx + 0x28]
mov r8d, dword [rcx + 0x78]
mov edx, dword [r9 + 0xbc]
mov qword [rsp + 0xd8], rax
mov eax, dword [rcx + 0x2c]
mov qword [rsp + 0xd0], rax
mov eax, dword [rcx + 0x30]
mov qword [rsp + 0xc8], rax
mov eax, dword [rcx + 0x34]
mov qword [rsp + 0xc0], rax
mov eax, dword [rcx + 0x38]
mov qword [rsp + 0xb8], rax
mov eax, dword [rcx + 0x3c]
mov qword [rsp + 0x78], rax
mov eax, dword [rcx + 0x40]
mov qword [rsp + 0xb0], rax
mov eax, dword [rcx + 0x44]
mov qword [rsp + 0xa8], rax
mov eax, dword [rcx + 0x48]
mov qword [rsp + 0xe0], rax
mov eax, dword [rcx + 0x4c]
mov qword [rsp + 0x128], rax
mov eax, dword [rcx + 0x50]
mov qword [rsp + 0x100], rax
mov eax, dword [rcx + 0x54]
mov qword [rsp + 0x1c0], rbx
mov ebx, dword [r9 + 0xb8]
mov qword [rsp + 0x130], rax
mov eax, dword [rcx + 0x58]
mov qword [rsp + 0x108], rax
mov eax, dword [rcx + 0x5c]
mov qword [rsp + 0x1b8], rbp
mov qword [rsp + 0x1b0], rsi
mov esi, dword [r9 + 0xa8]
mov qword [rsp + 0x90], rax
mov eax, dword [rcx + 0x60]
mov qword [rsp + 0x1a8], rdi
mov edi, dword [rcx + 0x6c]
mov qword [rsp + 0x118], rax
mov eax, dword [rcx + 0x64]
mov qword [rsp + 0x1a0], r12
mov r12d, dword [r9 + 0xac]
mov qword [rsp + 0x138], rax
mov eax, dword [rcx + 0x68]
mov qword [rsp + 0x198], r13
mov r13d, dword [r9 + 0xc0]
mov qword [rsp + 0xf8], rax
mov eax, dword [rcx + 0x70]
mov qword [rsp + 0x190], r14
mov r14d, dword [r9 + 0xb4]
mov qword [rsp + 0x68], rax
mov eax, dword [rcx + 0x74]
mov ecx, dword [rcx + 0x7c]
mov qword [rsp + 0x50], rcx
mov ecx, dword [r9 + 0x80]
mov qword [rsp + 0x98], rcx
mov ecx, dword [r9 + 0x84]
mov qword [rsp + 0x70], rcx
mov ecx, dword [r9 + 0x88]
mov qword [rsp + 0x38], rcx
mov ecx, dword [r9 + 0x8c]
mov qword [rsp + 0x40], rcx
mov ecx, dword [r9 + 0x90]
mov qword [rsp + 0x168], rcx
mov ecx, dword [r9 + 0x94]
mov qword [rsp + 0x120], rcx
mov ecx, dword [r9 + 0x98]
mov qword [rsp + 0x110], rcx
mov ecx, dword [r9 + 0x9c]
mov qword [rsp + 0xa0], rcx
mov ecx, dword [r9 + 0xa0]
mov qword [rsp + 0x88], rcx
mov ecx, dword [r9 + 0xa4]
mov qword [rsp + 0x188], r15
mov r15d, dword [r9 + 0xb0]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x2c], esi
mov dword [rsp + 0x20], edx
mov ebp, dword [r9 + 0xc4]
test r11, r11
je 0x18017a504
nop dword [rax + rax]
mov rdx, qword [rsp + 0x1d8]
lea rcx, [r10 + r9]
mov rdi, r11
mov eax, 0x20
sub rax, r10
cmp rax, r11
cmovbe rdi, rax
mov r8, rdi
call fcn.180321590
mov r10, qword [rsp + 0x1e8]
mov r11, qword [rsp + 0x1e0]
add r10, rdi
add qword [rsp + 0x1d8], rdi
sub r11, rdi
mov qword [rsp + 0x1e8], r10
mov qword [rsp + 0x1e0], r11
cmp r10, 0x20
jne 0x18017a4da
mov r8, qword [rsp + 0x1d0]
mov ecx, dword [r8]
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 4]
mov dword [rsp + 0x17c], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 8]
mov dword [rsp + 0x154], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0xc]
mov dword [rsp + 0x15c], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x10]
mov dword [rsp + 0x160], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x14]
mov dword [rsp + 0x140], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x18]
mov dword [rsp + 0x158], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x1c]
rol ecx, 0x10
mov dword [rsp + 0x174], edx
mov edx, ecx
mov r10d, dword [rsp + 0x20]
mov eax, ecx
xor r10d, dword [rsp + 0xa0]
mov r11d, ebp
xor r10d, dword [rsp + 0x50]
mov edi, r13d
xor r10d, dword [rsp + 0x90]
mov r9d, ebx
xor r10d, dword [rsp + 0x78]
xor r9d, dword [rsp + 0x110]
xor r9d, dword [rsp + 0x80]
xor r9d, dword [rsp + 0x108]
xor r9d, dword [rsp + 0xb8]
xor dword [rsp + 0x78], r9d
xor dword [rsp + 0x90], r9d
xor dword [rsp + 0x50], r9d
shl eax, 8
shr edx, 8
xor edx, eax
shl ecx, 8
mov rax, qword [rsp + 0x60]
and edx, 0xff00ff
xor edx, ecx
xor r11d, eax
xor r11d, dword [rsp + 0x70]
mov ecx, r12d
xor r11d, dword [rsp + 0x138]
xor r11d, dword [rsp + 0xa8]
mov rax, qword [rsp + 0x88]
mov esi, r11d
xor esi, dword [rsp + 0x2c]
xor edi, eax
xor edi, dword [rsp + 0x98]
mov r8d, r11d
mov rax, qword [rsp + 0x40]
xor r8d, r14d
xor r8d, dword [rsp + 0x120]
xor ecx, eax
xor r8d, dword [rsp + 0xf0]
mov eax, esi
xor eax, dword [rsp + 0x38]
xor eax, dword [rsp + 0xf8]
xor ecx, dword [rsp + 0x58]
xor eax, dword [rsp + 0xe0]
xor eax, dword [rsp + 0xd8]
xor edi, dword [rsp + 0x118]
xor edi, dword [rsp + 0xb0]
xor r8d, dword [rsp + 0x130]
xor r8d, dword [rsp + 0xc0]
xor ecx, dword [rsp + 0x128]
xor ecx, dword [rsp + 0xd0]
xor dword [rsp + 0xd0], eax
xor dword [rsp + 0x128], eax
xor dword [rsp + 0x58], eax
xor dword [rsp + 0xd8], r11d
xor dword [rsp + 0xb8], r8d
xor dword [rsp + 0xb0], r10d
xor dword [rsp + 0xa8], edi
xor dword [rsp + 0xe0], r11d
xor dword [rsp + 0x108], r8d
xor dword [rsp + 0x118], r10d
xor dword [rsp + 0x138], edi
xor dword [rsp + 0xf8], r11d
xor dword [rsp + 0x80], r8d
xor dword [rsp + 0x98], r10d
xor dword [rsp + 0x70], edi
xor dword [rsp + 0x38], r11d
mov dword [rsp + 0x178], edx
mov edx, r11d
xor edx, r15d
xor edx, dword [rsp + 0x168]
xor edx, dword [rsp + 0x68]
xor edx, dword [rsp + 0x100]
xor edx, dword [rsp + 0xc8]
xor dword [rsp + 0xc8], ecx
xor dword [rsp + 0xc0], edx
xor dword [rsp + 0x100], ecx
xor dword [rsp + 0x130], edx
xor dword [rsp + 0x68], ecx
xor dword [rsp + 0xf0], edx
xor dword [rsp + 0x40], eax
xor dword [rsp + 0x120], edx
xor r14d, edx
xor dword [rsp + 0x110], r8d
xor r12d, eax
mov rax, qword [rsp + 0xa8]
xor ebx, r8d
xor dword [rsp + 0x168], ecx
xor ebp, edi
mov rdx, qword [rsp + 0x108]
xor r15d, ecx
xor dword [rsp + 0xa0], r9d
mov r11d, edx
xor edx, dword [rsp + 0x50]
xor r11d, eax
xor dword [rsp + 0x20], r9d
xor r13d, r10d
mov r8, qword [rsp + 0x130]
xor dword [rsp + 0x88], r10d
xor dword [rsp + 0x60], edi
mov r9d, dword [rsp + 0x128]
xor r11d, dword [rsp + 0xc0]
xor r9d, eax
mov edi, dword [rsp + 0x100]
xor edi, dword [rsp + 0xd0]
xor r9d, dword [rsp + 0xd8]
mov dword [rsp + 0xec], r14d
mov r14d, dword [rsp + 0xe0]
xor r14d, eax
mov qword [rsp + 0x108], rdx
mov rdx, qword [rsp + 0x70]
mov dword [rsp + 0x170], r14d
mov r14, qword [rsp + 0x138]
mov ecx, r14d
mov dword [rsp + 0x1e8], ebp
xor ecx, r8d
mov dword [rsp + 0xe8], r13d
xor ecx, dword [rsp + 0x80]
mov ebp, r8d
mov r13d, dword [rsp + 0x118]
xor ebp, eax
xor dword [rsp + 0x118], edx
mov eax, r14d
xor eax, dword [rsp + 0xe0]
mov r8d, r14d
xor r8d, dword [rsp + 0x100]
mov r10d, r14d
xor r14d, dword [rsp + 0xf8]
xor ebp, dword [rsp + 0xc8]
xor r10d, dword [rsp + 0xb0]
xor r13d, dword [rsp + 0x78]
mov dword [rsp + 0x30], r12d
mov r12d, dword [rsp + 0x90]
xor r12d, dword [rsp + 0xb8]
mov qword [rsp + 0x138], r14
mov r14, qword [rsp + 0x58]
xor eax, r14d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x128]
xor eax, dword [rsp + 0x68]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xf0]
xor r8d, eax
mov dword [rsp + 0xf0], ecx
mov rcx, qword [rsp + 0x98]
xor edx, eax
mov rax, qword [rsp + 0x70]
xor dword [rsp + 0x90], ecx
mov dword [rsp + 0x48], r8d
mov r8d, eax
xor r8d, dword [rsp + 0xf8]
mov dword [rsp + 0x24], edx
mov edx, eax
xor edx, dword [rsp + 0x68]
xor eax, dword [rsp + 0x38]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x144], edi
mov dword [rsp + 0x148], ebp
mov dword [rsp + 0x14c], r11d
mov dword [rsp + 0x150], r10d
xor r14d, dword [rsp + 0x168]
xor r8d, eax
xor dword [rsp + 0x40], r15d
mov eax, dword [rsp + 0x24]
xor eax, dword [rsp + 0x110]
mov r15, qword [rsp + 0x88]
xor r15d, dword [rsp + 0x1e8]
xor edx, dword [rsp + 0x120]
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0xa0]
xor dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x88]
xor dword [rsp + 0x50], eax
mov qword [rsp + 0x58], r14
mov r14, qword [rsp + 0x60]
xor ecx, r14d
mov dword [rsp + 0x68], r8d
mov eax, r14d
mov qword [rsp + 0x98], rcx
xor eax, dword [rsp + 0x120]
mov ecx, r14d
xor ecx, dword [rsp + 0x168]
xor eax, ebx
xor ebx, dword [rsp + 0x78]
mov r8d, r14d
xor r8d, dword [rsp + 0x38]
xor r14d, esi
xor r8d, dword [rsp + 0x30]
xor ecx, dword [rsp + 0xec]
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0x110]
xor eax, dword [rsp + 0x20]
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0xe8]
xor dword [rsp + 0xa0], eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x1e8]
mov qword [rsp + 0x88], r15
mov r15d, eax
xor eax, dword [rsp + 0x28]
xor eax, dword [rsp + 0xc0]
xor r15d, dword [rsp + 0xec]
xor r15d, dword [rsp + 0xb8]
mov qword [rsp + 0x60], r14
mov r14d, dword [rsp + 0x1e8]
xor r14d, esi
mov dword [rsp + 0x38], r8d
mov rsi, qword [rsp + 0xd8]
xor dword [rsp + 0x1e8], esi
mov rsi, qword [rsp + 0xd0]
mov dword [rsp + 0x28], r14d
xor dword [rsp + 0x28], esi
mov rsi, qword [rsp + 0xc8]
xor dword [rsp + 0x30], esi
mov rsi, qword [rsp + 0xb0]
xor dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0xa8]
xor dword [rsp + 0x2c], esi
mov esi, r10d
xor esi, dword [rsp + 0x1e8]
mov dword [rsp + 0xa8], esi
mov esi, r10d
xor esi, dword [rsp + 0x170]
xor esi, dword [rsp + 0x28]
mov dword [rsp + 0xb0], esi
mov esi, r9d
xor esi, dword [rsp + 0x30]
mov dword [rsp + 0xb8], esi
mov esi, r10d
xor r10d, ebp
mov dword [rsp + 0x100], r15d
xor r10d, r15d
xor esi, edi
mov dword [rsp + 0xc8], r10d
xor esi, eax
mov r10d, r11d
mov dword [rsp + 0xc0], esi
xor r10d, ebx
mov dword [rsp + 0xd0], r10d
mov r10d, r12d
xor r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x2c]
mov r14d, ebx
mov rbx, qword [rsp + 0x60]
mov ebp, r11d
mov rdi, qword [rsp + 0x40]
xor ebp, eax
mov rsi, qword [rsp + 0x110]
mov eax, r11d
xor eax, dword [rsp + 0x1e8]
xor dword [rsp + 0x100], esi
xor eax, r8d
mov r8d, dword [rsp + 0x68]
xor dword [rsp + 0x28], edi
xor r14d, dword [rsp + 0xa0]
mov r15d, dword [rsp + 0x20]
mov dword [rsp + 0xd8], r10d
mov r10d, r13d
xor r10d, r11d
mov dword [rsp + 0x78], r10d
mov r10d, r11d
xor r10d, dword [rsp + 0x30]
xor r11d, ebx
xor r10d, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xf8]
xor ebp, eax
mov dword [rsp + 0xec], r10d
mov r10, qword [rsp + 0x88]
xor r15d, r10d
mov dword [rsp + 0x2c], r11d
mov r11d, r10d
xor r11d, ecx
mov ecx, r10d
xor r11d, dword [rsp + 0x24]
xor ecx, edi
mov rdi, qword [rsp + 0x50]
mov dword [rsp + 0x60], ecx
xor esi, edi
xor dword [rsp + 0x60], edx
mov ecx, r10d
xor ecx, ebx
mov qword [rsp + 0x110], rsi
mov rbx, qword [rsp + 0x70]
xor ecx, r8d
xor r10d, ebx
mov dword [rsp + 0x70], ecx
mov rcx, qword [rsp + 0x58]
xor dword [rsp + 0x38], ecx
mov qword [rsp + 0x88], r10
mov r10, qword [rsp + 0x80]
xor eax, r10d
xor r10d, dword [rsp + 0x90]
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0x98]
xor dword [rsp + 0xa0], eax
mov esi, eax
xor esi, edx
mov qword [rsp + 0x80], r10
xor esi, dword [rsp + 0xf0]
mov edx, eax
xor edx, ecx
mov ecx, eax
xor ecx, ebx
mov dword [rsp + 0x40], edx
mov rbx, qword [rsp + 0x128]
mov edx, dword [rsp + 0xe0]
xor r8d, ebx
mov dword [rsp + 0x58], ecx
mov rcx, qword [rsp + 0x138]
xor dword [rsp + 0x58], edx
xor eax, ecx
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x24]
xor eax, dword [rsp + 0x108]
mov dword [rsp + 0x68], r8d
mov r8d, dword [rsp + 0x48]
xor dword [rsp + 0x40], r8d
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x118]
xor edi, eax
mov dword [rsp + 0x48], esi
xor r13d, dword [rsp + 0x158]
mov r10d, eax
xor dword [rsp + 0x108], r13d
mov esi, eax
mov r13d, dword [rsp + 0x158]
xor r10d, r9d
mov r9d, dword [rsp + 0x17c]
xor r10d, ecx
xor dword [rsp + 0xa8], r9d
xor esi, r8d
mov r8d, dword [rsp + 0x15c]
xor dword [rsp + 0xb8], r8d
mov ecx, dword [rsp + 0x158]
xor dword [rsp + 0xd0], ecx
mov ecx, dword [rsp + 0x174]
xor dword [rsp + 0xd8], ecx
mov ecx, dword [rsp + 0x178]
xor dword [rsp + 0x78], ecx
xor dword [rsp + 0x88], r13d
mov dword [rsp + 0x1e8], ecx
mov qword [rsp + 0x50], rdi
mov edi, eax
mov eax, dword [rsp + 0x154]
xor edi, ebx
xor dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x160]
xor dword [rsp + 0x1e8], eax
xor dword [rsp + 0xc0], eax
mov eax, ecx
mov ebx, dword [rsp + 0x140]
xor eax, r8d
xor dword [rsp + 0xc8], ebx
mov r8d, ecx
xor dword [rsp + 0x80], ebx
xor r8d, r9d
xor dword [rsp + 0x68], r8d
mov r9d, ecx
xor r9d, dword [rsp + 0x118]
xor r12d, ebx
xor dword [rsp + 0xf0], r12d
xor r10d, r8d
mov r12d, dword [rsp + 0x174]
mov ecx, dword [rsp + 0x144]
xor ecx, dword [rsp + 0x154]
xor r9d, dword [rsp + 0x170]
xor edx, ecx
mov ecx, dword [rsp + 0x148]
xor dword [rsp + 0x98], r12d
xor ecx, eax
xor dword [rsp + 0x50], r13d
xor edi, ecx
mov ecx, dword [rsp + 0x14c]
xor ecx, dword [rsp + 0x1e8]
mov dword [rsp + 0xe0], edx
xor esi, ecx
mov ecx, dword [rsp + 0x150]
mov edx, r12d
xor edx, eax
xor ecx, r12d
xor dword [rsp + 0x48], edx
mov eax, r12d
xor eax, dword [rsp + 0x154]
xor dword [rsp + 0x90], ecx
mov ecx, r12d
xor dword [rsp + 0x40], eax
xor ecx, dword [rsp + 0x178]
xor dword [rsp + 0x58], ecx
xor dword [rsp + 0x38], ecx
mov dword [rsp + 0xe8], edx
mov edx, dword [rsp + 0x24]
xor edx, dword [rsp + 0x1e8]
mov dword [rsp + 0x24], edx
mov edx, r13d
xor edx, eax
mov eax, r13d
mov dword [rsp + 0x20], edx
xor eax, r12d
xor dword [rsp + 0x70], eax
mov edx, r13d
xor edx, r8d
xor dword [rsp + 0x60], edx
xor dword [rsp + 0x28], eax
xor r13d, ebx
xor dword [rsp + 0x30], r13d
mov eax, ebx
mov r13d, dword [rsp + 0xe8]
xor eax, ecx
xor dword [rsp + 0xec], eax
xor dword [rsp + 0x2c], ebx
mov rax, qword [rsp + 0x80]
mov r8d, dword [rsp + 0xf0]
rol dword [rsp + 0x48], 2
rol dword [rsp + 0x24], 2
rol eax, 2
mov dword [rsp + 0x144], eax
mov rax, qword [rsp + 0x50]
rol eax, 2
mov dword [rsp + 0x160], eax
mov eax, dword [rsp + 0x20]
mov ecx, eax
xor eax, dword [rsp + 0x100]
xor ecx, r11d
rol ecx, 3
mov dword [rsp + 0x150], ecx
mov ecx, r13d
xor ecx, dword [rsp + 0xf8]
xor r13d, r14d
rol ecx, 3
rol eax, 4
mov dword [rsp + 0x14c], ecx
mov ecx, dword [rsp + 0x1e8]
xor ecx, dword [rsp + 0x110]
rol ecx, 3
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x148], ecx
mov ecx, ebx
xor ecx, dword [rsp + 0xa0]
xor ebx, edx
xor ebx, ebp
rol esi, 1
mov ebp, dword [rsp + 0x1e8]
xor ebp, r15d
rol r13d, 4
mov r15d, dword [rsp + 0xe0]
rol ecx, 3
rol ebp, 4
mov dword [rsp + 0xe8], r13d
mov dword [rsp + 0x140], ecx
mov ecx, esi
mov rsi, qword [rsp + 0x108]
rol r8d, 1
rol esi, 1
mov dword [rsp + 0x1e8], ebp
mov rbp, qword [rsp + 0x90]
shl r15, 0x20
shl rdi, 0x20
shl rcx, 0x20
shl r8, 0x20
shl rsi, 0x20
rol ebx, 4
mov r13d, r9d
shl r13, 0x20
or r13, rax
mov r14d, r10d
mov eax, dword [rsp + 0xb0]
shl r14, 0x20
or r14, rax
rol ebp, 1
mov eax, dword [rsp + 0xb8]
or r15, rax
mov dword [rsp + 0x15c], ebx
mov eax, dword [rsp + 0xc0]
or rdi, rax
mov eax, dword [rsp + 0xc8]
or rcx, rax
mov eax, dword [rsp + 0xd0]
or r8, rax
mov eax, dword [rsp + 0xd8]
or rsi, rax
mov eax, dword [rsp + 0x78]
shl rbp, 0x20
or rbp, rax
mov qword [rsp + 0x130], 0
jmp 0x180179d15
mov r8, qword [rsp + 0x78]
xor rbp, rcx
mov rax, r14
or rax, r13
not r14
xor rax, rdi
xor r15, rdi
and rdi, r13
xor r14, rdi
xor rdi, r15
and r15, rax
not rax
xor r15, r14
or r14, rdi
xor r13, r14
xor rdi, r15
and r15, r14
mov r10d, r13d
xor r14, rax
rol r10d, 2
mov edx, r14d
mov rax, rsi
or rax, r8
rol edx, 2
xor rax, rcx
not rsi
and rcx, r8
xor rsi, rcx
xor rcx, rbp
and rbp, rax
not rax
xor rbp, rsi
or rsi, rcx
xor rcx, rbp
xor r8, rsi
xor r8, r14
xor rcx, r13
xor edx, r8d
shr r14, 0x20
xor r10d, ecx
rol r14d, 2
and rbp, rsi
shr r13, 0x20
xor rsi, rax
rol r13d, 2
mov rax, rcx
xor rsi, r15
shr rax, 0x20
xor r13d, eax
rol ecx, 0xe
rol eax, 0xe
xor ecx, r10d
xor eax, r13d
mov r11d, ecx
mov r9d, eax
mov rax, r8
shr rax, 0x20
xor r14d, eax
rol r8d, 0xe
rol eax, 0xe
xor r8d, edx
xor eax, r14d
rol edx, 0xa
mov ecx, eax
rol r14d, 0xa
xor r14, rcx
mov eax, edx
xor rax, r8
rol ecx, 1
shl r14, 0x20
mov edx, r15d
or r14, rax
rol r8d, 1
mov eax, r8d
shl rcx, 0x20
or rcx, rax
rol edx, 2
mov rax, rsi
mov qword [rsp + 0x78], rcx
shr rax, 0x20
xor edx, esi
rol esi, 0xe
xor rbp, rdi
shr r15, 0x20
xor esi, edx
rol r15d, 2
xor r15d, eax
rol edx, 0xa
rol eax, 0xe
xor eax, r15d
mov r8d, esi
mov ecx, eax
mov eax, edx
mov edx, edi
xor rax, r8
shr rdi, 0x20
rol edi, 2
rol r8d, 1
rol edx, 2
xor edx, ebp
rol r13d, 0xa
xor r13, r9
rol r15d, 0xa
xor r15, rcx
shl r13, 0x20
rol ecx, 1
mov esi, ecx
shl r15, 0x20
or r15, rax
shl rsi, 0x20
mov eax, r8d
or rsi, rax
rol r10d, 0xa
mov rax, rbp
rol r9d, 1
shr rax, 0x20
xor edi, eax
rol ebp, 0xe
rol eax, 0xe
xor ebp, edx
xor eax, edi
mov r8d, ebp
mov ecx, eax
rol edi, 0xa
xor rdi, rcx
rol edx, 0xa
rol ecx, 1
mov ebp, ecx
mov eax, edx
mov rdx, qword [rsp + 0x130]
xor rax, r8
rol r8d, 1
shl rdi, 0x20
or rdi, rax
shl rbp, 0x20
mov eax, r8d
lea r8, [0x180000000]
or rbp, rax
mov ecx, r9d
shl rcx, 0x20
mov eax, r10d
xor rax, r11
rol r11d, 1
or r13, rax
mov eax, r11d
xor r13, qword [rdx + r8 + 0x441f10]
or rcx, rax
xor rcx, qword [rdx + r8 + 0x441df0]
add rdx, 8
mov qword [rsp + 0x130], rdx
cmp rdx, 0x40
jl 0x180179d10
mov r12, qword [rsp + 0x88]
mov rax, r13
mov r8d, dword [rsp + 0x150]
mov ebx, dword [rsp + 0x140]
shr rax, 0x20
mov qword [rsp + 0xe0], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x128], rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0x100], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x130], rax
mov rax, rcx
shr rax, 0x20
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x78]
shr rax, 0x20
mov qword [rsp + 0x90], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x118], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x138], rax
mov eax, dword [rsp + 0x98]
mov qword [rsp + 0xc0], rdi
mov edi, dword [rsp + 0x70]
mov qword [rsp + 0xd0], r14
mov r14d, dword [rsp + 0x38]
mov qword [rsp + 0xb0], rsi
mov esi, dword [rsp + 0x60]
mov qword [rsp + 0xb8], rcx
mov ecx, dword [rsp + 0x14c]
mov qword [rsp + 0xc8], r15
mov r15d, dword [rsp + 0x148]
mov r12d, r12d
shl r12, 0x20
or r12, rax
shl rdi, 0x20
mov eax, dword [rsp + 0x58]
or rdi, rax
shl r14, 0x20
mov eax, dword [rsp + 0x68]
or r14, rax
shl rsi, 0x20
mov eax, dword [rsp + 0x40]
or rsi, rax
shl rcx, 0x20
mov eax, dword [rsp + 0x24]
or rcx, rax
mov qword [rsp + 0xd8], r13
mov eax, dword [rsp + 0x144]
mov r13d, dword [rsp + 0x48]
shl r15, 0x20
shl r8, 0x20
or r15, rax
mov eax, dword [rsp + 0x160]
or r8, r13
mov r13d, dword [rsp + 0xe8]
shl rbx, 0x20
mov qword [rsp + 0xa8], rbp
or rbx, rax
mov ebp, dword [rsp + 0x1e8]
mov qword [rsp + 0x120], 0
jmp 0x18017a075
mov rcx, qword [rsp + 0x50]
mov rax, rdi
xor rbx, r8
or rax, r12
not rdi
xor rax, rsi
xor r14, rsi
and rsi, r12
xor rdi, rsi
xor rsi, r14
and r14, rax
not rax
xor r14, rdi
or rdi, rsi
xor r12, rdi
xor rsi, r14
and r14, rdi
mov r10d, r12d
xor rdi, rax
rol r10d, 2
mov edx, edi
mov rax, r15
or rax, rcx
rol edx, 2
xor rax, r8
not r15
and r8, rcx
xor r15, r8
xor r8, rbx
and rbx, rax
not rax
xor rbx, r15
or r15, r8
xor rcx, r15
xor r8, rbx
xor rcx, rdi
xor r8, r12
xor edx, ecx
shr rdi, 0x20
rol edi, 2
xor r10d, r8d
and rbx, r15
shr r12, 0x20
xor r15, rax
rol r12d, 2
mov rax, r8
xor r15, r14
shr rax, 0x20
xor r12d, eax
rol r8d, 0xe
rol eax, 0xe
xor r8d, r10d
xor eax, r12d
mov r11d, r8d
mov r9d, eax
mov rax, rcx
shr rax, 0x20
xor edi, eax
rol ecx, 0xe
xor ecx, edx
rol eax, 0xe
xor eax, edi
mov r8d, ecx
mov ecx, eax
rol edi, 0xa
xor rdi, rcx
rol edx, 0xa
mov eax, edx
mov edx, r14d
xor rax, r8
rol ecx, 1
shl rdi, 0x20
or rdi, rax
rol r8d, 1
mov eax, r8d
shl rcx, 0x20
or rcx, rax
rol edx, 2
mov rax, r15
mov qword [rsp + 0x50], rcx
shr rax, 0x20
xor edx, r15d
xor rbx, rsi
shr r14, 0x20
rol r14d, 2
xor r14d, eax
rol r15d, 0xe
rol eax, 0xe
xor r15d, edx
xor eax, r14d
rol edx, 0xa
mov ecx, eax
mov r8d, r15d
mov eax, edx
mov edx, esi
xor rax, r8
shr rsi, 0x20
rol r8d, 1
rol esi, 2
rol r12d, 0xa
xor r12, r9
rol r14d, 0xa
xor r14, rcx
rol edx, 2
xor edx, ebx
rol ecx, 1
mov r15d, ecx
rol r10d, 0xa
shl r12, 0x20
shl r14, 0x20
or r14, rax
shl r15, 0x20
mov eax, r8d
or r15, rax
rol r9d, 1
mov rax, rbx
rol ebx, 0xe
shr rax, 0x20
xor ebx, edx
xor esi, eax
mov r8d, ebx
rol eax, 0xe
xor eax, esi
rol edx, 0xa
mov ecx, eax
rol esi, 0xa
xor rsi, rcx
mov eax, edx
xor rax, r8
rol ecx, 1
rol r8d, 1
mov ebx, ecx
mov rcx, qword [rsp + 0x120]
shl rsi, 0x20
or rsi, rax
shl rbx, 0x20
mov eax, r8d
or rbx, rax
mov r8d, r9d
shl r8, 0x20
mov eax, r10d
lea r10, [0x180000000]
xor rax, r11
rol r11d, 1
or r12, rax
mov eax, r11d
xor r12, qword [rcx + r10 + 0x441f90]
or r8, rax
xor r8, qword [rcx + r10 + 0x441fd0]
add rcx, 8
mov qword [rsp + 0x120], rcx
cmp rcx, 0x40
jl 0x18017a070
mov edx, dword [rsp + 0x20]
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0x38], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x40], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x168], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x120], rax
mov rax, r8
shr rax, 0x20
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x50]
shr rax, 0x20
mov qword [rsp + 0xa0], rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0x88], rax
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0x70], rbx
xor ecx, ecx
mov ebx, dword [rsp + 0x15c]
mov qword [rsp + 0xf8], r12
mov r12d, dword [rsp + 0x30]
mov qword [rsp + 0x98], r15
mov r15d, dword [rsp + 0x28]
mov qword [rsp + 0x68], r14
mov r14d, dword [rsp + 0xec]
mov qword [rsp + 0xf0], rsi
mov esi, dword [rsp + 0x2c]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x58], rdi
xor r15d, r14d
xor ebp, ebx
mov eax, r12d
not r12d
or eax, esi
xor eax, r14d
and r14d, esi
xor r12d, r14d
xor r14d, r15d
and r15d, eax
not eax
xor r15d, r12d
or r12d, r14d
xor r14d, r15d
xor esi, r12d
and r15d, r12d
xor r12d, eax
mov eax, r13d
not r13d
or eax, edx
xor eax, ebx
and ebx, edx
xor r13d, ebx
xor ebx, ebp
and ebp, eax
not eax
xor ebp, r13d
or r13d, ebx
xor edx, r13d
xor ebx, ebp
xor edx, r12d
xor ebx, esi
and ebp, r13d
rol r12d, 2
xor ebp, r14d
rol esi, 2
xor r13d, eax
rol r14d, 2
xor r13d, r15d
xor r12d, edx
xor esi, ebx
rol r15d, 2
xor r15d, r13d
rol ebx, 0xe
xor r14d, ebp
rol edx, 0xe
xor edx, r12d
rol r13d, 0xe
xor r13d, r15d
rol r12d, 0xa
xor ebx, esi
rol r15d, 0xa
xor r12d, edx
rol esi, 0xa
xor esi, dword [rcx + r10 + 0x441f70]
xor r15d, r13d
xor esi, ebx
rol ebp, 0xe
xor ebp, r14d
rol ebx, 1
xor ebx, dword [rcx + r10 + 0x441ef0]
mov eax, r12d
rol r14d, 0xa
or eax, esi
xor r14d, ebp
rol edx, 1
xor r15d, r14d
rol r13d, 1
xor eax, r14d
not r12d
and r14d, esi
xor r12d, r14d
xor r14d, r15d
and r15d, eax
not eax
xor r15d, r12d
or r12d, r14d
xor r14d, r15d
xor esi, r12d
and r15d, r12d
xor r12d, eax
mov eax, r13d
rol ebp, 1
xor ebp, ebx
or eax, edx
xor eax, ebx
not r13d
and ebx, edx
xor r13d, ebx
xor ebx, ebp
and ebp, eax
not eax
xor ebp, r13d
or r13d, ebx
xor ebx, ebp
xor edx, r13d
xor ebx, esi
and ebp, r13d
xor edx, r12d
rol esi, 2
xor esi, ebx
rol r12d, 2
xor ebp, r14d
rol ebx, 0xe
xor ebx, esi
rol r14d, 2
xor r12d, edx
rol esi, 0xa
xor esi, dword [rcx + r10 + 0x441f74]
xor r14d, ebp
xor r13d, eax
rol edx, 0xe
xor r13d, r15d
rol ebp, 0xe
rol r15d, 2
xor edx, r12d
xor r15d, r13d
rol r12d, 0xa
xor ebp, r14d
rol r13d, 0xe
xor r13d, r15d
rol r14d, 0xa
xor esi, ebx
rol r15d, 0xa
rol ebx, 1
xor r12d, edx
xor ebx, dword [rcx + r10 + 0x441ef4]
xor r15d, r13d
xor r14d, ebp
rol edx, 1
add rcx, 8
rol r13d, 1
rol ebp, 1
cmp rcx, 0x20
jl 0x18017a323
mov r11, qword [rsp + 0x1e0]
xor r10d, r10d
mov qword [rsp + 0x1e8], r10
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x2c], esi
jmp 0x18017a4eb
mov rdi, qword [rsp + 0x58]
mov edx, dword [rsp + 0x20]
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x1d0]
test r11, r11
jne 0x180179190
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xd8]
mov dword [r9 + 0x28], ecx
mov rcx, qword [rsp + 0xd0]
mov dword [r9 + 0x2c], ecx
mov rcx, qword [rsp + 0xc8]
mov dword [r9 + 0x30], ecx
mov rcx, qword [rsp + 0xc0]
mov dword [r9 + 0x34], ecx
mov rcx, qword [rsp + 0xb8]
mov dword [r9 + 0x38], ecx
mov rcx, qword [rsp + 0x78]
mov dword [r9 + 0x3c], ecx
mov rcx, qword [rsp + 0xb0]
mov dword [r9 + 0x40], ecx
mov rcx, qword [rsp + 0xa8]
mov dword [r9 + 0x74], eax
mov rax, qword [rsp + 0x50]
mov dword [r9 + 0x44], ecx
mov rcx, qword [rsp + 0xe0]
mov dword [r9 + 0x7c], eax
mov rax, qword [rsp + 0x98]
mov dword [r9 + 0x48], ecx
mov rcx, qword [rsp + 0x128]
mov dword [r9 + 0x80], eax
mov rax, qword [rsp + 0x70]
mov dword [r9 + 0x4c], ecx
mov rcx, qword [rsp + 0x100]
mov dword [r9 + 0x84], eax
mov rax, qword [rsp + 0x38]
mov dword [r9 + 0x50], ecx
mov rcx, qword [rsp + 0x130]
mov dword [r9 + 0x88], eax
mov rax, qword [rsp + 0x40]
mov dword [r9 + 0x54], ecx
mov rcx, qword [rsp + 0x108]
mov dword [r9 + 0x8c], eax
mov rax, qword [rsp + 0x168]
mov dword [r9 + 0x58], ecx
mov rcx, qword [rsp + 0x90]
mov dword [r9 + 0x90], eax
mov rax, qword [rsp + 0x120]
mov dword [r9 + 0x5c], ecx
mov rcx, qword [rsp + 0x118]
mov dword [r9 + 0x94], eax
mov rax, qword [rsp + 0x110]
mov dword [r9 + 0x60], ecx
mov rcx, qword [rsp + 0x138]
mov dword [r9 + 0x98], eax
mov rax, qword [rsp + 0xa0]
mov dword [r9 + 0x64], ecx
mov rcx, qword [rsp + 0xf8]
mov dword [r9 + 0x9c], eax
mov rax, qword [rsp + 0x88]
mov dword [r9 + 0x68], ecx
mov rcx, qword [rsp + 0x68]
mov dword [r9 + 0xa0], eax
mov rax, qword [rsp + 0x60]
mov dword [r9 + 0x6c], edi
mov dword [r9 + 0xa8], esi
mov dword [r9 + 0xac], r12d
mov dword [r9 + 0xb0], r15d
mov dword [r9 + 0xb4], r14d
mov dword [r9 + 0xb8], ebx
mov dword [r9 + 0xc0], r13d
mov dword [r9 + 0xc4], ebp
mov dword [r9 + 0x70], ecx
mov dword [r9 + 0x78], r8d
mov dword [r9 + 0xa4], eax
mov dword [r9 + 0xbc], edx
mov qword [r9 + 0x20], r10
mov r15, qword [rsp + 0x188]
mov r14, qword [rsp + 0x190]
mov r13, qword [rsp + 0x198]
mov r12, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
mov rbp, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret