Function at 0x520a50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
mov eax, pe_nt_image_headers64
mov rbx, rcx
mov qword [rsp + 0x1f8], r9
mov r9, qword [rcx + 0x40]
mov ecx, r8d
sar eax, cl
mov r10d, edx
mov r8d, 0x3f
mov edx, eax
lea rcx, [rbx + r9 + 1]
sub r8, r9
neg edx
and edx, r10d
or edx, eax
mov byte [rbx + r9], dl
xor edx, edx
call sub.msvcrt.dll_memset
mov ecx, dword [rbx + 0xd4]
mov edx, dword [rbx + 0x74]
mov r14d, dword [rbx + 0xdc]
mov r10d, dword [rbx + 0xb8]
mov edi, dword [rbx + 0xbc]
mov r8d, dword [rbx + 0xc0]
mov dword [rsp + 0xac], ecx
mov r15d, dword [rbx + 0xc4]
mov eax, dword [rbx + 0xd0]
mov dword [rsp + 0x40], edx
mov r11d, dword [rbx + 0xc8]
mov r13d, dword [rbx + 0xcc]
mov dword [rsp + 0xa4], r14d
mov ecx, dword [rbx + 0xd8]
mov esi, dword [rbx + 0xec]
mov dword [rsp + 0xd4], r10d
mov r12d, dword [rbx + 0xe4]
mov ebp, dword [rbx + 0xe0]
mov dword [rsp + 0xe0], edi
mov r9d, dword [rbx + 0xe8]
mov r14d, dword [rbx + 0xf0]
mov dword [rsp + 0xe8], r8d
mov dword [rsp + 0xe4], r15d
mov dword [rsp + 0xd8], r11d
mov dword [rsp + 0xdc], r13d
mov dword [rsp + 0x74], eax
mov dword [rsp + 0xa8], ecx
mov dword [rsp + 0xa0], r12d
mov dword [rsp + 0x6c], r9d
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x64], r14d
mov dword [rsp + 0x70], ebp
mov ebp, dword [rbx + 0xf4]
mov eax, dword [rbx + 0xfc]
mov r12d, dword [rbx + 0xf8]
mov edi, dword [rbx + 0x1c]
mov esi, dword [rbx + 4]
mov dword [rsp + 0x9c], ebp
mov r9d, dword [rbx + 8]
mov r11d, dword [rbx + 0x10]
mov dword [rsp + 0x144], eax
mov eax, dword [rbx + 0xc]
mov r13d, dword [rbx + 0x14]
mov dword [rsp + 0x148], r12d
mov edx, dword [rbx + 0x18]
mov r12d, dword [rbx]
mov dword [rsp + 0x84], esi
mov ebp, dword [rbx + 0x20]
mov r8d, dword [rbx + 0x28]
mov dword [rsp + 0x8c], eax
mov eax, dword [rbx + 0x3c]
mov r14d, dword [rbx + 0x2c]
mov dword [rsp + 0x80], r12d
mov r10d, dword [rbx + 0x38]
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x88], r9d
mov dword [rsp + 0x90], r11d
mov r11d, dword [rbx + 0x34]
mov dword [rsp + 0x94], r13d
mov r13d, dword [rbx + 0x30]
mov dword [rsp + 0xb0], edx
add edx, dword [rbx + 0x90]
mov dword [rsp + 0xb4], edi
mov dword [rsp + 0x98], eax
mov eax, dword [rbx + 0x94]
mov r9d, dword [rbx + 0xa0]
mov ecx, dword [rbx + 0x98]
mov dword [rsp + 0xc0], r8d
add eax, edi
mov r12d, dword [rbx + 0xa4]
mov dword [rsp + 0xb8], ebp
add r9d, r8d
mov r8d, dword [rbx + 0xac]
mov edi, eax
add ecx, ebp
mov eax, dword [rbx + 0xa8]
add r12d, r14d
mov ebp, ecx
mov dword [rsp + 0xc4], r14d
add r8d, r11d
mov ecx, dword [rsp + 0x98]
add ecx, dword [rbx + 0xb4]
mov dword [rsp + 0xc8], r13d
add eax, r13d
mov r14d, r8d
mov dword [rsp + 0x50], ecx
mov r13d, r12d
mov dword [rsp + 0x10c], r8d
mov r8d, dword [rsp + 0x40]
mov ecx, eax
ror r13d, 0xf
mov r15d, dword [rbx + 0xb0]
ror ecx, 0xf
mov dword [rsp + 0x104], r12d
ror r14d, 0xf
rol r8d, 0xf
mov r12d, dword [rsp + 0x80]
mov dword [rsp + 0x108], eax
mov eax, ecx
lea r8d, [r8 + r8*4]
mov ecx, dword [rsp + 0xa8]
xor ecx, dword [rbx + 0x48]
add r15d, r10d
xor ecx, dword [rsp + 0x144]
mov dword [rsp + 0xbc], esi
xor ecx, r8d
add esi, dword [rbx + 0x9c]
mov dword [rsp + 0xcc], r11d
mov dword [rsp + 0xd0], r10d
mov r11d, esi
mov r10d, r9d
lea r8d, [rcx + rcx*2]
mov dword [rsp + 0x100], r9d
mov ecx, edx
mov r9d, r13d
mov r13d, r15d
mov dword [rsp + 0x110], r15d
mov r15d, r12d
ror r11d, 0xf
xor r15d, r14d
ror ecx, 0xf
mov dword [rsp + 0xec], esi
mov esi, r11d
xor r8d, r15d
mov r11d, dword [rsp + 0x50]
mov r15d, dword [rbx + 0x78]
not ecx
ror r13d, 0xf
and ecx, esi
ror r10d, 0xf
not esi
ror r11d, 0xf
xor ecx, r8d
add r15d, r12d
ror r15d, 0xe
mov r8d, ecx
xor r15d, ecx
mov r12d, r15d
not r12d
mov dword [rsp + 0x54], r12d
mov ecx, dword [rsp + 0xac]
xor ecx, dword [rbx + 0x4c]
xor ecx, dword [rsp + 0x148]
mov dword [rsp + 0x114], r8d
rol r8d, 0xf
lea r8d, [r8 + r8*4]
mov r12d, dword [rsp + 0x84]
mov dword [rsp + 0x3c], edi
xor ecx, r8d
mov dword [rsp + 0x44], ebp
ror ebp, 0xf
lea r8d, [rcx + rcx*2]
mov ecx, edi
mov edi, r12d
add r12d, dword [rbx + 0x7c]
ror ecx, 0xf
xor edi, r13d
ror r12d, 0xe
not ecx
and ecx, r10d
not r10d
xor ecx, edi
mov edi, ecx
xor edi, r8d
xor r12d, edi
mov dword [rsp + 0x118], edi
rol edi, 0xf
mov r8d, r12d
lea ecx, [rdi + rdi*4]
mov edi, dword [rsp + 0x74]
xor edi, dword [rbx + 0x50]
xor ecx, edi
not r8d
mov dword [rsp + 0x58], r8d
lea r8d, [rcx + rcx*2]
mov ecx, ebp
mov ebp, dword [rsp + 0x88]
not ecx
mov edi, ebp
and ecx, r9d
add ebp, dword [rbx + 0x80]
not r9d
xor edi, r11d
ror ebp, 0xe
xor edi, ecx
xor edi, r8d
mov r8d, dword [rsp + 0xdc]
xor r8d, dword [rbx + 0x54]
xor ebp, edi
mov ecx, ebp
not ecx
mov dword [rsp + 0x5c], ecx
mov ecx, edi
rol ecx, 0xf
lea ecx, [rcx + rcx*4]
xor ecx, r8d
mov r8d, esi
mov esi, dword [rsp + 0x8c]
and r8d, eax
lea ecx, [rcx + rcx*2]
not eax
xor r8d, esi
xor r8d, dword [rsp + 0x54]
add esi, dword [rbx + 0x84]
xor r8d, ecx
mov ecx, esi
ror ecx, 0xe
mov esi, ecx
mov ecx, r8d
xor esi, r8d
rol ecx, 0xf
mov dword [rsp + 0x48], esi
not esi
lea ecx, [rcx + rcx*4]
mov dword [rsp + 0x2c], esi
mov esi, dword [rsp + 0xd8]
xor esi, dword [rbx + 0x58]
xor ecx, esi
mov esi, r10d
mov r10d, dword [rsp + 0x90]
and esi, r14d
lea ecx, [rcx + rcx*2]
xor esi, r10d
add r10d, dword [rbx + 0x88]
xor esi, dword [rsp + 0x58]
xor esi, ecx
mov ecx, r10d
ror ecx, 0xe
mov r10d, ecx
mov ecx, esi
xor r10d, esi
rol ecx, 0xf
mov dword [rsp + 0x4c], r10d
not r10d
lea ecx, [rcx + rcx*4]
mov dword [rsp + 0x30], r10d
mov r10d, dword [rsp + 0xe4]
xor r10d, dword [rbx + 0x5c]
xor ecx, r10d
mov r10d, r9d
mov r9d, dword [rsp + 0x94]
and r10d, r13d
lea ecx, [rcx + rcx*2]
xor r10d, r9d
xor r10d, dword [rsp + 0x5c]
add r9d, dword [rbx + 0x8c]
xor r10d, ecx
mov ecx, r9d
ror ecx, 0xe
mov r9d, ecx
mov ecx, r10d
xor r9d, r10d
rol ecx, 0xf
mov dword [rsp + 0x78], r9d
not r9d
lea ecx, [rcx + rcx*4]
mov dword [rsp + 0x34], r9d
mov r9d, dword [rsp + 0xe8]
xor r9d, dword [rbx + 0x60]
xor ecx, r9d
mov r9d, eax
and r9d, r11d
lea ecx, [rcx + rcx*2]
xor r9d, dword [rsp + 0xb0]
xor r9d, dword [rsp + 0x2c]
xor r9d, ecx
ror edx, 0xe
or r14d, r15d
mov ecx, dword [rsp + 0x3c]
xor edx, r9d
mov eax, r9d
or r13d, r12d
or r11d, ebp
mov dword [rsp + 0xf0], edx
rol eax, 0xf
not edx
ror ecx, 0xe
mov dword [rsp + 0x38], edx
lea eax, [rax + rax*4]
mov edx, dword [rsp + 0xe0]
xor edx, dword [rbx + 0x64]
mov dword [rsp + 0xf4], ecx
xor eax, edx
lea edx, [rax + rax*2]
mov eax, dword [rsp + 0xb4]
xor eax, r14d
xor eax, dword [rsp + 0x30]
xor eax, edx
mov edx, dword [rsp + 0xd4]
xor edx, dword [rbx + 0x68]
mov r14d, eax
xor eax, ecx
mov ecx, dword [rsp + 0x9c]
xor ecx, dword [rbx + 0x6c]
not r14d
mov dword [rsp + 0x60], eax
mov eax, r14d
rol eax, 0xf
lea eax, [rax + rax*4]
xor eax, edx
lea edx, [rax + rax*2]
mov eax, dword [rsp + 0xb8]
xor eax, r13d
xor eax, dword [rsp + 0x34]
xor eax, edx
mov edx, dword [rsp + 0x44]
mov r13d, eax
ror edx, 0xe
not r13d
xor eax, edx
mov dword [rsp + 0xf8], edx
mov dword [rsp + 0x7c], eax
mov eax, r13d
rol eax, 0xf
lea eax, [rax + rax*4]
xor eax, ecx
mov ecx, dword [rsp + 0xec]
lea edx, [rax + rax*2]
mov eax, dword [rsp + 0xbc]
ror ecx, 0xe
xor eax, r11d
xor eax, dword [rsp + 0x38]
mov dword [rsp + 0xfc], ecx
xor eax, edx
mov r11d, eax
mov edx, eax
not r11d
xor edx, ecx
mov eax, r11d
mov dword [rsp + 0xec], edx
mov edx, dword [rsp + 0x64]
rol eax, 0xf
xor edx, dword [rbx + 0x70]
mov ecx, dword [rsp + 0xc0]
lea eax, [rax + rax*4]
xor eax, edx
and r15d, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x40]
xor ecx, r15d
lea eax, [rax + rax*2]
xor ecx, dword [rsp + 0x60]
xor edx, dword [rsp + 0x68]
xor ecx, eax
mov eax, dword [rsp + 0x100]
mov r15d, dword [rsp + 0x30]
ror eax, 0xe
and r15d, r12d
mov ebx, eax
mov eax, ecx
rol eax, 0xf
xor ebx, ecx
lea eax, [rax + rax*4]
mov dword [rsp + 0x100], ebx
not ebx
xor eax, edx
mov edx, dword [rsp + 0xc4]
mov dword [rsp + 0x3c], ebx
lea eax, [rax + rax*2]
mov ebx, dword [rsp + 0x104]
xor edx, r15d
xor edx, dword [rsp + 0x7c]
mov r15d, dword [rsp + 0xcc]
xor edx, eax
ror ebx, 0xe
mov eax, edx
mov r12d, ebx
mov ebx, dword [rsp + 0x114]
xor ebx, dword [rsp + 0x6c]
rol eax, 0xf
xor r12d, edx
lea eax, [rax + rax*4]
mov dword [rsp + 0x104], r12d
not r12d
xor eax, ebx
mov dword [rsp + 0x40], r12d
lea ebx, [rax + rax*2]
mov eax, dword [rsp + 0x34]
and eax, ebp
xor eax, dword [rsp + 0xc8]
xor eax, dword [rsp + 0xec]
xor eax, ebx
mov ebx, dword [rsp + 0x108]
ror ebx, 0xe
mov ebp, ebx
mov ebx, eax
xor ebp, eax
rol ebx, 0xf
mov dword [rsp + 0x108], ebp
not ebp
lea ebx, [rbx + rbx*4]
mov dword [rsp + 0x44], ebp
mov ebp, dword [rsp + 0x118]
xor ebp, dword [rsp + 0xa0]
xor ebx, ebp
mov ebp, dword [rsp + 0x48]
and ebp, dword [rsp + 0x38]
xor r15d, ebp
lea ebx, [rbx + rbx*2]
xor r15d, dword [rsp + 0x3c]
xor r15d, ebx
mov ebx, dword [rsp + 0x10c]
mov ebp, r15d
ror ebx, 0xe
xor ebx, r15d
rol ebp, 0xf
mov dword [rsp + 0x10c], ebx
not ebx
mov dword [rsp + 0x48], ebx
xor edi, dword [rsp + 0x70]
lea ebx, [rbp + rbp*4]
xor edi, ebx
mov ebp, dword [rsp + 0x4c]
and ebp, dword [rsp + 0x60]
xor ebp, dword [rsp + 0xd0]
lea ebx, [rdi + rdi*2]
xor r8d, dword [rsp + 0xa4]
xor ebp, r12d
xor esi, dword [rsp + 0xa8]
xor r10d, dword [rsp + 0xac]
xor ebp, ebx
mov ebx, dword [rsp + 0x110]
ror ebx, 0xe
mov edi, ebx
xor edi, ebp
mov dword [rsp + 0x110], edi
not edi
mov dword [rsp + 0x4c], edi
mov edi, ebp
rol edi, 0xf
lea ebx, [rdi + rdi*4]
xor r8d, ebx
lea ebx, [r8 + r8*2]
mov r8d, dword [rsp + 0x78]
and r8d, dword [rsp + 0x7c]
xor r8d, dword [rsp + 0x98]
xor r8d, dword [rsp + 0x44]
xor r8d, ebx
mov ebx, dword [rsp + 0x50]
ror ebx, 0xe
mov r12d, ebx
mov ebx, r8d
rol ebx, 0xf
xor r12d, r8d
lea ebx, [rbx + rbx*4]
mov dword [rsp + 0x114], r12d
not r12d
xor esi, ebx
mov dword [rsp + 0x50], r12d
mov r12d, dword [rsp + 0xf0]
lea ebx, [rsi + rsi*2]
and r12d, dword [rsp + 0xec]
xor r12d, dword [rsp + 0x80]
xor r12d, dword [rsp + 0x48]
xor r12d, ebx
mov ebx, dword [rsp + 0x54]
rol ebx, 1
mov esi, ebx
mov ebx, r12d
xor esi, r12d
rol ebx, 0xf
mov dword [rsp + 0xf0], esi
not esi
lea ebx, [rbx + rbx*4]
mov dword [rsp + 0x54], esi
mov esi, dword [rsp + 0xf4]
xor r10d, ebx
lea r10d, [r10 + r10*2]
xor esi, r14d
and esi, dword [rsp + 0x3c]
xor esi, dword [rsp + 0x84]
xor esi, dword [rsp + 0x4c]
xor r9d, dword [rsp + 0x74]
xor esi, r10d
mov r10d, dword [rsp + 0x58]
mov ebx, esi
rol r10d, 1
rol ebx, 0xf
xor r10d, esi
mov dword [rsp + 0xf4], r10d
not r10d
mov dword [rsp + 0x58], r10d
mov edi, dword [rsp + 0xf8]
lea r10d, [rbx + rbx*4]
xor r9d, r10d
xor r14d, dword [rsp + 0xdc]
xor edi, r13d
lea r9d, [r9 + r9*2]
and edi, dword [rsp + 0x40]
xor edi, dword [rsp + 0x88]
xor edi, dword [rsp + 0x50]
xor r13d, dword [rsp + 0xd8]
xor edi, r9d
mov r9d, dword [rsp + 0x5c]
rol r9d, 1
xor r9d, edi
mov dword [rsp + 0xf8], r9d
not r9d
mov dword [rsp + 0x5c], r9d
mov r9d, edi
rol r9d, 0xf
lea r9d, [r9 + r9*4]
xor r14d, r9d
mov r9d, dword [rsp + 0xfc]
lea r10d, [r14 + r14*2]
xor r9d, r11d
and r9d, dword [rsp + 0x44]
xor r9d, dword [rsp + 0x8c]
xor r9d, dword [rsp + 0x54]
xor r9d, r10d
mov r10d, dword [rsp + 0x2c]
rol r10d, 1
mov r14d, r10d
xor r14d, r9d
mov dword [rsp + 0xfc], r14d
not r14d
mov dword [rsp + 0x2c], r14d
mov r14d, r9d
rol r14d, 0xf
lea r10d, [r14 + r14*4]
xor r13d, r10d
lea r10d, [r13 + r13*2]
mov r13d, dword [rsp + 0x100]
and r13d, dword [rsp + 0x48]
xor r13d, dword [rsp + 0x90]
xor r13d, dword [rsp + 0x58]
xor r13d, r10d
mov r10d, dword [rsp + 0x30]
xor r11d, dword [rsp + 0xe4]
xor ecx, dword [rsp + 0xe8]
rol r10d, 1
xor r10d, r13d
mov dword [rsp + 0x100], r10d
mov ebx, r10d
mov r10d, r13d
rol r10d, 0xf
not ebx
lea r10d, [r10 + r10*4]
mov dword [rsp + 0x30], ebx
mov ebx, dword [rsp + 0x94]
xor r11d, r10d
lea r10d, [r11 + r11*2]
mov r11d, dword [rsp + 0x104]
and r11d, dword [rsp + 0x4c]
xor ebx, r11d
xor ebx, dword [rsp + 0x5c]
xor ebx, r10d
mov r10d, dword [rsp + 0x34]
rol r10d, 1
mov r11d, r10d
mov r10d, ebx
rol r10d, 0xf
xor r11d, ebx
lea r10d, [r10 + r10*4]
mov dword [rsp + 0x104], r11d
not r11d
xor ecx, r10d
mov dword [rsp + 0x34], r11d
mov r10d, dword [rsp + 0x108]
lea ecx, [rcx + rcx*2]
and r10d, dword [rsp + 0x50]
xor r10d, dword [rsp + 0xb0]
xor r10d, dword [rsp + 0x2c]
xor edx, dword [rsp + 0xe0]
xor r10d, ecx
mov ecx, dword [rsp + 0x38]
mov r14d, dword [rsp + 0xb4]
xor eax, dword [rsp + 0xd4]
mov r11d, dword [rsp + 0x110]
rol ecx, 1
xor ecx, r10d
mov dword [rsp + 0x108], ecx
not ecx
mov dword [rsp + 0x38], ecx
mov ecx, r10d
rol ecx, 0xf
lea ecx, [rcx + rcx*4]
xor edx, ecx
mov ecx, dword [rsp + 0x10c]
and ecx, dword [rsp + 0x54]
xor r14d, ecx
lea edx, [rdx + rdx*2]
xor r14d, dword [rsp + 0x30]
xor r14d, edx
mov edx, dword [rsp + 0x60]
rol edx, 1
mov ecx, edx
xor ecx, r14d
mov edx, ecx
not edx
mov dword [rsp + 0x78], edx
mov edx, r14d
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor eax, edx
and r11d, dword [rsp + 0x58]
xor r11d, dword [rsp + 0xb8]
lea eax, [rax + rax*2]
xor r11d, dword [rsp + 0x34]
xor r15d, dword [rsp + 0x9c]
xor r11d, eax
mov eax, dword [rsp + 0x7c]
xor ebp, dword [rsp + 0x64]
rol eax, 1
xor eax, r11d
mov dword [rsp + 0x60], eax
not eax
mov dword [rsp + 0x7c], eax
mov eax, r11d
rol eax, 0xf
lea eax, [rax + rax*4]
xor r15d, eax
mov eax, dword [rsp + 0x114]
and eax, dword [rsp + 0x5c]
lea edx, [r15 + r15*2]
xor eax, dword [rsp + 0xbc]
xor eax, dword [rsp + 0x38]
xor eax, edx
mov r15d, dword [rsp + 0xec]
mov edx, eax
rol r15d, 1
rol edx, 0xf
xor r15d, eax
lea edx, [rdx + rdx*4]
xor ebp, edx
mov dword [rsp + 0x10c], r15d
not r15d
lea edx, [rbp + rbp*2]
mov dword [rsp + 0xec], r15d
mov ebp, dword [rsp + 0xf0]
and ebp, dword [rsp + 0x2c]
xor ebp, dword [rsp + 0xc0]
xor ebp, dword [rsp + 0x78]
xor r8d, dword [rsp + 0x68]
xor ebp, edx
mov edx, dword [rsp + 0x3c]
rol edx, 1
xor edx, ebp
mov dword [rsp + 0x110], edx
mov r15d, edx
mov edx, ebp
rol edx, 0xf
not r15d
lea edx, [rdx + rdx*4]
mov dword [rsp + 0x3c], r15d
xor r8d, edx
lea edx, [r8 + r8*2]
mov r8d, dword [rsp + 0xf4]
and r8d, dword [rsp + 0x30]
xor r8d, dword [rsp + 0xc4]
xor r8d, dword [rsp + 0x7c]
xor r8d, edx
mov edx, dword [rsp + 0x40]
rol edx, 1
xor r12d, dword [rsp + 0x6c]
xor esi, dword [rsp + 0xa0]
xor edx, r8d
xor edi, dword [rsp + 0x70]
mov dword [rsp + 0x114], edx
not edx
mov dword [rsp + 0xf0], edx
mov edx, r8d
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor r12d, edx
lea edx, [r12 + r12*2]
mov r12d, dword [rsp + 0xf8]
and r12d, dword [rsp + 0x34]
xor r12d, dword [rsp + 0xc8]
xor r12d, dword [rsp + 0xec]
xor r12d, edx
mov edx, dword [rsp + 0x44]
rol edx, 1
xor edx, r12d
mov dword [rsp + 0x118], edx
not edx
mov dword [rsp + 0xf4], edx
mov edx, r12d
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor esi, edx
lea edx, [rsi + rsi*2]
mov esi, dword [rsp + 0xfc]
and esi, dword [rsp + 0x38]
xor esi, dword [rsp + 0xcc]
xor esi, r15d
xor esi, edx
mov edx, dword [rsp + 0x48]
rol edx, 1
xor edx, esi
mov dword [rsp + 0x11c], edx
not edx
mov dword [rsp + 0xf8], edx
mov edx, esi
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor edi, edx
lea edx, [rdi + rdi*2]
mov edi, dword [rsp + 0x100]
and edi, dword [rsp + 0x78]
xor edi, dword [rsp + 0xd0]
xor edi, dword [rsp + 0xf0]
xor edi, edx
mov edx, dword [rsp + 0x4c]
xor r9d, dword [rsp + 0xa4]
rol edx, 1
xor edx, edi
mov dword [rsp + 0x120], edx
not edx
mov dword [rsp + 0xfc], edx
mov edx, edi
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor r9d, edx
lea edx, [r9 + r9*2]
mov r9d, dword [rsp + 0x104]
and r9d, dword [rsp + 0x7c]
xor r9d, dword [rsp + 0x98]
xor r9d, dword [rsp + 0xf4]
xor r9d, edx
mov edx, dword [rsp + 0x50]
xor r10d, dword [rsp + 0x74]
xor r13d, dword [rsp + 0xa8]
xor ebx, dword [rsp + 0xac]
rol edx, 1
xor edx, r9d
mov dword [rsp + 0x104], edx
mov r15d, edx
mov edx, r9d
rol edx, 0xf
not r15d
lea edx, [rdx + rdx*4]
mov dword [rsp + 0x100], r15d
xor r13d, edx
lea edx, [r13 + r13*2]
mov r13d, dword [rsp + 0x108]
and r13d, dword [rsp + 0xec]
xor r13d, dword [rsp + 0x80]
xor r13d, dword [rsp + 0xf8]
xor r13d, edx
mov edx, dword [rsp + 0x54]
rol edx, 1
xor edx, r13d
mov dword [rsp + 0x108], edx
not edx
mov dword [rsp + 0x40], edx
mov edx, r13d
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor ebx, edx
mov edx, dword [rsp + 0x84]
lea r15d, [rbx + rbx*2]
mov ebx, dword [rsp + 0x3c]
and ebx, ecx
xor edx, ebx
xor edx, dword [rsp + 0xfc]
xor r15d, edx
mov edx, dword [rsp + 0x58]
mov ebx, r15d
rol edx, 1
rol ebx, 0xf
mov ecx, edx
lea edx, [rbx + rbx*4]
xor ecx, r15d
xor r10d, edx
mov dword [rsp + 0x124], ecx
not ecx
lea edx, [r10 + r10*2]
mov r10d, dword [rsp + 0x60]
mov dword [rsp + 0x44], ecx
and r10d, dword [rsp + 0xf0]
xor r10d, dword [rsp + 0x88]
xor r10d, dword [rsp + 0x100]
xor r10d, edx
mov edx, dword [rsp + 0x5c]
mov ecx, r10d
rol edx, 1
mov ebx, edx
xor ebx, r10d
rol ecx, 0xf
xor r14d, dword [rsp + 0xdc]
xor r11d, dword [rsp + 0xd8]
lea edx, [rcx + rcx*4]
mov dword [rsp + 0x5c], ebx
not ebx
xor eax, dword [rsp + 0xe4]
xor r14d, edx
mov edx, dword [rsp + 0x10c]
mov dword [rsp + 0x48], ebx
and edx, dword [rsp + 0xf4]
lea r14d, [r14 + r14*2]
xor edx, dword [rsp + 0x8c]
xor edx, dword [rsp + 0x40]
xor ebp, dword [rsp + 0xe8]
xor r14d, edx
mov edx, dword [rsp + 0x2c]
mov ecx, r14d
rol edx, 1
rol ecx, 0xf
mov ebx, edx
lea edx, [rcx + rcx*4]
xor r11d, edx
mov edx, dword [rsp + 0x110]
xor ebx, r14d
and edx, dword [rsp + 0xf8]
xor edx, dword [rsp + 0x90]
xor edx, dword [rsp + 0x44]
lea ecx, [r11 + r11*2]
mov dword [rsp + 0x10c], ebx
mov r11d, edx
not ebx
xor r11d, ecx
mov dword [rsp + 0x4c], ebx
mov ecx, r11d
mov r11d, dword [rsp + 0x30]
mov dword [rsp + 0x134], ecx
rol r11d, 1
xor r11d, ecx
rol ecx, 0xf
lea edx, [rcx + rcx*4]
mov dword [rsp + 0x110], r11d
not r11d
xor eax, edx
mov edx, dword [rsp + 0x94]
mov dword [rsp + 0x50], r11d
mov r11d, dword [rsp + 0x114]
and r11d, dword [rsp + 0xfc]
lea eax, [rax + rax*2]
xor edx, r11d
xor edx, dword [rsp + 0x48]
mov ecx, edx
xor ecx, eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x138], ecx
rol eax, 1
xor eax, ecx
mov dword [rsp + 0x114], eax
not eax
mov r11d, eax
mov dword [rsp + 0x60], eax
mov eax, ecx
rol eax, 0xf
lea eax, [rax + rax*4]
xor ebp, eax
lea eax, [rbp + rbp*2]
mov ebp, dword [rsp + 0x118]
and ebp, dword [rsp + 0x100]
mov edx, dword [rsp + 0xb0]
mov ecx, dword [rsp + 0xc0]
xor edx, ebp
xor r8d, dword [rsp + 0xe0]
xor esi, dword [rsp + 0x9c]
xor edx, ebx
mov ebx, dword [rsp + 0xb4]
xor r12d, dword [rsp + 0xd4]
mov ebp, edx
xor ebp, eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x13c], ebp
rol eax, 1
xor eax, ebp
rol ebp, 0xf
not eax
mov dword [rsp + 0x2c], eax
lea eax, [rbp + rbp*4]
mov ebp, dword [rsp + 0x11c]
and ebp, dword [rsp + 0x40]
xor r8d, eax
xor ebx, ebp
xor ebx, dword [rsp + 0x50]
lea r8d, [r8 + r8*2]
mov ebp, ebx
mov ebx, r11d
xor ebp, r8d
mov r8d, dword [rsp + 0x78]
rol r8d, 1
mov eax, r8d
xor eax, ebp
mov r8d, eax
mov eax, ebp
rol eax, 0xf
not r8d
lea eax, [rax + rax*4]
mov dword [rsp + 0x54], r8d
xor r12d, eax
mov eax, dword [rsp + 0x7c]
lea edx, [r12 + r12*2]
mov r12d, dword [rsp + 0x120]
and r12d, dword [rsp + 0x44]
xor r12d, dword [rsp + 0xb8]
rol eax, 1
xor r12d, r11d
xor r12d, edx
mov edx, dword [rsp + 0xec]
xor eax, r12d
not eax
rol edx, 1
mov dword [rsp + 0x58], eax
mov eax, r12d
rol eax, 0xf
lea eax, [rax + rax*4]
xor esi, eax
mov eax, dword [rsp + 0x104]
and eax, dword [rsp + 0x48]
lea r11d, [rsi + rsi*2]
xor eax, dword [rsp + 0xbc]
xor eax, dword [rsp + 0x2c]
xor eax, r11d
xor edx, eax
mov r11d, eax
mov esi, edx
rol r11d, 0xf
xor edi, dword [rsp + 0x64]
xor r9d, dword [rsp + 0x68]
not esi
lea edx, [r11 + r11*4]
mov dword [rsp + 0x30], esi
mov esi, dword [rsp + 0x108]
xor edi, edx
and esi, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x3c]
lea r11d, [rdi + rdi*2]
xor ecx, esi
xor ecx, r8d
rol edx, 1
xor ecx, r11d
xor edx, ecx
not edx
mov dword [rsp + 0x34], edx
mov edx, ecx
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor r9d, edx
lea r11d, [r9 + r9*2]
mov r9d, dword [rsp + 0x124]
mov esi, dword [rsp + 0x5c]
mov edx, dword [rsp + 0xf0]
and r9d, dword [rsp + 0x50]
xor r9d, dword [rsp + 0xc4]
xor r9d, dword [rsp + 0x58]
and esi, ebx
xor r9d, r11d
rol edx, 1
xor r13d, dword [rsp + 0x6c]
mov ebx, dword [rsp + 0xc8]
xor edx, r9d
mov edi, r9d
rol edi, 0xf
not edx
xor ebx, esi
xor ebx, dword [rsp + 0x30]
mov dword [rsp + 0x38], edx
lea edx, [rdi + rdi*4]
mov edi, dword [rsp + 0xa0]
xor r13d, edx
mov edx, dword [rsp + 0xf4]
lea r11d, [r13 + r13*2]
xor edi, r15d
xor ebx, r11d
rol edx, 1
mov esi, ebx
xor edx, ebx
rol esi, 0xf
mov r13d, edx
mov edx, edi
lea r8d, [rsi + rsi*4]
mov esi, dword [rsp + 0x10c]
and esi, dword [rsp + 0x2c]
not r13d
xor edx, r8d
xor esi, dword [rsp + 0xcc]
xor esi, dword [rsp + 0x34]
mov dword [rsp + 0x5c], r13d
lea r11d, [rdx + rdx*2]
mov edx, dword [rsp + 0xf8]
xor r14d, dword [rsp + 0xa4]
xor esi, r11d
mov r11d, dword [rsp + 0xd0]
rol edx, 1
xor edx, esi
mov r13d, edx
not r13d
mov dword [rsp + 0x3c], r13d
mov r13d, esi
rol r13d, 0xf
lea r8d, [r13 + r13*4]
mov r13d, dword [rsp + 0x70]
xor r13d, r10d
mov r10d, dword [rsp + 0x110]
and r10d, dword [rsp + 0x54]
mov edx, r13d
xor r11d, r10d
xor r11d, dword [rsp + 0x38]
xor edx, r8d
lea r13d, [rdx + rdx*2]
mov edx, dword [rsp + 0xfc]
xor r11d, r13d
rol edx, 1
xor edx, r11d
mov r10d, edx
mov edx, r14d
mov r14d, dword [rsp + 0x114]
and r14d, dword [rsp + 0x58]
not r10d
xor r14d, dword [rsp + 0x98]
xor r14d, dword [rsp + 0x5c]
mov dword [rsp + 0x78], r10d
mov r10d, r11d
rol r10d, 0xf
lea r8d, [r10 + r10*4]
xor edx, r8d
lea r13d, [rdx + rdx*2]
mov edx, dword [rsp + 0x100]
xor r14d, r13d
rol edx, 1
xor edx, r14d
not edx
mov dword [rsp + 0x7c], edx
mov r13d, dword [rsp + 0x74]
add r13d, dword [rsp + 0x70]
add r13d, dword [rsp + 0x64]
add r14d, r13d
mov r13d, dword [rsp + 0xdc]
mov r15d, dword [rsp + 0xe4]
mov dword [rsp + 0xfc], r14d
mov r14d, dword [rsp + 0xa4]
mov edx, dword [rsp + 0xac]
mov r8d, dword [rsp + 0xe8]
add r13d, r14d
add r13d, dword [rsp + 0x68]
add r8d, dword [rsp + 0x74]
add r11d, r13d
mov r13d, dword [rsp + 0xa8]
add edx, r15d
mov edi, dword [rsp + 0xe0]
mov dword [rsp + 0x118], r11d
mov r11d, dword [rsp + 0xd8]
add edi, dword [rsp + 0xdc]
mov r10d, dword [rsp + 0xd4]
add r10d, dword [rsp + 0xd8]
add r11d, r13d
add r11d, dword [rsp + 0x6c]
add r11d, esi
mov esi, dword [rsp + 0xa0]
mov dword [rsp + 0x11c], r11d
mov r11d, esi
add r11d, edx
add r11d, ebx
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x120], r11d
lea r11d, [rbx + r8]
add r8d, dword [rsp + 0x64]
lea ebx, [r11 + r9]
lea r11d, [r14 + rdi]
mov r9d, dword [rsp + 0x9c]
add edi, dword [rsp + 0x68]
mov dword [rsp + 0x124], ebx
lea ebx, [r11 + rcx]
lea r11d, [r13 + r10]
add r10d, dword [rsp + 0x6c]
mov dword [rsp + 0x128], ebx
add edx, r9d
lea ebx, [r11 + rax]
mov ecx, r15d
mov dword [rsp + 0x12c], ebx
lea ebx, [rdx + r12]
add ecx, esi
mov dword [rsp + 0x130], ebx
lea ebx, [r8 + rbp]
add ecx, r9d
mov ebp, dword [rsp + 0x13c]
mov edx, dword [rsp + 0x138]
mov r14d, dword [rsp + 0xd4]
mov dword [rsp + 0x14c], 3
mov esi, dword [rsp + 0xe0]
lea eax, [rdi + rbp]
add ecx, dword [rsp + 0x134]
add edx, r10d
mov edi, edx
mov r11d, dword [rsp + 0x68]
ror r14d, 0xe
mov edx, dword [rsp + 0x6c]
ror esi, 0xe
mov ebp, dword [rsp + 0xfc]
mov r13d, dword [rsp + 0xa4]
ror r11d, 0xf
mov r8d, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x64]
ror edx, 0xf
rol ebp, 0xf
mov dword [rsp + 0xd4], r11d
ror r13d, 0xf
mov r11d, dword [rsp + 0x144]
lea ebp, [rbp + rbp*4]
xor r11d, dword [rsp + 0x58]
ror r12d, 0xf
mov r10d, edx
xor ebp, r11d
mov r11d, dword [rsp + 0x148]
xor r11d, dword [rsp + 0x54]
ror r8d, 0xf
xor ebp, ecx
mov ecx, dword [rsp + 0x74]
mov r9d, dword [rsp + 0xa0]
lea r15d, [rbp + rbp*2]
mov ebp, dword [rsp + 0x80]
xor ebp, dword [rsp + 0xd4]
ror ecx, 0xf
mov edx, dword [rsp + 0x9c]
ror r9d, 0xf
not ecx
and ecx, r13d
ror edx, 0xf
not r13d
xor ebp, ecx
mov ecx, r14d
xor ebp, r15d
mov r15d, dword [rsp + 0x84]
xor ecx, ebp
mov r14d, ecx
xor r15d, r12d
not r14d
mov dword [rsp + 0xec], r14d
mov r14d, ebp
rol r14d, 0xf
lea r14d, [r14 + r14*4]
xor r14d, r11d
xor r14d, edi
mov edi, dword [rsp + 0xac]
lea r14d, [r14 + r14*2]
ror edi, 0xf
not edi
and edi, r8d
not r8d
xor r15d, edi
xor r15d, r14d
mov edi, r15d
xor esi, r15d
rol edi, 0xf
mov r14d, esi
lea edi, [rdi + rdi*4]
xor edi, dword [rsp + 0x2c]
not r14d
xor eax, edi
mov dword [rsp + 0xf0], r14d
mov r14d, dword [rsp + 0x88]
lea edi, [rax + rax*2]
mov eax, dword [rsp + 0xa8]
ror eax, 0xf
xor r14d, edx
and r13d, r10d
not r10d
not eax
xor r13d, dword [rsp + 0x8c]
xor r13d, dword [rsp + 0xec]
and eax, r9d
not r9d
xor r14d, eax
and r9d, r12d
xor r14d, edi
mov edi, dword [rsp + 0xe8]
mov r11d, r14d
ror edi, 0xe
rol r11d, 0xf
xor edi, r14d
mov eax, edi
not eax
mov dword [rsp + 0xf4], eax
lea eax, [r11 + r11*4]
xor eax, dword [rsp + 0x60]
xor ebx, eax
mov r11d, dword [rsp + 0xe4]
lea eax, [rbx + rbx*2]
xor r13d, eax
ror r11d, 0xe
mov eax, r11d
mov r11d, r13d
xor eax, r13d
rol r11d, 0xf
mov dword [rsp + 0x100], eax
mov ebx, eax
lea eax, [r11 + r11*4]
xor eax, dword [rsp + 0x50]
xor eax, dword [rsp + 0x130]
and r8d, dword [rsp + 0xd4]
not ebx
mov r11d, dword [rsp + 0xd8]
xor r8d, dword [rsp + 0x90]
lea eax, [rax + rax*2]
mov dword [rsp + 0xf8], ebx
xor r8d, dword [rsp + 0xf0]
xor r9d, dword [rsp + 0x94]
ror r11d, 0xe
xor r8d, eax
xor r9d, dword [rsp + 0xf4]
mov eax, r11d
mov r11d, r8d
xor eax, r8d
rol r11d, 0xf
mov dword [rsp + 0x104], eax
not eax
mov dword [rsp + 0xd8], eax
lea eax, [r11 + r11*4]
xor eax, dword [rsp + 0x4c]
mov r11d, dword [rsp + 0xdc]
xor eax, dword [rsp + 0x12c]
lea eax, [rax + rax*2]
xor r9d, eax
ror r11d, 0xe
and r10d, edx
or r12d, esi
mov eax, r11d
xor r10d, dword [rsp + 0xb0]
mov r11d, r9d
xor eax, r9d
xor r10d, ebx
rol r11d, 0xf
mov dword [rsp + 0x108], eax
not eax
mov dword [rsp + 0xdc], eax
lea eax, [r11 + r11*4]
mov r11d, r10d
mov r10d, dword [rsp + 0x74]
xor eax, dword [rsp + 0x48]
xor eax, dword [rsp + 0x128]
ror r10d, 0xe
lea eax, [rax + rax*2]
xor r11d, eax
mov ebx, r10d
xor ebx, r11d
mov dword [rsp + 0x128], r11d
rol r11d, 0xf
mov dword [rsp + 0x10c], ebx
lea eax, [r11 + r11*4]
not ebx
xor eax, dword [rsp + 0x44]
mov r11d, dword [rsp + 0xd4]
xor eax, dword [rsp + 0x124]
mov dword [rsp + 0x74], ebx
lea ebx, [rax + rax*2]
mov eax, dword [rsp + 0xb4]
or r11d, ecx
xor eax, r11d
xor eax, dword [rsp + 0xd8]
xor eax, ebx
mov ebx, dword [rsp + 0xac]
mov r11d, eax
ror ebx, 0xe
not r11d
xor eax, ebx
mov r10d, r11d
mov dword [rsp + 0xac], ebx
rol r10d, 0xf
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0xb8]
lea ebx, [r10 + r10*4]
xor ebx, dword [rsp + 0x40]
xor ebx, dword [rsp + 0x120]
xor eax, r12d
lea ebx, [rbx + rbx*2]
xor eax, dword [rsp + 0xdc]
xor eax, ebx
mov ebx, dword [rsp + 0xa8]
mov r12d, eax
mov r10d, eax
ror ebx, 0xe
not r12d
xor r10d, ebx
mov dword [rsp + 0xd4], ebx
mov dword [rsp + 0xe4], r10d
mov r10d, r12d
rol r10d, 0xf
lea eax, [r10 + r10*4]
xor eax, dword [rsp + 0x7c]
xor eax, dword [rsp + 0x11c]
or edx, edi
lea eax, [rax + rax*2]
xor edx, dword [rsp + 0xbc]
xor edx, dword [rsp + 0x74]
xor edx, eax
mov eax, dword [rsp + 0xa4]
xor ebp, dword [rsp + 0x5c]
mov r10d, edx
and edi, dword [rsp + 0xdc]
not r10d
ror eax, 0xe
mov ebx, r10d
mov r10d, edx
mov dword [rsp + 0x110], eax
mov edx, ebx
xor r10d, eax
rol edx, 0xf
mov dword [rsp + 0xe8], r10d
mov r10d, dword [rsp + 0x70]
lea eax, [rdx + rdx*4]
mov edx, dword [rsp + 0xf8]
xor eax, dword [rsp + 0x78]
xor eax, dword [rsp + 0x118]
ror r10d, 0xe
and edx, ecx
lea eax, [rax + rax*2]
xor edx, dword [rsp + 0xc0]
mov ecx, r10d
xor edx, dword [rsp + 0xe0]
mov r10d, dword [rsp + 0xfc]
xor edx, eax
xor r10d, dword [rsp + 0x3c]
xor ecx, edx
mov dword [rsp + 0x114], ecx
not ecx
mov dword [rsp + 0x70], ecx
mov ecx, edx
rol ecx, 0xf
lea eax, [rcx + rcx*4]
xor eax, r10d
mov r10d, dword [rsp + 0xa0]
lea ecx, [rax + rax*2]
mov eax, dword [rsp + 0xd8]
ror r10d, 0xe
and eax, esi
xor eax, dword [rsp + 0xc4]
xor eax, dword [rsp + 0xe4]
mov esi, r10d
xor eax, ecx
mov ecx, eax
xor esi, eax
rol ecx, 0xf
mov dword [rsp + 0xfc], esi
not esi
lea ecx, [rcx + rcx*4]
mov dword [rsp + 0xa0], esi
xor ebp, ecx
mov ecx, dword [rsp + 0xc8]
lea esi, [rbp + rbp*2]
xor ecx, edi
mov edi, dword [rsp + 0x6c]
xor ecx, dword [rsp + 0xe8]
xor ecx, esi
ror edi, 0xe
xor edi, ecx
mov dword [rsp + 0x118], edi
not edi
mov ebp, dword [rsp + 0x70]
xor r15d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x68]
mov dword [rsp + 0x6c], edi
mov edi, ecx
rol edi, 0xf
xor r14d, dword [rsp + 0x34]
xor r13d, dword [rsp + 0x30]
lea esi, [rdi + rdi*4]
ror r10d, 0xe
xor r8d, dword [rsp + 0x58]
xor r15d, esi
mov edi, r10d
lea esi, [r15 + r15*2]
mov r15d, dword [rsp + 0x100]
and r15d, dword [rsp + 0x74]
xor r15d, dword [rsp + 0xcc]
xor r15d, ebp
xor r15d, esi
mov r10d, r15d
xor edi, r15d
rol r10d, 0xf
mov dword [rsp + 0x100], edi
not edi
lea esi, [r10 + r10*4]
mov r10d, dword [rsp + 0x64]
mov dword [rsp + 0x68], edi
xor r14d, esi
lea esi, [r14 + r14*2]
ror r10d, 0xe
mov r14d, dword [rsp + 0x104]
and r14d, dword [rsp + 0xe0]
xor r14d, dword [rsp + 0xd0]
xor r14d, dword [rsp + 0xa0]
mov edi, r10d
xor r14d, esi
xor edi, r14d
mov r10d, edi
not r10d
mov dword [rsp + 0x64], r10d
mov r10d, r14d
rol r10d, 0xf
lea esi, [r10 + r10*4]
mov r10d, dword [rsp + 0x9c]
xor r13d, esi
lea esi, [r13 + r13*2]
ror r10d, 0xe
mov r13d, dword [rsp + 0x108]
and r13d, dword [rsp + 0xe4]
xor r13d, dword [rsp + 0x98]
xor r13d, dword [rsp + 0x6c]
xor r13d, esi
mov esi, r10d
xor esi, r13d
mov r10d, r13d
rol r10d, 0xf
mov dword [rsp + 0x104], esi
not esi
mov dword [rsp + 0x9c], esi
lea esi, [r10 + r10*4]
mov r10d, dword [rsp + 0xec]
xor r8d, esi
lea esi, [r8 + r8*2]
mov r8d, dword [rsp + 0x10c]
and r8d, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0x80]
rol r10d, 1
xor r8d, dword [rsp + 0x68]
xor r8d, esi
mov esi, r10d
xor esi, r8d
mov r10d, r8d
rol r10d, 0xf
mov dword [rsp + 0xec], esi
not esi
mov dword [rsp + 0xa4], esi
xor r9d, dword [rsp + 0x54]
lea esi, [r10 + r10*4]
xor r9d, esi
mov r10d, dword [rsp + 0xf0]
lea esi, [r9 + r9*2]
mov r9d, dword [rsp + 0xac]
rol r10d, 1
xor r9d, r11d
xor r11d, dword [rsp + 0x60]
and r9d, ebp
xor r9d, dword [rsp + 0x84]
xor r9d, dword [rsp + 0x64]
mov ebp, r10d
xor r9d, esi
mov r10d, r9d
xor ebp, r9d
rol r10d, 0xf
mov dword [rsp + 0xf0], ebp
not ebp
lea esi, [r10 + r10*4]
mov r10d, dword [rsp + 0x128]
xor r10d, dword [rsp + 0x2c]
mov dword [rsp + 0xa8], ebp
xor r10d, esi
lea esi, [r10 + r10*2]
mov r10d, dword [rsp + 0xd4]
xor r10d, r12d
and r10d, dword [rsp + 0xa0]
xor r10d, dword [rsp + 0x88]
xor r10d, dword [rsp + 0x9c]
xor r10d, esi
mov esi, dword [rsp + 0xf4]
rol esi, 1
mov ebp, esi
mov esi, r10d
rol esi, 0xf
xor ebp, r10d
lea esi, [rsi + rsi*4]
mov dword [rsp + 0xf4], ebp
not ebp
xor r11d, esi
mov dword [rsp + 0xac], ebp
lea esi, [r11 + r11*2]
mov r11d, dword [rsp + 0x110]
xor r11d, ebx
and r11d, dword [rsp + 0x6c]
xor r11d, dword [rsp + 0x8c]
xor r11d, dword [rsp + 0xa4]
xor r11d, esi
mov esi, dword [rsp + 0xf8]
xor r12d, dword [rsp + 0x50]
rol esi, 1
xor esi, r11d
mov dword [rsp + 0xf8], esi
not esi
mov dword [rsp + 0xd4], esi
mov esi, r11d
rol esi, 0xf
lea esi, [rsi + rsi*4]
xor r12d, esi
lea esi, [r12 + r12*2]
mov r12d, dword [rsp + 0x114]
and r12d, dword [rsp + 0x68]
xor r12d, dword [rsp + 0x90]
xor r12d, dword [rsp + 0xa8]
xor r12d, esi
mov esi, dword [rsp + 0xd8]
rol esi, 1
xor esi, r12d
mov dword [rsp + 0x108], esi
mov ebp, esi
mov esi, r12d
not ebp
rol esi, 0xf
mov dword [rsp + 0xd8], ebp
lea esi, [rsi + rsi*4]
xor ebx, dword [rsp + 0x4c]
mov ebp, dword [rsp + 0x94]
xor ebx, esi
mov esi, dword [rsp + 0xfc]
and esi, dword [rsp + 0x64]
lea ebx, [rbx + rbx*2]
xor edx, dword [rsp + 0x48]
xor ebp, esi
xor ebp, dword [rsp + 0xac]
xor eax, dword [rsp + 0x44]
xor ebp, ebx
mov ebx, dword [rsp + 0xdc]
mov esi, dword [rsp + 0x100]
rol ebx, 1
xor ebx, ebp
mov dword [rsp + 0xfc], ebx
not ebx
mov dword [rsp + 0xdc], ebx
mov ebx, ebp
rol ebx, 0xf
lea ebx, [rbx + rbx*4]
xor edx, ebx
mov ebx, dword [rsp + 0x118]
and ebx, dword [rsp + 0x9c]
lea edx, [rdx + rdx*2]
xor ebx, dword [rsp + 0xb0]
xor ebx, dword [rsp + 0xd4]
xor ebx, edx
mov edx, dword [rsp + 0x74]
rol edx, 1
xor edx, ebx
mov dword [rsp + 0x10c], edx
not edx
mov dword [rsp + 0x74], edx
mov edx, ebx
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor eax, edx
and esi, dword [rsp + 0xa4]
xor esi, dword [rsp + 0xb4]
lea eax, [rax + rax*2]
xor ecx, dword [rsp + 0x40]
xor esi, dword [rsp + 0xd8]
xor esi, eax
mov eax, dword [rsp + 0xe0]
and edi, dword [rsp + 0xa8]
xor edi, dword [rsp + 0xb8]
xor edi, dword [rsp + 0xdc]
rol eax, 1
xor r15d, dword [rsp + 0x7c]
xor eax, esi
mov dword [rsp + 0x100], eax
not eax
mov dword [rsp + 0xe0], eax
mov eax, esi
rol eax, 0xf
lea eax, [rax + rax*4]
xor ecx, eax
lea eax, [rcx + rcx*2]
xor edi, eax
mov eax, dword [rsp + 0xe4]
rol eax, 1
mov ecx, eax
mov eax, edi
rol eax, 0xf
xor ecx, edi
lea eax, [rax + rax*4]
mov dword [rsp + 0x110], ecx
not ecx
xor r15d, eax
mov dword [rsp + 0xe4], ecx
mov edx, dword [rsp + 0x104]
lea eax, [r15 + r15*2]
and edx, dword [rsp + 0xac]
xor r14d, dword [rsp + 0x78]
xor edx, dword [rsp + 0xbc]
xor edx, dword [rsp + 0x74]
xor edx, eax
mov eax, dword [rsp + 0xe8]
rol eax, 1
mov r15d, eax
mov eax, edx
rol eax, 0xf
xor r15d, edx
lea eax, [rax + rax*4]
mov dword [rsp + 0x104], r15d
not r15d
xor r14d, eax
mov eax, dword [rsp + 0xec]
and eax, dword [rsp + 0xd4]
mov dword [rsp + 0xe8], r15d
lea ecx, [r14 + r14*2]
xor eax, dword [rsp + 0xc0]
xor eax, dword [rsp + 0xe0]
xor eax, ecx
mov ecx, dword [rsp + 0x70]
rol ecx, 1
xor r13d, dword [rsp + 0x3c]
xor r8d, dword [rsp + 0x5c]
mov r14d, ecx
mov ecx, eax
xor r9d, dword [rsp + 0x38]
rol ecx, 0xf
xor r14d, eax
lea ecx, [rcx + rcx*4]
mov dword [rsp + 0x114], r14d
not r14d
xor r13d, ecx
mov ecx, dword [rsp + 0xf0]
mov dword [rsp + 0x70], r14d
and ecx, dword [rsp + 0xd8]
lea r13d, [r13 + r13*2]
xor ecx, dword [rsp + 0xc4]
xor ecx, dword [rsp + 0xe4]
xor ecx, r13d
mov r13d, dword [rsp + 0xa0]
rol r13d, 1
xor r13d, ecx
mov dword [rsp + 0x118], r13d
not r13d
mov dword [rsp + 0xa0], r13d
mov r13d, ecx
rol r13d, 0xf
lea r13d, [r13 + r13*4]
xor r8d, r13d
lea r13d, [r8 + r8*2]
mov r8d, dword [rsp + 0xf4]
and r8d, dword [rsp + 0xdc]
xor r8d, dword [rsp + 0xc8]
xor r8d, r15d
xor r8d, r13d
mov r13d, dword [rsp + 0x6c]
rol r13d, 1
xor r13d, r8d
mov dword [rsp + 0x11c], r13d
not r13d
mov dword [rsp + 0x6c], r13d
mov r13d, r8d
rol r13d, 0xf
lea r13d, [r13 + r13*4]
xor r9d, r13d
lea r13d, [r9 + r9*2]
mov r9d, dword [rsp + 0xf8]
and r9d, dword [rsp + 0x74]
xor r9d, dword [rsp + 0xcc]
xor r10d, dword [rsp + 0x34]
xor r9d, r14d
xor r9d, r13d
mov r13d, dword [rsp + 0x68]
rol r13d, 1
mov r15d, r13d
mov r13d, r9d
rol r13d, 0xf
xor r15d, r9d
lea r13d, [r13 + r13*4]
mov dword [rsp + 0x120], r15d
mov r14d, r15d
xor r10d, r13d
not r14d
lea r13d, [r10 + r10*2]
mov r10d, dword [rsp + 0x108]
mov dword [rsp + 0x68], r14d
and r10d, dword [rsp + 0xe0]
xor r10d, dword [rsp + 0xd0]
xor r10d, dword [rsp + 0xa0]
xor r11d, dword [rsp + 0x30]
xor r10d, r13d
mov r13d, dword [rsp + 0x64]
xor r12d, dword [rsp + 0x58]
xor ebp, dword [rsp + 0x54]
rol r13d, 1
mov r15d, r13d
mov r13d, r10d
rol r13d, 0xf
xor r15d, r10d
lea r13d, [r13 + r13*4]
mov dword [rsp + 0x108], r15d
not r15d
xor r11d, r13d
mov dword [rsp + 0x64], r15d
mov r15d, dword [rsp + 0x80]
lea r13d, [r11 + r11*2]
mov r11d, dword [rsp + 0xfc]
and r11d, dword [rsp + 0xe4]
xor r11d, dword [rsp + 0x98]
xor r11d, dword [rsp + 0x6c]
xor r11d, r13d
mov r13d, dword [rsp + 0x9c]
rol r13d, 1
xor r13d, r11d
mov dword [rsp + 0xfc], r13d
not r13d
mov dword [rsp + 0x9c], r13d
mov r13d, r11d
rol r13d, 0xf
lea r13d, [r13 + r13*4]
xor r12d, r13d
mov r13d, dword [rsp + 0x10c]
and r13d, dword [rsp + 0xe8]
xor r15d, r13d
lea r12d, [r12 + r12*2]
xor r15d, r14d
mov r14d, dword [rsp + 0x84]
xor r15d, r12d
mov r12d, dword [rsp + 0xa4]
rol r12d, 1
xor r12d, r15d
mov dword [rsp + 0xa4], r12d
not r12d
mov dword [rsp + 0xec], r12d
mov r12d, r15d
rol r12d, 0xf
lea r12d, [r12 + r12*4]
xor ebp, r12d
mov r12d, dword [rsp + 0x100]
and r12d, dword [rsp + 0x70]
xor r14d, r12d
lea ebp, [rbp + rbp*2]
xor r14d, dword [rsp + 0x64]
mov r13d, dword [rsp + 0x110]
xor r14d, ebp
mov ebp, dword [rsp + 0xa8]
rol ebp, 1
xor ebp, r14d
xor ebx, dword [rsp + 0x2c]
and r13d, dword [rsp + 0xa0]
mov r12d, ebp
mov dword [rsp + 0xa8], ebp
xor r13d, dword [rsp + 0x88]
not r12d
xor r13d, dword [rsp + 0x9c]
xor esi, dword [rsp + 0x60]
xor edi, dword [rsp + 0x50]
xor edx, dword [rsp + 0x4c]
mov dword [rsp + 0xf0], r12d
mov r12d, r14d
rol r12d, 0xf
lea ebp, [r12 + r12*4]
xor ebx, ebp
lea ebx, [rbx + rbx*2]
xor r13d, ebx
mov ebx, dword [rsp + 0xac]
mov r12d, r13d
rol ebx, 1
rol r12d, 0xf
xor ebx, r13d
mov dword [rsp + 0xac], ebx
not ebx
mov dword [rsp + 0x110], ebx
lea ebx, [r12 + r12*4]
mov r12d, dword [rsp + 0x104]
xor esi, ebx
and r12d, dword [rsp + 0x6c]
xor r12d, dword [rsp + 0x8c]
lea ebx, [rsi + rsi*2]
xor r12d, dword [rsp + 0xec]
mov esi, dword [rsp + 0xd4]
xor r12d, ebx
rol esi, 1
mov ebp, r12d
xor esi, r12d
rol ebp, 0xf
lea ebx, [rbp + rbp*4]
mov dword [rsp + 0x124], esi
not esi
xor edi, ebx
mov dword [rsp + 0xd4], esi
mov esi, dword [rsp + 0x114]
and esi, dword [rsp + 0x68]
xor esi, dword [rsp + 0x90]
lea ebx, [rdi + rdi*2]
xor esi, dword [rsp + 0xf0]
mov edi, esi
xor edi, ebx
mov ebp, edi
mov edi, dword [rsp + 0xd8]
mov dword [rsp + 0xd8], ebp
rol edi, 1
xor edi, ebp
rol ebp, 0xf
mov esi, edi
lea ebx, [rbp + rbp*4]
not esi
xor edx, ebx
mov ebx, dword [rsp + 0x118]
and ebx, dword [rsp + 0x64]
mov dword [rsp + 0xf4], esi
xor ebx, dword [rsp + 0x94]
lea edx, [rdx + rdx*2]
mov esi, dword [rsp + 0x110]
mov ebp, dword [rsp + 0xdc]
xor eax, dword [rsp + 0x48]
xor ecx, dword [rsp + 0x44]
xor ebx, esi
rol ebp, 1
xor r8d, dword [rsp + 0x40]
xor ebx, edx
xor ebp, ebx
mov dword [rsp + 0xdc], ebx
rol ebx, 0xf
mov edx, ebp
not edx
mov dword [rsp + 0xf8], edx
lea edx, [rbx + rbx*4]
xor eax, edx
lea edx, [rax + rax*2]
mov eax, dword [rsp + 0x11c]
and eax, dword [rsp + 0x9c]
xor eax, dword [rsp + 0xb0]
xor eax, dword [rsp + 0xd4]
mov ebx, eax
xor ebx, edx
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0x74], ebx
rol edx, 1
xor edx, ebx
mov eax, edx
not eax
mov dword [rsp + 0x114], eax
mov eax, ebx
rol eax, 0xf
lea edx, [rax + rax*4]
xor ecx, edx
lea edx, [rcx + rcx*2]
mov ecx, dword [rsp + 0x120]
and ecx, dword [rsp + 0xec]
xor ecx, dword [rsp + 0xb4]
xor ecx, dword [rsp + 0xf4]
xor ecx, edx
mov edx, dword [rsp + 0xe0]
rol edx, 1
xor edx, ecx
mov eax, edx
not eax
mov dword [rsp + 0xe0], eax
mov eax, ecx
rol eax, 0xf
lea edx, [rax + rax*4]
xor r8d, edx
lea edx, [r8 + r8*2]
mov r8d, dword [rsp + 0x108]
and r8d, dword [rsp + 0xf0]
xor r8d, dword [rsp + 0xb8]
xor r8d, dword [rsp + 0xf8]
xor r8d, edx
mov edx, dword [rsp + 0xe4]
rol edx, 1
xor edx, r8d
not edx
mov ebx, edx
mov edx, r8d
rol edx, 0xf
xor r9d, dword [rsp + 0x7c]
xor r10d, dword [rsp + 0x78]
lea edx, [rdx + rdx*4]
xor r9d, edx
lea edx, [r9 + r9*2]
mov r9d, dword [rsp + 0xfc]
and r9d, esi
mov esi, dword [rsp + 0x114]
xor r9d, dword [rsp + 0xbc]
xor r9d, esi
xor r9d, edx
mov edx, dword [rsp + 0xe8]
rol edx, 1
xor edx, r9d
not edx
mov dword [rsp + 0x104], edx
mov edx, r9d
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor r10d, edx
lea edx, [r10 + r10*2]
mov r10d, dword [rsp + 0xa4]
and r10d, dword [rsp + 0xd4]
mov dword [rsp + 0x100], ebx
xor r10d, dword [rsp + 0xc0]
xor r10d, dword [rsp + 0xe0]
xor r10d, edx
mov edx, dword [rsp + 0x70]
xor r11d, dword [rsp + 0x3c]
xor r15d, dword [rsp + 0x5c]
rol edx, 1
xor edx, r10d
not edx
mov dword [rsp + 0x108], edx
mov edx, r10d
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor r11d, edx
lea edx, [r11 + r11*2]
mov r11d, dword [rsp + 0xa8]
and r11d, dword [rsp + 0xf4]
xor r11d, dword [rsp + 0xc4]
xor r11d, ebx
mov ebx, dword [rsp + 0xac]
and ebx, dword [rsp + 0xf8]
xor r11d, edx
mov edx, dword [rsp + 0xa0]
xor ebx, dword [rsp + 0xc8]
rol edx, 1
xor edx, r11d
not edx
mov dword [rsp + 0x10c], edx
mov edx, r11d
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor r15d, edx
xor ebx, dword [rsp + 0x104]
xor r14d, dword [rsp + 0x38]
lea edx, [r15 + r15*2]
xor r13d, dword [rsp + 0x34]
and edi, dword [rsp + 0xe0]
xor ebx, edx
mov edx, dword [rsp + 0x6c]
xor edi, dword [rsp + 0xd0]
xor edi, dword [rsp + 0x10c]
rol edx, 1
xor edx, ebx
mov r15d, edx
not r15d
mov eax, r15d
mov dword [rsp + 0x134], r15d
mov r15d, ebx
rol r15d, 0xf
lea edx, [r15 + r15*4]
xor r14d, edx
lea edx, [r14 + r14*2]
mov r14d, dword [rsp + 0x124]
and r14d, esi
mov esi, dword [rsp + 0xcc]
xor esi, r14d
xor esi, dword [rsp + 0x108]
xor esi, edx
mov edx, dword [rsp + 0x68]
rol edx, 1
xor edx, esi
not edx
mov dword [rsp + 0x138], edx
mov edx, esi
rol edx, 0xf
lea edx, [rdx + rdx*4]
xor r13d, edx
lea edx, [r13 + r13*2]
xor edi, edx
mov edx, dword [rsp + 0x64]
rol edx, 1
xor edx, edi
not edx
mov dword [rsp + 0x13c], edx
mov edx, edi
xor r12d, dword [rsp + 0x30]
rol edx, 0xf
mov r15d, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x54]
lea edx, [rdx + rdx*4]
add r14d, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x44]
xor r12d, edx
and ebp, dword [rsp + 0x100]
xor ebp, dword [rsp + 0x98]
lea edx, [r12 + r12*2]
xor ebp, eax
mov r12d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x40]
xor ebp, edx
mov edx, dword [rsp + 0x9c]
rol edx, 1
xor edx, ebp
add r12d, r15d
add eax, dword [rsp + 0x50]
add r15d, dword [rsp + 0x34]
not edx
add r13d, dword [rsp + 0x60]
mov dword [rsp + 0x140], edx
mov edx, eax
mov eax, dword [rsp + 0x78]
add r15d, eax
add ebp, r15d
mov r15d, dword [rsp + 0x60]
mov dword [rsp + 0xfc], ebp
mov ebp, dword [rsp + 0x30]
add ebp, r15d
add ebp, dword [rsp + 0x3c]
add edi, ebp
mov ebp, dword [rsp + 0x50]
mov dword [rsp + 0x118], edi
mov edi, dword [rsp + 0x58]
add edi, ebp
add edi, dword [rsp + 0x5c]
add edi, esi
mov dword [rsp + 0x11c], edi
mov edi, dword [rsp + 0x38]
lea esi, [r14 + rdi]
lea edi, [rsi + rbx]
mov ebx, dword [rsp + 0x34]
mov dword [rsp + 0x120], edi
add ebx, r12d
add r12d, eax
lea edi, [rbx + r11]
mov r11d, dword [rsp + 0x30]
lea ebx, [r12 + rcx]
mov dword [rsp + 0x124], edi
add r11d, r13d
add r10d, r11d
mov r11d, dword [rsp + 0x58]
mov dword [rsp + 0x128], r10d
lea r10d, [rdx + r11]
add r10d, r9d
mov dword [rsp + 0x12c], r10d
mov r9d, dword [rsp + 0x7c]
mov r10d, eax
mov eax, dword [rsp + 0x74]
add r13d, dword [rsp + 0x3c]
mov dword [rsp + 0xa8], r11d
mov ecx, dword [rsp + 0xdc]
mov dword [rsp + 0xdc], r15d
add r14d, r9d
add eax, r13d
mov r13d, dword [rsp + 0x5c]
mov r15d, dword [rsp + 0x2c]
add r8d, r14d
mov r12d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x38]
mov dword [rsp + 0x64], r10d
add edx, r13d
mov dword [rsp + 0x74], r15d
mov r15d, dword [rsp + 0x54]
lea edi, [rdx + rcx]
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x130], r8d
mov dword [rsp + 0xac], r15d
mov r8d, r9d
mov esi, dword [rsp + 0x44]
add ecx, edx
mov dword [rsp + 0xe4], edx
mov r15d, dword [rsp + 0x30]
add ecx, r9d
mov edx, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x34]
mov dword [rsp + 0xe8], r12d
add ecx, dword [rsp + 0xd8]
mov dword [rsp + 0xa4], r15d
mov dword [rsp + 0xd8], ebp
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x70], r9d
mov dword [rsp + 0xa0], r11d
mov dword [rsp + 0x6c], r13d
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x9c], r8d
sub dword [rsp + 0x14c], 1
je 0x522e40
mov edx, dword [rsp + 0x140]
mov dword [rsp + 0x7c], edx
mov edx, dword [rsp + 0x13c]
mov dword [rsp + 0x78], edx
mov edx, dword [rsp + 0x138]
mov dword [rsp + 0x3c], edx
mov edx, dword [rsp + 0x134]
mov dword [rsp + 0x5c], edx
mov edx, dword [rsp + 0x10c]
mov dword [rsp + 0x38], edx
mov edx, dword [rsp + 0x108]
mov dword [rsp + 0x34], edx
mov edx, dword [rsp + 0x104]
mov dword [rsp + 0x30], edx
mov edx, dword [rsp + 0x100]
mov dword [rsp + 0x58], edx
mov edx, dword [rsp + 0xe0]
mov dword [rsp + 0x54], edx
mov edx, dword [rsp + 0x114]
mov dword [rsp + 0x2c], edx
mov edx, dword [rsp + 0xf8]
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0xf4]
mov dword [rsp + 0x50], edx
mov edx, dword [rsp + 0xd4]
mov dword [rsp + 0x4c], edx
mov edx, dword [rsp + 0x110]
mov dword [rsp + 0x48], edx
mov edx, dword [rsp + 0xf0]
mov dword [rsp + 0x44], edx
mov edx, dword [rsp + 0xec]
mov dword [rsp + 0x40], edx
jmp 0x521ca6
cmp dword [rsp + 0x200], 0x10
je 0x522e70
cmp dword [rsp + 0x200], 8
je 0x522ee0
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movd xmm1, dword [rsp + 0x110]
movd xmm2, dword [rsp + 0xd4]
movd xmm0, dword [rsp + 0xec]
movd xmm3, dword [rsp + 0xf0]
movd xmm4, dword [rsp + 0xe0]
punpckldq xmm1, xmm2
movd xmm5, dword [rsp + 0xf8]
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm1
movd xmm1, dword [rsp + 0x114]
movups xmmword [rsp + 0x150], xmm0
movd xmm0, dword [rsp + 0xf4]
punpckldq xmm1, xmm4
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x160], xmm0
movd xmm1, dword [rsp + 0x108]
mov eax, dword [rsp + 0x200]
mov edx, 0x40
movd xmm2, dword [rsp + 0x10c]
movd xmm0, dword [rsp + 0x100]
movd xmm3, dword [rsp + 0x104]
shl eax, 2
mov rdi, qword [rsp + 0x1f8]
punpckldq xmm1, xmm2
sub rdx, rax
mov rcx, rax
movd xmm4, dword [rsp + 0x140]
punpckldq xmm0, xmm3
lea rsi, [rsp + rdx + 0x150]
movd xmm5, dword [rsp + 0x138]
punpcklqdq xmm0, xmm1
movd xmm1, dword [rsp + 0x13c]
movups xmmword [rsp + 0x170], xmm0
movd xmm0, dword [rsp + 0x134]
punpckldq xmm1, xmm4
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x180], xmm0
mov rdx, qword [rsi]
mov qword [rdi], rdx
mov rdx, qword [rax + rsi - 8]
mov rdi, qword [rsp + 0x1f8]
mov qword [rdi + rax - 8], rdx
mov rax, qword [rsp + 0x1f8]
lea rdi, [rax + 8]
mov r9, rax
and rdi, 0xfffffffffffffff8
sub r9, rdi
add ecx, r9d
sub rsi, r9
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x522e58