Function at 0x501990
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, 0x38
mov esi, dword [rcx + 0xa8]
mov r13, rcx
and esi, 0x7f
test r8, r8
je 0x503120
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], r8
jmp 0x5030c5
mov rdx, qword [rsp + 0x88]
mov r8, r15
call sub.msvcrt.dll_memcpy
add qword [rsp + 0x88], r15
sub qword [rsp + 0x90], r15
mov ecx, dword [r13]
rorx edx, dword [r13 + 0x9c], 0xb
mov eax, dword [r13 + 0x80]
add ecx, edx
mov edx, dword [r13 + 0x84]
and eax, dword [r13 + 0x98]
and edx, dword [r13 + 0x94]
xor eax, edx
mov edx, dword [r13 + 0x8c]
xor eax, dword [r13 + 0x90]
xor edx, dword [r13 + 0x90]
and edx, dword [r13 + 0x88]
xor edx, eax
rorx eax, dword [r13 + 0x98], 0xb
add eax, dword [r13 + 4]
rorx edx, edx, 7
add edx, ecx
mov ecx, eax
mov eax, dword [r13 + 0x88]
rorx edi, dword [r13 + 0x94], 0xb
xor eax, dword [r13 + 0x8c]
and eax, dword [r13 + 0x84]
mov r8d, eax
mov eax, dword [r13 + 0x80]
mov r9d, dword [r13 + 0x84]
and eax, dword [r13 + 0x90]
xor eax, dword [r13 + 0x8c]
xor eax, r8d
mov r8d, dword [r13 + 0x94]
and r8d, edx
xor eax, r8d
rorx eax, eax, 7
add eax, ecx
mov ecx, dword [r13 + 8]
add ecx, edi
mov edi, dword [r13 + 0x84]
xor edi, dword [r13 + 0x88]
and edi, dword [r13 + 0x80]
xor edi, dword [r13 + 0x88]
mov r8d, edi
mov edi, dword [r13 + 0x8c]
and edi, edx
xor edi, r8d
mov r8d, dword [r13 + 0x90]
and r8d, eax
xor edi, r8d
rorx edi, edi, 7
add edi, ecx
mov ecx, dword [r13 + 0xc]
rorx r8d, dword [r13 + 0x90], 0xb
add ecx, r8d
mov r8d, dword [r13 + 0x80]
xor r8d, dword [r13 + 0x84]
and r8d, edx
xor r9d, r8d
mov r8d, dword [r13 + 0x88]
rorx r11d, dword [r13 + 0x88], 0xb
and r8d, eax
xor r8d, r9d
mov r9d, dword [r13 + 0x8c]
and r9d, edi
xor r8d, r9d
rorx r8d, r8d, 7
add r8d, ecx
mov ecx, dword [r13 + 0x10]
rorx r9d, dword [r13 + 0x8c], 0xb
add ecx, r9d
mov r9d, dword [r13 + 0x80]
xor r9d, edx
and r9d, eax
xor r9d, dword [r13 + 0x80]
mov r10d, r9d
mov r9d, dword [r13 + 0x84]
and r9d, edi
xor r9d, r10d
mov r10d, dword [r13 + 0x88]
and r10d, r8d
xor r9d, r10d
rorx r9d, r9d, 7
add r9d, ecx
mov ecx, dword [r13 + 0x14]
add ecx, r11d
mov r11d, edx
xor r11d, eax
and r11d, edi
xor r11d, edx
mov r10d, r11d
mov r11d, dword [r13 + 0x80]
and r11d, r8d
xor r11d, r10d
mov r10d, dword [r13 + 0x84]
and r10d, r9d
xor r11d, r10d
rorx r11d, r11d, 7
add r11d, ecx
mov ecx, dword [r13 + 0x18]
rorx r10d, dword [r13 + 0x84], 0xb
add ecx, r10d
mov r10d, eax
xor r10d, edi
and r10d, r8d
mov ebx, r10d
mov r10d, edx
xor ebx, eax
and r10d, r9d
xor r10d, ebx
mov ebx, dword [r13 + 0x80]
and ebx, r11d
xor r10d, ebx
rorx r10d, r10d, 7
add r10d, ecx
mov ecx, dword [r13 + 0x1c]
rorx ebx, dword [r13 + 0x80], 0xb
add ecx, ebx
mov ebx, edi
xor ebx, r8d
and ebx, r9d
xor ebx, edi
mov esi, ebx
mov ebx, eax
and ebx, r11d
xor ebx, esi
mov esi, edx
and esi, r10d
xor ebx, esi
mov esi, r8d
xor esi, r9d
and esi, r11d
rorx ebx, ebx, 7
add ebx, ecx
mov ecx, esi
mov esi, edi
xor ecx, r8d
and esi, r10d
xor esi, ecx
mov ecx, eax
and ecx, ebx
xor esi, ecx
mov ecx, r9d
xor ecx, r11d
and ecx, r10d
rorx edx, edx, 0xb
add edx, dword [r13 + 0x20]
rorx esi, esi, 7
add esi, edx
mov edx, ecx
mov ecx, r8d
xor edx, r9d
and ecx, ebx
xor ecx, edx
mov edx, edi
and edx, esi
xor ecx, edx
mov edx, r11d
xor edx, r10d
and edx, ebx
rorx eax, eax, 0xb
add eax, dword [r13 + 0x24]
rorx ecx, ecx, 7
add ecx, eax
mov eax, edx
mov edx, r9d
xor eax, r11d
and edx, esi
xor edx, eax
mov eax, r8d
rorx edi, edi, 0xb
add edi, dword [r13 + 0x28]
and eax, ecx
xor edx, eax
mov eax, dword [r13 + 0x2c]
rorx r8d, r8d, 0xb
add eax, r8d
mov r8d, r10d
xor r8d, ebx
and r8d, esi
rorx edx, edx, 7
add edx, edi
mov edi, r8d
mov r8d, r11d
xor edi, r10d
and r8d, ecx
xor r8d, edi
mov edi, r9d
and edi, edx
xor r8d, edi
rorx r8d, r8d, 7
add r8d, eax
mov eax, dword [r13 + 0x30]
rorx r9d, r9d, 0xb
add eax, r9d
mov r9d, ebx
xor r9d, esi
and r9d, ecx
mov edi, r9d
mov r9d, r10d
xor edi, ebx
and r9d, edx
xor r9d, edi
mov edi, r11d
and edi, r8d
xor r9d, edi
rorx r9d, r9d, 7
add r9d, eax
mov eax, dword [r13 + 0x34]
rorx r11d, r11d, 0xb
add eax, r11d
mov r11d, esi
xor r11d, ecx
and r11d, edx
mov edi, r11d
mov r11d, ebx
xor edi, esi
and r11d, r8d
xor r11d, edi
mov edi, r10d
and edi, r9d
xor r11d, edi
rorx r11d, r11d, 7
add r11d, eax
mov eax, dword [r13 + 0x38]
rorx r10d, r10d, 0xb
add eax, r10d
mov r10d, ecx
xor r10d, edx
and r10d, r8d
mov edi, r10d
mov r10d, esi
xor edi, ecx
and r10d, r9d
xor r10d, edi
mov edi, ebx
and edi, r11d
xor r10d, edi
rorx r10d, r10d, 7
add r10d, eax
mov eax, dword [r13 + 0x3c]
rorx ebx, ebx, 0xb
add eax, ebx
mov ebx, edx
xor ebx, r8d
and ebx, r9d
xor ebx, edx
mov edi, ebx
mov ebx, ecx
and ebx, r11d
xor ebx, edi
mov edi, esi
and edi, r10d
xor ebx, edi
rorx ebx, ebx, 7
add ebx, eax
mov eax, r8d
xor eax, r9d
and eax, r11d
xor eax, r8d
mov edi, eax
mov eax, edx
and eax, r10d
xor eax, edi
mov edi, ecx
and edi, ebx
xor eax, edi
rorx esi, esi, 0xb
rorx ecx, ecx, 0xb
add esi, dword [r13 + 0x40]
add ecx, dword [r13 + 0x44]
rorx eax, eax, 7
add eax, esi
mov esi, ecx
mov ecx, r9d
xor ecx, r11d
and ecx, r10d
xor ecx, r9d
mov edi, ecx
mov ecx, r8d
and ecx, ebx
xor ecx, edi
mov edi, edx
and edi, eax
xor ecx, edi
rorx edx, edx, 0xb
add edx, dword [r13 + 0x48]
rorx ecx, ecx, 7
add ecx, esi
mov esi, edx
mov edx, r11d
xor edx, r10d
and edx, ebx
xor edx, r11d
mov edi, edx
mov edx, r9d
and edx, eax
xor edx, edi
mov edi, r8d
and edi, ecx
xor edx, edi
rorx edx, edx, 7
add edx, esi
mov esi, dword [r13 + 0x4c]
rorx r8d, r8d, 0xb
add esi, r8d
mov r8d, r10d
xor r8d, ebx
and r8d, eax
mov edi, r8d
mov r8d, r11d
xor edi, r10d
and r8d, ecx
xor r8d, edi
mov edi, r9d
and edi, edx
xor r8d, edi
rorx r8d, r8d, 7
add r8d, esi
mov esi, dword [r13 + 0x50]
rorx r9d, r9d, 0xb
add esi, r9d
mov r9d, ebx
xor r9d, eax
and r9d, ecx
mov edi, r9d
mov r9d, r10d
xor edi, ebx
and r9d, edx
xor r9d, edi
mov edi, r11d
and edi, r8d
xor r9d, edi
rorx r9d, r9d, 7
add r9d, esi
mov esi, dword [r13 + 0x54]
rorx r11d, r11d, 0xb
add esi, r11d
mov r11d, eax
xor r11d, ecx
and r11d, edx
mov edi, r11d
mov r11d, ebx
xor edi, eax
and r11d, r8d
xor r11d, edi
mov edi, r10d
and edi, r9d
xor r11d, edi
rorx r11d, r11d, 7
add r11d, esi
mov esi, dword [r13 + 0x58]
rorx r10d, r10d, 0xb
add esi, r10d
mov r10d, ecx
xor r10d, edx
and r10d, r8d
mov edi, r10d
mov r10d, eax
xor edi, ecx
and r10d, r9d
xor r10d, edi
mov edi, ebx
and edi, r11d
xor r10d, edi
rorx ebx, ebx, 0xb
add ebx, dword [r13 + 0x5c]
rorx r10d, r10d, 7
add r10d, esi
mov esi, ebx
mov ebx, edx
xor ebx, r8d
and ebx, r9d
xor ebx, edx
mov edi, ebx
mov ebx, ecx
and ebx, r11d
xor ebx, edi
mov edi, eax
and edi, r10d
xor ebx, edi
rorx eax, eax, 0xb
add eax, dword [r13 + 0x60]
rorx ebx, ebx, 7
add ebx, esi
mov esi, eax
mov eax, r8d
xor eax, r9d
and eax, r11d
xor eax, r8d
mov edi, eax
mov eax, edx
and eax, r10d
xor eax, edi
mov edi, ecx
and edi, ebx
xor eax, edi
rorx eax, eax, 7
rorx ecx, ecx, 0xb
add eax, esi
add ecx, dword [r13 + 0x64]
mov esi, ecx
mov ecx, r9d
xor ecx, r11d
and ecx, r10d
xor ecx, r9d
mov edi, ecx
mov ecx, r8d
and ecx, ebx
xor ecx, edi
mov edi, edx
and edi, eax
xor ecx, edi
rorx edx, edx, 0xb
add edx, dword [r13 + 0x68]
rorx ecx, ecx, 7
add ecx, esi
mov esi, edx
mov edx, r11d
xor edx, r10d
and edx, ebx
xor edx, r11d
mov edi, edx
mov edx, r9d
and edx, eax
xor edx, edi
mov edi, r8d
and edi, ecx
xor edx, edi
rorx edx, edx, 7
add edx, esi
mov esi, dword [r13 + 0x6c]
rorx r8d, r8d, 0xb
add esi, r8d
mov r8d, r10d
xor r8d, ebx
and r8d, eax
mov edi, r8d
mov r8d, r11d
xor edi, r10d
and r8d, ecx
xor r8d, edi
mov edi, r9d
and edi, edx
xor r8d, edi
rorx r8d, r8d, 7
add r8d, esi
mov esi, dword [r13 + 0x70]
rorx r9d, r9d, 0xb
add esi, r9d
mov r9d, ebx
xor r9d, eax
and r9d, ecx
mov edi, r9d
mov r9d, r10d
xor edi, ebx
and r9d, edx
xor r9d, edi
mov edi, r11d
and edi, r8d
xor r9d, edi
rorx r9d, r9d, 7
add r9d, esi
mov esi, dword [r13 + 0x74]
rorx r11d, r11d, 0xb
add esi, r11d
mov r11d, eax
xor r11d, ecx
and r11d, edx
mov edi, r11d
mov r11d, ebx
xor edi, eax
and r11d, r8d
xor r11d, edi
mov edi, r10d
and edi, r9d
xor r11d, edi
rorx r11d, r11d, 7
add r11d, esi
mov esi, dword [r13 + 0x78]
rorx r10d, r10d, 0xb
add esi, r10d
mov r10d, ecx
xor r10d, edx
and r10d, r8d
mov edi, r10d
mov r10d, eax
xor edi, ecx
and r10d, r9d
xor r10d, edi
mov edi, ebx
and edi, r11d
xor r10d, edi
rorx ebx, ebx, 0xb
add ebx, dword [r13 + 0x7c]
rorx r10d, r10d, 7
add r10d, esi
mov esi, ebx
mov ebx, edx
xor ebx, r8d
and ebx, r9d
xor ebx, edx
mov edi, ebx
mov ebx, ecx
and ebx, r11d
xor ebx, edi
mov edi, eax
and edi, r10d
xor ebx, edi
rorx ebx, ebx, 7
add ebx, esi
mov esi, dword [r13 + 0x14]
rorx eax, eax, 0xb
lea ebp, [rsi + rax + 0x452821e6]
mov eax, r11d
mov esi, ecx
and eax, r10d
mov edi, r9d
xor esi, r8d
xor esi, eax
xor edi, r11d
andn eax, ebx, r9d
and edi, r10d
xor esi, eax
mov eax, r11d
and eax, ebx
xor edi, ecx
and esi, edx
xor edi, eax
xor edi, esi
mov esi, dword [r13 + 0x38]
rorx eax, edi, 7
rorx ecx, ecx, 0xb
add eax, ebp
lea ebp, [rsi + rcx + 0x38d01377]
mov ecx, r10d
mov esi, edx
and ecx, ebx
xor esi, r9d
mov edi, r11d
xor esi, ecx
xor edi, r10d
andn ecx, eax, r11d
and edi, ebx
xor esi, ecx
mov ecx, r10d
and ecx, eax
xor edi, edx
and esi, r8d
xor edi, ecx
xor edi, esi
mov esi, dword [r13 + 0x68]
rorx ecx, edi, 7
rorx edx, edx, 0xb
add ecx, ebp
lea ebp, [rsi + rdx - 0x41ab9931]
mov edx, ebx
mov esi, r8d
and edx, eax
xor esi, r11d
xor esi, edx
mov edi, r10d
andn edx, ecx, r10d
xor esi, edx
and esi, r9d
xor edi, ebx
and edi, eax
mov edx, ebx
and edx, ecx
xor edi, r8d
xor edi, edx
xor edi, esi
mov esi, dword [r13 + 0x48]
rorx edx, edi, 7
rorx r8d, r8d, 0xb
add edx, ebp
lea ebp, [rsi + r8 + 0x34e90c6c]
mov r8d, eax
mov esi, r9d
and r8d, ecx
xor esi, r10d
mov edi, ebx
xor esi, r8d
xor edi, eax
andn r8d, edx, ebx
and edi, ecx
xor esi, r8d
mov r8d, eax
and r8d, edx
xor edi, r9d
and esi, r11d
xor edi, r8d
xor edi, esi
mov esi, dword [r13 + 0x2c]
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, ebp
lea ebp, [rsi + r9 - 0x3f53d649]
mov r9d, ecx
mov esi, r11d
and r9d, edx
xor esi, ebx
mov edi, eax
xor esi, r9d
xor edi, ecx
andn r9d, r8d, eax
and edi, edx
xor esi, r9d
mov r9d, ecx
and r9d, r8d
xor edi, r11d
and esi, r10d
xor edi, r9d
xor edi, esi
mov esi, dword [r13 + 0x70]
rorx r9d, edi, 7
rorx r11d, r11d, 0xb
add r9d, ebp
lea ebp, [rsi + r11 - 0x3683af23]
mov r11d, edx
mov esi, r10d
and r11d, r8d
xor esi, eax
mov edi, ecx
xor esi, r11d
xor edi, edx
andn r11d, r9d, ecx
and edi, r8d
xor esi, r11d
mov r11d, edx
and r11d, r9d
xor edi, r10d
and esi, ebx
xor edi, r11d
xor edi, esi
mov esi, dword [r13 + 0x1c]
rorx r11d, edi, 7
rorx r10d, r10d, 0xb
add r11d, ebp
lea ebp, [rsi + r10 + 0x3f84d5b5]
mov r10d, r8d
mov esi, ebx
and r10d, r9d
xor esi, ecx
mov edi, edx
xor esi, r10d
xor edi, r8d
andn r10d, r11d, edx
and edi, r9d
xor esi, r10d
mov r10d, r8d
and r10d, r11d
xor edi, ebx
and esi, eax
xor edi, r10d
xor edi, esi
mov esi, dword [r13 + 0x40]
rorx r10d, edi, 7
rorx ebx, ebx, 0xb
add r10d, ebp
lea ebp, [rsi + rbx - 0x4ab8f6e9]
mov ebx, r9d
mov esi, eax
and ebx, r11d
xor esi, edx
xor esi, ebx
mov edi, r8d
andn ebx, r10d, r8d
xor esi, ebx
and esi, ecx
xor edi, r9d
and edi, r11d
mov ebx, r9d
and ebx, r10d
xor edi, eax
xor edi, ebx
xor edi, esi
mov esi, dword [r13]
rorx ebx, edi, 7
rorx eax, eax, 0xb
add ebx, ebp
lea ebp, [rsi + rax - 0x6de92a27]
mov eax, r11d
mov esi, ecx
and eax, r10d
xor esi, r8d
mov edi, r9d
xor esi, eax
xor edi, r11d
andn eax, ebx, r9d
and edi, r10d
xor esi, eax
mov eax, r11d
and eax, ebx
xor edi, ecx
and esi, edx
xor edi, eax
xor edi, esi
mov esi, dword [r13 + 0x5c]
rorx eax, edi, 7
rorx ecx, ecx, 0xb
add eax, ebp
lea ebp, [rsi + rcx - 0x768604e5]
mov ecx, r10d
mov esi, edx
and ecx, ebx
xor esi, r9d
mov edi, r11d
xor esi, ecx
xor edi, r10d
andn ecx, eax, r11d
and edi, ebx
xor esi, ecx
mov ecx, r10d
and ecx, eax
xor edi, edx
and esi, r8d
xor edi, ecx
xor edi, esi
mov esi, dword [r13 + 0x50]
rorx ecx, edi, 7
rorx edx, edx, 0xb
add ecx, ebp
lea ebp, [rsi + rdx - 0x2ecef45a]
mov edx, ebx
mov esi, r8d
and edx, eax
xor esi, r11d
mov edi, r10d
xor esi, edx
xor edi, ebx
andn edx, ecx, r10d
and edi, eax
xor esi, edx
mov edx, ebx
and edx, ecx
xor edi, r8d
and esi, r9d
xor edi, edx
xor edi, esi
mov esi, dword [r13 + 0x58]
rorx edx, edi, 7
rorx r8d, r8d, 0xb
add edx, ebp
lea ebp, [rsi + r8 - 0x67204a54]
mov r8d, eax
mov esi, r9d
and r8d, ecx
xor esi, r10d
mov edi, ebx
xor esi, r8d
xor edi, eax
andn r8d, edx, ebx
and edi, ecx
xor esi, r8d
mov r8d, eax
and r8d, edx
xor edi, r9d
and esi, r11d
xor edi, r8d
xor edi, esi
mov esi, dword [r13 + 4]
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, ebp
lea ebp, [rsi + r9 + 0x2ffd72db]
mov r9d, ecx
mov esi, r11d
and r9d, edx
xor esi, ebx
xor esi, r9d
mov edi, eax
andn r9d, r8d, eax
xor esi, r9d
xor edi, ecx
and edi, edx
mov r9d, ecx
and r9d, r8d
xor edi, r11d
and esi, r10d
xor edi, r9d
xor edi, esi
mov esi, dword [r13 + 0x28]
rorx r9d, edi, 7
rorx r11d, r11d, 0xb
add r9d, ebp
lea ebp, [rsi + r11 - 0x2fe52049]
mov r11d, edx
mov esi, r10d
and r11d, r8d
xor esi, eax
mov edi, ecx
xor esi, r11d
xor edi, edx
andn r11d, r9d, ecx
and edi, r8d
xor esi, r11d
mov r11d, edx
and r11d, r9d
xor edi, r10d
and esi, ebx
xor edi, r11d
xor edi, esi
mov esi, dword [r13 + 0x10]
rorx r11d, edi, 7
rorx r10d, r10d, 0xb
add r11d, ebp
lea ebp, [rsi + r10 - 0x471e5013]
mov r10d, r8d
mov esi, ebx
and r10d, r9d
xor esi, ecx
mov edi, edx
xor esi, r10d
xor edi, r8d
andn r10d, r11d, edx
and edi, r9d
xor esi, r10d
mov r10d, r8d
and r10d, r11d
xor edi, ebx
and esi, eax
xor edi, r10d
xor edi, esi
mov esi, dword [r13 + 0x20]
rorx r10d, edi, 7
rorx ebx, ebx, 0xb
add r10d, ebp
lea ebp, [rsi + rbx + 0x6a267e96]
mov ebx, r9d
mov esi, eax
and ebx, r11d
xor esi, edx
mov edi, r8d
xor esi, ebx
xor edi, r9d
andn ebx, r10d, r8d
and edi, r11d
xor esi, ebx
mov ebx, r9d
and ebx, r10d
xor edi, eax
and esi, ecx
xor edi, ebx
xor edi, esi
mov esi, dword [r13 + 0x78]
rorx ebx, edi, 7
rorx eax, eax, 0xb
add ebx, ebp
lea ebp, [rsi + rax - 0x45836fbb]
mov eax, r11d
mov esi, ecx
and eax, r10d
xor esi, r8d
mov edi, r9d
xor esi, eax
xor edi, r11d
andn eax, ebx, r9d
and edi, r10d
xor esi, eax
mov eax, r11d
and eax, ebx
xor edi, ecx
and esi, edx
xor edi, eax
xor edi, esi
mov esi, dword [r13 + 0xc]
rorx eax, edi, 7
rorx ecx, ecx, 0xb
add eax, ebp
lea ebp, [rsi + rcx - 0xed38067]
mov ecx, r10d
mov esi, edx
and ecx, ebx
xor esi, r9d
mov edi, r11d
xor esi, ecx
andn ecx, eax, r11d
xor edi, r10d
xor esi, ecx
and edi, ebx
mov ecx, r10d
and ecx, eax
xor edi, edx
and esi, r8d
xor edi, ecx
xor edi, esi
mov esi, dword [r13 + 0x54]
rorx ecx, edi, 7
rorx edx, edx, 0xb
add ecx, ebp
lea ebp, [rsi + rdx + 0x24a19947]
mov edx, ebx
mov esi, r8d
and edx, eax
xor esi, r11d
mov edi, r10d
xor esi, edx
xor edi, ebx
andn edx, ecx, r10d
and edi, eax
xor esi, edx
mov edx, ebx
and edx, ecx
xor edi, r8d
and esi, r9d
xor edi, edx
xor edi, esi
mov esi, dword [r13 + 0x24]
rorx edx, edi, 7
rorx r8d, r8d, 0xb
add edx, ebp
lea ebp, [rsi + r8 - 0x4c6e9309]
mov r8d, eax
mov esi, r9d
and r8d, ecx
xor esi, r10d
mov edi, ebx
xor esi, r8d
xor edi, eax
andn r8d, edx, ebx
and edi, ecx
xor esi, r8d
mov r8d, eax
and esi, r11d
xor edi, r9d
and r8d, edx
xor edi, r8d
xor edi, esi
mov esi, dword [r13 + 0x44]
rorx r8d, edi, 7
rorx r9d, r9d, 0xb
add r8d, ebp
lea ebp, [rsi + r9 + 0x801f2e2]
mov r9d, ecx
mov esi, r11d
and r9d, edx
xor esi, ebx
mov edi, eax
xor esi, r9d
xor edi, ecx
andn r9d, r8d, eax
and edi, edx
xor esi, r9d
mov r9d, ecx
and r9d, r8d
xor edi, r11d
and esi, r10d
xor edi, r9d
xor edi, esi
mov esi, dword [r13 + 0x60]
rorx r9d, edi, 7
rorx r11d, r11d, 0xb
add r9d, ebp
lea ebp, [rsi + r11 - 0x7a7103ea]
mov r11d, edx
mov esi, r10d
and r11d, r8d
xor esi, eax
mov edi, ecx
xor esi, r11d
xor edi, edx
andn r11d, r9d, ecx
and edi, r8d
xor esi, r11d
mov r11d, edx
and r11d, r9d
xor edi, r10d
and esi, ebx
xor edi, r11d
xor edi, esi
mov esi, dword [r13 + 0x74]
rorx r11d, edi, 7
rorx r10d, r10d, 0xb
add r11d, ebp
lea ebp, [rsi + r10 + 0x636920d8]
mov r10d, r8d
mov esi, ebx
and r10d, r9d
xor esi, ecx
mov edi, edx
xor esi, r10d
xor edi, r8d
andn r10d, r11d, edx
and edi, r9d
xor esi, r10d
mov r10d, r8d
and r10d, r11d
xor edi, ebx
and esi, eax
xor edi, r10d
xor edi, esi
mov esi, dword [r13 + 0x18]
rorx r10d, edi, 7
rorx ebx, ebx, 0xb
add r10d, ebp
mov edi, r9d
lea ebp, [rsi + rbx + 0x71574e69]
mov ebx, eax
and edi, r11d
xor ebx, edx
mov esi, r8d
xor ebx, edi
xor esi, r9d
andn edi, r10d, r8d
and esi, r11d
xor ebx, edi
mov edi, r9d
and edi, r10d
xor esi, eax
and ebx, ecx
xor esi, edi
xor esi, ebx
mov ebx, dword [r13 + 0x4c]
rorx edi, esi, 7
rorx eax, eax, 0xb
add edi, ebp
lea ebp, [rbx + rax - 0x5ba7015d]
mov eax, r11d
mov ebx, ecx
and eax, r10d
xor ebx, r8d
mov esi, r9d
xor ebx, eax
xor esi, r11d
andn eax, edi, r9d
and esi, r10d
xor ebx, eax
mov eax, r11d
and ebx, edx
xor esi, ecx
and eax, edi
xor esi, eax
xor esi, ebx
mov ebx, dword [r13 + 0x30]
rorx eax, esi, 7
rorx ecx, ecx, 0xb
add eax, ebp
lea ebp, [rbx + rcx - 0xb6cc282]
mov ecx, r10d
mov ebx, edx
and ecx, edi
xor ebx, r9d
mov esi, r11d
xor ebx, ecx
xor esi, r10d
andn ecx, eax, r11d
and esi, edi
xor ebx, ecx
mov ecx, r10d
and ecx, eax
xor esi, edx
and ebx, r8d
xor esi, ecx
xor esi, ebx
mov ebx, dword [r13 + 0x3c]
rorx ecx, esi, 7
rorx edx, edx, 0xb
add ecx, ebp
lea ebp, [rbx + rdx + 0xd95748f]
mov edx, edi
mov ebx, r8d
and edx, eax
xor ebx, r11d
mov esi, r10d
xor ebx, edx
xor esi, edi
andn edx, ecx, r10d
and esi, eax
xor ebx, edx
mov edx, edi
and edx, ecx
xor esi, r8d
and ebx, r9d
xor esi, edx
xor esi, ebx
mov ebx, dword [r13 + 0x34]
rorx edx, esi, 7
rorx r8d, r8d, 0xb
add edx, ebp
lea ebp, [rbx + r8 + 0x728eb658]
mov r8d, eax
mov ebx, r9d
and r8d, ecx
mov esi, edi
xor ebx, r10d
xor ebx, r8d
xor esi, eax
andn r8d, edx, edi
and esi, ecx
xor ebx, r8d
mov r8d, eax
and r8d, edx
xor esi, r9d
and ebx, r11d
xor esi, r8d
xor esi, ebx
mov ebx, dword [r13 + 8]
rorx r8d, esi, 7
rorx r9d, r9d, 0xb
add r8d, ebp
lea ebp, [rbx + r9 + 0x718bcd58]
mov r9d, ecx
mov ebx, r11d
and r9d, edx
xor ebx, edi
mov esi, eax
xor ebx, r9d
xor esi, ecx
andn r9d, r8d, eax
and esi, edx
xor ebx, r9d
mov r9d, ecx
and r9d, r8d
xor esi, r11d
and ebx, r10d
xor esi, r9d
xor esi, ebx
rorx r9d, esi, 7
mov esi, dword [r13 + 0x64]
mov ebx, edx
rorx r11d, r11d, 0xb
lea r12d, [rsi + r11 - 0x7deab512]
mov esi, r10d
and ebx, r8d
xor esi, eax
add r9d, ebp
xor esi, ebx
mov ebp, ecx
andn r11d, r9d, ecx
xor ebp, edx
xor r11d, esi
and r11d, edi
mov esi, edx
and ebp, r8d
xor ebp, r10d
and esi, r9d
xor ebp, esi
xor ebp, r11d
rorx esi, ebp, 7
mov r11d, r8d
mov ebp, edi
add esi, r12d
and r11d, r9d
xor ebp, ecx
mov r14d, dword [r13 + 0x7c]
mov r12d, edx
xor ebp, r11d
xor r12d, r8d
and r12d, r9d
rorx r10d, r10d, 0xb
lea r14d, [r14 + r10 + 0x7b54a41d]
andn r10d, esi, edx
xor r10d, ebp
mov ebp, r8d
and ebp, esi
xor r12d, edi
and r10d, eax
xor r12d, ebp
xor r12d, r10d
rorx ebp, r12d, 7
mov r10d, r9d
mov r12d, eax
add ebp, r14d
and r10d, esi
xor r12d, edx
mov r14d, dword [r13 + 0x6c]
xor r12d, r10d
rorx edi, edi, 0xb
lea r14d, [r14 + rdi - 0x3da5a64b]
andn edi, ebp, r8d
xor edi, r12d
mov r12d, r8d
and edi, ecx
xor r12d, r9d
mov dword [rsp + 0x2c], edi
and r12d, esi
mov edi, r9d
and edi, ebp
xor r12d, eax
xor r12d, edi
xor r12d, dword [rsp + 0x2c]
rorx edi, r12d, 7
mov r12d, dword [r13 + 0x4c]
add r14d, edi
rorx eax, eax, 0xb
mov edi, r8d
lea eax, [r12 + rax - 0x63cf2ac7]
mov r12d, edx
and edi, ebp
xor ebx, ecx
and r12d, esi
xor ebx, r14d
xor r12d, edi
xor r12d, r14d
and ebx, r9d
xor ebx, r12d
rorx ebx, ebx, 7
add eax, ebx
mov ebx, r9d
and ebx, r14d
xor r11d, edx
mov r12d, dword [r13 + 0x24]
xor r11d, eax
xor edi, ebx
xor edi, eax
and r11d, esi
xor r11d, edi
rorx ecx, ecx, 0xb
lea ecx, [r12 + rcx + 0x2af26013]
rorx r11d, r11d, 7
add ecx, r11d
mov r11d, esi
and r11d, eax
xor r10d, r8d
xor r10d, ecx
xor ebx, r11d
xor ebx, ecx
and r10d, ebp
mov edi, dword [r13 + 0x10]
xor r10d, ebx
mov ebx, dword [r13 + 0x50]
rorx edx, edx, 0xb
lea edi, [rdi + rdx - 0x3a2e4fdd]
rorx r8d, r8d, 0xb
rorx edx, r10d, 7
add edx, edi
lea edi, [rbx + r8 + 0x286085f0]
mov ebx, esi
and ebx, ebp
mov r10d, ebp
and r10d, ecx
xor ebx, r9d
xor ebx, edx
xor r11d, r10d
and ebx, r14d
xor r11d, edx
xor r11d, ebx
mov ebx, dword [r13 + 0x70]
rorx r8d, r11d, 7
rorx r9d, r9d, 0xb
add r8d, edi
lea edi, [rbx + r9 - 0x35be86e8]
mov ebx, ebp
and ebx, r14d
mov r11d, r14d
and r11d, edx
xor ebx, esi
xor ebx, r8d
xor r10d, r11d
and ebx, eax
xor r10d, r8d
xor r10d, ebx
mov ebx, dword [r13 + 0x44]
rorx esi, esi, 0xb
lea esi, [rbx + rsi - 0x4724c711]
mov ebx, r14d
and ebx, eax
rorx r9d, r10d, 7
mov r10d, eax
add r9d, edi
and r10d, r8d
xor ebx, ebp
xor ebx, r9d
xor r11d, r10d
and ebx, ecx
xor r11d, r9d
xor r11d, ebx
mov ebx, dword [r13 + 0x20]
rorx r11d, r11d, 7
rorx ebp, ebp, 0xb
lea r12d, [r11 + rsi]
lea esi, [rbx + rbp - 0x71862350]
mov ebx, eax
and ebx, ecx
mov r11d, ecx
and r11d, r9d
xor ebx, r14d
xor ebx, r12d
xor r10d, r11d
and ebx, edx
xor r10d, r12d
xor r10d, ebx
mov ebx, dword [r13 + 0x58]
rorx r14d, r14d, 0xb
lea edi, [rbx + r14 + 0x603a180e]
mov ebx, ecx
and ebx, edx
xor ebx, eax
rorx ebp, r10d, 7
mov r10d, edx
add ebp, esi
and r10d, r12d
xor ebx, ebp
and ebx, r8d
xor r11d, r10d
xor r11d, ebp
xor r11d, ebx
mov ebx, dword [r13 + 0x74]
rorx esi, r11d, 7
rorx eax, eax, 0xb
lea r11d, [rbx + rax + 0x6c9e0e8b]
mov eax, edx
and eax, r8d
mov r14d, r8d
add esi, edi
and r14d, ebp
xor eax, ecx
xor eax, esi
xor r10d, r14d
and eax, r9d
xor r10d, esi
xor r10d, eax
mov eax, dword [r13 + 0x38]
rorx ebx, r10d, 7
rorx ecx, ecx, 0xb
add ebx, r11d
lea r11d, [rax + rcx - 0x4fe175c2]
mov ecx, r8d
and ecx, r9d
mov r10d, r9d
and r10d, esi
xor ecx, edx
xor ecx, ebx
xor r14d, r10d
and ecx, r12d
xor r14d, ebx
xor r14d, ecx
mov ecx, dword [r13 + 0x64]
rorx eax, r14d, 7
rorx edx, edx, 0xb
add eax, r11d
lea r11d, [rcx + rdx - 0x28ea883f]
mov ecx, r9d
and ecx, r12d
mov edi, r12d
and edi, ebx
xor ecx, r8d
xor ecx, eax
xor r10d, edi
and ecx, ebp
xor r10d, eax
xor r10d, ecx
mov ecx, dword [r13 + 0x30]
rorx edx, r10d, 7
rorx r8d, r8d, 0xb
add edx, r11d
mov r10d, ebp
lea r11d, [rcx + r8 - 0x42ceb4d9]
mov r8d, r12d
and r10d, eax
and r8d, ebp
xor r8d, r9d
xor r8d, edx
xor edi, r10d
and r8d, esi
xor edi, edx
xor edi, r8d
rorx ecx, edi, 7
mov edi, dword [r13 + 0x60]
rorx r9d, r9d, 0xb
lea edi, [rdi + r9 + 0x78af2fda]
mov r9d, ebp
and r9d, esi
mov r8d, esi
add ecx, r11d
and r8d, edx
xor r9d, r12d
xor r9d, ecx
xor r10d, r8d
and r9d, ebx
mov r14d, dword [r13 + 0x78]
xor r10d, ecx
xor r10d, r9d
rorx r11d, r10d, 7
rorx r9d, r12d, 0xb
lea r10d, [r14 + r9 + 0x55605c60]
mov r9d, esi
add r11d, edi
and r9d, ebx
mov edi, ebx
and edi, ecx
xor r9d, ebp
xor r9d, r11d
xor r8d, edi
and r9d, eax
xor r8d, r11d
xor r8d, r9d
mov r12d, edi
rorx edi, r8d, 7
mov r8d, ebx
and r8d, eax
add edi, r10d
xor r8d, esi
mov r14d, eax
and r14d, r11d
xor r8d, edi
and r8d, edx
xor r12d, r14d
xor r12d, edi
mov r9d, dword [r13 + 0x40]
xor r12d, r8d
mov r8d, eax
and r8d, edx
rorx ebp, ebp, 0xb
lea r9d, [r9 + rbp - 0x19aada0d]
mov ebp, edx
and ebp, edi
xor r8d, ebx
rorx r10d, r12d, 7
add r10d, r9d
xor r8d, r10d
mov r9d, dword [r13 + 0x68]
xor r14d, ebp
and r8d, ecx
xor r14d, r10d
xor r14d, r8d
rorx esi, esi, 0xb
lea esi, [r9 + rsi - 0x55aa546c]
rorx r9d, r14d, 7
add r9d, esi
mov esi, dword [r13 + 0x7c]
rorx ebx, ebx, 0xb
lea esi, [rsi + rbx + 0x57489862]
mov ebx, edx
and ebx, ecx
mov r12d, ecx
and r12d, r10d
xor ebx, eax
xor ebx, r9d
xor ebp, r12d
and ebx, r11d
xor ebp, r9d
xor ebp, ebx
mov ebx, dword [r13 + 0x3c]
rorx r8d, ebp, 7
rorx eax, eax, 0xb
add r8d, esi
lea esi, [rbx + rax + 0x63e81440]
mov eax, ecx
and eax, r11d
mov r14d, r11d
and r14d, r9d
xor eax, edx
xor eax, r8d
xor r12d, r14d
and eax, edi
xor r12d, r8d
xor r12d, eax
rorx ebx, r12d, 7
add ebx, esi
mov esi, dword [r13 + 0x1c]
mov eax, edi
rorx edx, edx, 0xb
lea ebp, [rsi + rdx + 0x55ca396a]
mov edx, r11d
and eax, r8d
and edx, edi
xor edx, ecx
xor edx, ebx
xor r14d, eax
and edx, r10d
xor r14d, ebx
xor r14d, edx
rorx esi, r14d, 7
mov r14d, dword [r13 + 0xc]
rorx ecx, ecx, 0xb
lea r12d, [r14 + rcx + 0x2aab10b6]
mov ecx, edi
and ecx, r10d
mov edx, r10d
add esi, ebp
and edx, ebx
xor ecx, r11d
xor ecx, esi
xor eax, edx
and ecx, r9d
xor eax, esi
xor eax, ecx
mov ecx, dword [r13 + 4]
rorx ebp, eax, 7
rorx r11d, r11d, 0xb
add ebp, r12d
lea r12d, [rcx + r11 - 0x4b33a3cc]
mov ecx, r10d
and ecx, r9d
mov eax, r9d
and eax, esi
xor ecx, edi
xor ecx, ebp
xor edx, eax
and ecx, r8d
xor edx, ebp
xor edx, ecx
rorx r11d, edx, 7
mov edx, dword [r13]
rorx edi, edi, 0xb
lea edi, [rdx + rdi + 0x1141e8ce]
mov edx, r9d
add r11d, r12d
and edx, r8d
mov r12d, r8d
and r12d, ebp
xor edx, r10d
xor edx, r11d
xor eax, r12d
and edx, ebx
xor eax, r11d
xor eax, edx
rorx ecx, eax, 7
mov eax, dword [r13 + 0x48]
rorx r10d, r10d, 0xb
lea r10d, [rax + r10 - 0x5eab7951]
mov eax, r8d
add ecx, edi
and eax, ebx
mov edi, ebx
and edi, r11d
xor eax, r9d
xor eax, ecx
xor r12d, edi
and eax, esi
xor r12d, ecx
xor r12d, eax
mov eax, dword [r13 + 0x6c]
rorx edx, r12d, 7
rorx r9d, r9d, 0xb
lea r12d, [rax + r9 + 0x7c72e993]
mov r9d, ebx
add edx, r10d
and r9d, esi
mov r10d, esi
and r10d, ecx
xor r9d, r8d
xor r9d, edx
xor edi, r10d
and r9d, ebp
xor edi, edx
xor edi, r9d
mov r9d, esi
and r9d, ebp
rorx eax, edi, 7
mov edi, ebp
add eax, r12d
and edi, edx
xor r9d, ebx
xor r9d, eax
xor r10d, edi
and r9d, r11d
xor r10d, eax
mov r14d, dword [r13 + 0x34]
xor r10d, r9d
rorx r8d, r8d, 0xb
lea r12d, [r14 + r8 - 0x4c11ebef]
rorx r8d, r10d, 7
mov r10d, ebp
add r8d, r12d
and r10d, r11d
mov r12d, r11d
and r12d, eax
xor r10d, esi
xor r10d, r8d
xor edi, r12d
mov r14d, dword [r13 + 0x18]
and r10d, ecx
xor edi, r8d
xor edi, r10d
rorx ebx, ebx, 0xb
lea ebx, [r14 + rbx + 0x636fbc2a]
rorx r9d, edi, 7
add r9d, ebx
mov ebx, dword [r13 + 0x54]
rorx esi, esi, 0xb
lea esi, [rbx + rsi + 0x2ba9c55d]
mov ebx, r11d
and ebx, ecx
mov edi, ecx
and edi, r8d
xor ebx, ebp
xor ebx, r9d
xor r12d, edi
and ebx, edx
xor r12d, r9d
xor r12d, ebx
mov ebx, dword [r13 + 0x28]
rorx r10d, r12d, 7
rorx ebp, ebp, 0xb
lea r12d, [rbx + rbp + 0x741831f6]
mov ebp, ecx
add r10d, esi
and ebp, edx
mov esi, edx
and esi, r9d
xor ebp, r11d
xor ebp, r10d
xor edi, esi
and ebp, eax
xor edi, r10d
xor edi, ebp
mov ebp, edx
and ebp, eax
rorx ebx, edi, 7
mov edi, eax
add ebx, r12d
and edi, r10d
xor ebp, ecx
xor ebp, ebx
xor esi, edi
and ebp, r8d
mov r14d, dword [r13 + 0x5c]
xor esi, ebx
xor esi, ebp
mov ebp, eax
and ebp, r8d
rorx r11d, r11d, 0xb
lea r12d, [r14 + r11 - 0x31a3c1ea]
mov r14d, dword [r13 + 0x2c]
rorx r11d, esi, 7
mov esi, r8d
add r11d, r12d
and esi, ebx
xor ebp, edx
xor edi, esi
xor ebp, r11d
rorx ecx, ecx, 0xb
lea r12d, [r14 + rcx - 0x64786ce2]
mov r14d, dword [r13 + 0x14]
and ebp, r9d
xor edi, r11d
xor edi, ebp
rorx edx, edx, 0xb
lea ebp, [r14 + rdx - 0x502945cd]
mov edx, r8d
and edx, r9d
rorx ecx, edi, 7
mov edi, r9d
add ecx, r12d
and edi, r11d
xor edx, eax
xor edx, ecx
xor esi, edi
xor esi, ecx
and edx, r10d
xor edx, esi
rorx edx, edx, 7
mov esi, dword [r13 + 8]
add ebp, edx
mov edx, dword [r13 + 0x80]
rorx eax, eax, 0xb
lea r12d, [rdx + rsi + 0x6c24cf5c]
add eax, r12d
mov r12d, r9d
and r12d, r10d
mov edx, r10d
xor r12d, r8d
and edx, ecx
xor r12d, ebp
xor edx, edi
and r12d, ebx
xor edx, ebp
xor r12d, edx
add ebp, dword [r13 + 0x84]
add ecx, dword [r13 + 0x88]
rorx r12d, r12d, 7
add eax, r12d
add r11d, dword [r13 + 0x8c]
add ebx, dword [r13 + 0x90]
add r10d, dword [r13 + 0x94]
add r9d, dword [r13 + 0x98]
add r8d, dword [r13 + 0x9c]
mov dword [r13 + 0x80], eax
mov dword [r13 + 0x84], ebp
mov dword [r13 + 0x88], ecx
mov dword [r13 + 0x8c], r11d
mov dword [r13 + 0x90], ebx
mov dword [r13 + 0x94], r10d
mov dword [r13 + 0x98], r9d
mov dword [r13 + 0x9c], r8d
xor esi, esi
add qword [r13 + 0xa8], r15
cmp qword [rsp + 0x90], 0
je 0x503120
mov r15d, pe_nt_image_headers64
mov ecx, esi
sub r15d, esi
add rcx, r13
cmp r15, qword [rsp + 0x90]
jbe 0x5019d0
mov r15d, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov r8, r15
call sub.msvcrt.dll_memcpy
add esi, dword [rsp + 0x90]
add qword [rsp + 0x88], r15
sub qword [rsp + 0x90], r15
cmp esi, 0x80
jne 0x5030b3
jmp 0x5019f0
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret