Function at 0x4da520
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, 0x98
mov rax, rdx
mov rsi, r8
mov qword [rsp + 0xe0], rcx
and rax, 0xfffffffffffffffc
mov qword [rsp + 0xf0], r8
add rax, rcx
mov rcx, rdx
mov rbx, rax
mov qword [rsp + 0x40], rax
mov eax, dword [r8]
shr rcx, 0x20
mov dword [rsp + 0x30], eax
mov eax, dword [r8 + 4]
mov dword [rsp + 0x10], eax
mov eax, dword [r8 + 8]
mov dword [rsp + 0x14], eax
mov eax, dword [r8 + 0xc]
mov dword [rsp + 0x18], eax
mov eax, dword [r8 + 0x10]
mov dword [rsp + 0x34], eax
mov eax, dword [r8 + 0x14]
add eax, edx
mov r8d, eax
movd xmm0, eax
cmp r8, rdx
adc ecx, dword [rsi + 0x18]
cmp qword [rsp + 0xe0], rbx
movd xmm5, ecx
punpckldq xmm0, xmm5
movq qword [rsi + 0x14], xmm0
jae 0x4db880
lea rax, [rsp + 0x50]
movdqa xmm1, xmmword [0x00566840]
mov qword [rsp + 0x48], rax
nop word cs:[rax + rax]
mov rdx, qword [rsp + 0xe0]
xor eax, eax
mov rcx, qword [rsp + 0x48]
movdqu xmm0, xmmword [rdx + rax]
pshufb xmm0, xmm1
movaps xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x4da5df
mov r14d, dword [rsp + 0x30]
mov esi, dword [rsp + 0x50]
mov eax, dword [rsp + 0x34]
mov edi, dword [rsp + 0x14]
mov edx, r14d
mov ebx, dword [rsp + 0x10]
mov r10d, r14d
rol edx, 5
ror r10d, 2
mov r11d, dword [rsp + 0x58]
lea eax, [rsi + rax + 0x5a827999]
mov ebp, dword [rsp + 0x60]
add eax, edx
mov edx, dword [rsp + 0x18]
mov r8d, edi
mov r9d, ebx
mov r13d, dword [rsp + 0x64]
add qword [rsp + 0xe0], 0x40
ror r9d, 2
mov r15d, r9d
xor r8d, edx
xor r15d, r10d
and r8d, ebx
mov ebx, dword [rsp + 0x54]
xor r8d, edx
add r8d, eax
mov eax, edi
xor eax, r9d
mov ecx, r8d
lea edx, [rbx + rdx + 0x5a827999]
and eax, r14d
rol ecx, 5
mov r14d, dword [rsp + 0x68]
xor eax, edi
add eax, edx
lea edx, [r11 + rdi + 0x5a827999]
add ecx, eax
mov eax, r15d
mov edi, dword [rsp + 0x5c]
and eax, r8d
mov r15d, ecx
ror r8d, 2
xor eax, r9d
rol r15d, 5
add eax, edx
mov edx, r15d
mov r15d, r10d
lea r9d, [rdi + r9 + 0x5a827999]
xor r15d, r8d
add edx, eax
mov eax, r15d
mov r15d, edx
and eax, ecx
rol r15d, 5
xor eax, r10d
ror ecx, 2
lea r10d, [rbp + r10 + 0x5a827999]
add r9d, eax
mov eax, r15d
mov r15d, r8d
add eax, r9d
xor r15d, ecx
mov r9d, r15d
mov r15d, eax
and r9d, edx
xor r9d, r8d
lea r8d, [r13 + r8 + 0x5a827999]
add r10d, r9d
rol r15d, 5
ror edx, 2
mov r9d, r15d
mov r15d, ecx
xor r15d, edx
add r9d, r10d
mov r10d, r15d
mov r15d, edx
and r10d, eax
ror eax, 2
xor r10d, ecx
xor r15d, eax
lea ecx, [r14 + rcx + 0x5a827999]
add r10d, r8d
mov r8d, r9d
rol r8d, 5
add r8d, r10d
mov r10d, r15d
mov r15d, eax
and r10d, r9d
ror r9d, 2
xor r10d, edx
xor r15d, r9d
add r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r10d
mov r10d, r15d
mov r15d, dword [rsp + 0x6c]
and r10d, r8d
ror r8d, 2
xor r10d, eax
lea edx, [r15 + rdx + 0x5a827999]
mov r15d, ecx
rol r15d, 5
add r10d, edx
mov edx, r15d
mov r15d, dword [rsp + 0x70]
add edx, r10d
mov r10d, r9d
xor r10d, r8d
mov r12d, edx
and r10d, ecx
rol r12d, 5
lea eax, [r15 + rax + 0x5a827999]
xor r10d, r9d
ror ecx, 2
add r10d, eax
mov eax, r12d
mov r12d, dword [rsp + 0x74]
add eax, r10d
mov r10d, r8d
xor r10d, ecx
and r10d, edx
ror edx, 2
lea r9d, [r12 + r9 + 0x5a827999]
xor r10d, r8d
mov r12d, dword [rsp + 0x78]
add r10d, r9d
mov r9d, eax
rol r9d, 5
add r9d, r10d
mov r10d, ecx
lea r8d, [r12 + r8 + 0x5a827999]
xor r10d, edx
mov r12d, dword [rsp + 0x7c]
and r10d, eax
ror eax, 2
xor r10d, ecx
add r10d, r8d
mov r8d, r9d
lea ecx, [r12 + rcx + 0x5a827999]
rol r8d, 5
mov r12d, dword [rsp + 0x80]
add r8d, r10d
mov r10d, edx
xor r10d, eax
and r10d, r9d
ror r9d, 2
xor r10d, edx
lea edx, [r12 + rdx + 0x5a827999]
add r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r10d
mov r10d, eax
xor r10d, r9d
mov r12d, ecx
and r10d, r8d
rol r12d, 5
xor r10d, eax
ror r8d, 2
add r10d, edx
mov edx, r12d
mov r12d, dword [rsp + 0x84]
add edx, r10d
mov r10d, r9d
xor r10d, r8d
and r10d, ecx
lea eax, [r12 + rax + 0x5a827999]
xor r10d, r9d
mov r12d, edx
add r10d, eax
rol r12d, 5
xor esi, r11d
mov eax, r12d
mov r12d, dword [rsp + 0x88]
ror ecx, 2
xor esi, r15d
add eax, r10d
mov r10d, r8d
xor esi, dword [rsp + 0x84]
xor ebx, edi
xor r10d, ecx
xor ebx, dword [rsp + 0x74]
and r10d, edx
ror edx, 2
xor ebx, dword [rsp + 0x88]
xor r10d, r8d
lea r9d, [r12 + r9 + 0x5a827999]
mov r12d, dword [rsp + 0x8c]
rol esi, 1
add r10d, r9d
mov r9d, eax
rol r9d, 5
rol ebx, 1
add r9d, r10d
mov r10d, ecx
lea r8d, [r12 + r8 + 0x5a827999]
xor r10d, edx
and r10d, eax
ror eax, 2
xor r10d, ecx
lea ecx, [rsi + rcx + 0x5a827999]
add r10d, r8d
mov r8d, r9d
rol r8d, 5
add r8d, r10d
mov r10d, edx
xor r10d, eax
and r10d, r9d
ror r9d, 2
xor r10d, edx
lea edx, [rbx + rdx + 0x5a827999]
add r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r10d
mov r10d, eax
xor r10d, r9d
mov r12d, ecx
xor r11d, ebp
xor r11d, dword [rsp + 0x78]
and r10d, r8d
xor r11d, dword [rsp + 0x8c]
rol r12d, 5
xor r10d, eax
ror r8d, 2
add r10d, edx
mov edx, r12d
xor ebp, r14d
add edx, r10d
mov r10d, r9d
xor r10d, r8d
rol r11d, 1
mov r12d, edx
lea eax, [r11 + rax + 0x5a827999]
and r10d, ecx
rol r12d, 5
xor r10d, r9d
ror ecx, 2
add r10d, eax
mov eax, r12d
mov r12d, r8d
add eax, r10d
mov r10d, edi
xor r12d, ecx
xor r10d, r13d
xor r10d, dword [rsp + 0x7c]
mov edi, r12d
mov r12d, eax
and edi, edx
rol r12d, 5
xor edi, r8d
ror edx, 2
xor r10d, esi
rol r10d, 1
lea r9d, [r10 + r9 + 0x5a827999]
add r9d, edi
add r12d, r9d
mov r9d, dword [rsp + 0x80]
xor r9d, ebp
mov ebp, ecx
xor r9d, ebx
rol r9d, 1
xor ebp, edx
lea r8d, [r9 + r8 + 0x6ed9eba1]
mov edi, ebp
mov ebp, r12d
xor edi, eax
rol ebp, 5
add r8d, edi
mov edi, ebp
ror eax, 2
add edi, r8d
mov r8d, dword [rsp + 0x6c]
mov ebp, edx
xor ebp, eax
xor ebp, r12d
ror r12d, 2
xor r8d, r13d
xor r8d, dword [rsp + 0x84]
mov r13d, eax
xor r13d, r12d
xor r13d, edi
xor r8d, r11d
rol r8d, 1
lea ecx, [r8 + rcx + 0x6ed9eba1]
add ecx, ebp
mov ebp, edi
ror edi, 2
rol ebp, 5
add ebp, ecx
mov ecx, r14d
xor ecx, r15d
xor ecx, dword [rsp + 0x88]
mov dword [rsp + 0x2c], ebx
xor ecx, r10d
rol ecx, 1
lea edx, [rcx + rdx + 0x6ed9eba1]
add edx, r13d
mov r13d, ebp
rol r13d, 5
mov r14d, r13d
mov r13d, dword [rsp + 0x6c]
add r14d, edx
xor r13d, dword [rsp + 0x74]
mov edx, dword [rsp + 0x8c]
xor edx, r13d
mov r13d, r12d
xor edx, r9d
xor r13d, edi
rol edx, 1
xor r13d, ebp
xor r15d, dword [rsp + 0x78]
ror ebp, 2
lea eax, [rdx + rax + 0x6ed9eba1]
add eax, r13d
mov r13d, r14d
rol r13d, 5
add r13d, eax
mov eax, r15d
mov r15d, edi
xor eax, esi
xor r15d, ebp
xor eax, r8d
xor r15d, r14d
ror r14d, 2
rol eax, 1
lea r12d, [rax + r12 + 0x6ed9eba1]
add r15d, r12d
mov r12d, r13d
rol r12d, 5
add r12d, r15d
mov r15d, dword [rsp + 0x74]
xor r15d, dword [rsp + 0x7c]
xor r15d, ebx
xor r15d, ecx
rol r15d, 1
mov ebx, r15d
mov r15d, ebp
lea edi, [rbx + rdi + 0x6ed9eba1]
xor r15d, r14d
mov dword [rsp], ebx
xor r15d, r13d
ror r13d, 2
add edi, r15d
mov r15d, r12d
rol r15d, 5
add r15d, edi
mov edi, dword [rsp + 0x78]
xor edi, dword [rsp + 0x80]
xor edi, r11d
xor edi, edx
mov ebx, edi
mov edi, r14d
rol ebx, 1
xor edi, r13d
lea ebp, [rbx + rbp + 0x6ed9eba1]
xor edi, r12d
mov dword [rsp + 4], ebx
add ebp, edi
mov edi, r15d
rol edi, 5
ror r12d, 2
add edi, ebp
mov ebp, dword [rsp + 0x7c]
xor ebp, dword [rsp + 0x84]
xor ebp, r10d
xor ebp, eax
rol ebp, 1
mov ebx, ebp
mov ebp, r13d
lea r14d, [rbx + r14 + 0x6ed9eba1]
xor ebp, r12d
mov dword [rsp + 8], ebx
mov ebx, dword [rsp]
xor ebp, r15d
ror r15d, 2
add ebp, r14d
mov r14d, edi
rol r14d, 5
add r14d, ebp
mov ebp, dword [rsp + 0x80]
xor ebp, dword [rsp + 0x88]
xor ebp, r9d
xor ebp, ebx
rol ebp, 1
mov ebx, ebp
mov ebp, r12d
lea r13d, [rbx + r13 + 0x6ed9eba1]
xor ebp, r15d
mov dword [rsp + 0xc], ebx
mov ebx, dword [rsp + 4]
xor ebp, edi
ror edi, 2
add ebp, r13d
mov r13d, r14d
rol r13d, 5
add r13d, ebp
mov ebp, dword [rsp + 0x84]
xor ebp, dword [rsp + 0x8c]
xor ebp, r8d
xor ebp, ebx
rol ebp, 1
mov ebx, ebp
mov ebp, r15d
lea r12d, [rbx + r12 + 0x6ed9eba1]
xor ebp, edi
mov dword [rsp + 0x1c], ebx
mov ebx, dword [rsp + 8]
xor ebp, r14d
add ebp, r12d
mov r12d, r13d
rol r12d, 5
add r12d, ebp
mov ebp, dword [rsp + 0x88]
ror r14d, 2
xor ebp, esi
xor esi, r11d
xor ebp, ecx
xor esi, eax
xor ebp, ebx
rol ebp, 1
mov ebx, ebp
mov ebp, edi
lea r15d, [rbx + r15 + 0x6ed9eba1]
xor ebp, r14d
mov dword [rsp + 0x20], ebx
mov ebx, dword [rsp + 0xc]
xor ebp, r13d
ror r13d, 2
add r15d, ebp
mov ebp, r12d
rol ebp, 5
add ebp, r15d
mov r15d, dword [rsp + 0x2c]
xor r15d, dword [rsp + 0x8c]
xor r15d, edx
xor r15d, ebx
rol r15d, 1
mov ebx, r15d
mov r15d, r14d
lea edi, [rbx + rdi + 0x6ed9eba1]
xor r15d, r13d
mov dword [rsp + 0x24], ebx
xor r15d, r12d
ror r12d, 2
add edi, r15d
mov r15d, ebp
rol r15d, 5
add edi, r15d
mov r15d, dword [rsp + 0x1c]
xor esi, r15d
mov r15d, r13d
rol esi, 1
xor r15d, r12d
mov dword [rsp + 0x28], esi
mov ebx, dword [rsp + 0x2c]
lea esi, [rsi + r14 + 0x6ed9eba1]
xor r15d, ebp
mov r14d, dword [rsp]
add esi, r15d
mov r15d, edi
ror ebp, 2
rol r15d, 5
add esi, r15d
xor ebx, r10d
xor ebx, r14d
mov r14d, dword [rsp + 0x20]
xor r11d, r9d
xor r10d, r8d
xor r9d, ecx
xor ebx, r14d
mov r14d, r12d
mov r15d, ebx
xor r14d, ebp
rol r15d, 1
xor r14d, edi
ror edi, 2
lea ebx, [r15 + r13 + 0x6ed9eba1]
mov r13d, esi
add ebx, r14d
rol r13d, 5
add ebx, r13d
mov r13d, dword [rsp + 4]
xor r11d, r13d
mov r13d, dword [rsp + 0x24]
xor r11d, r13d
rol r11d, 1
mov r14d, r11d
mov r11d, ebp
xor r11d, edi
mov r13d, r11d
lea r11d, [r14 + r12 + 0x6ed9eba1]
xor r13d, esi
mov r12d, ebx
rol r12d, 5
add r11d, r13d
ror esi, 2
add r11d, r12d
mov r12d, dword [rsp + 8]
xor r10d, r12d
mov r12d, dword [rsp + 0x28]
xor r10d, r12d
rol r10d, 1
mov r13d, r10d
mov r10d, edi
xor r10d, esi
mov r12d, r10d
lea r10d, [r13 + rbp + 0x6ed9eba1]
xor r12d, ebx
mov ebp, r11d
rol ebp, 5
add r10d, r12d
ror ebx, 2
add r10d, ebp
mov ebp, dword [rsp + 0xc]
xor r9d, ebp
mov ebp, esi
xor r9d, r15d
rol r9d, 1
xor ebp, ebx
xor r8d, edx
mov r12d, r9d
xor ebp, r11d
ror r11d, 2
lea r9d, [r9 + rdi + 0x6ed9eba1]
xor ecx, eax
add r9d, ebp
mov ebp, r10d
rol ebp, 5
add r9d, ebp
mov ebp, dword [rsp + 0x1c]
xor r8d, ebp
xor r8d, r14d
rol r8d, 1
mov ebp, r8d
mov r8d, ebx
xor r8d, r11d
mov edi, r8d
lea r8d, [rbp + rsi + 0x6ed9eba1]
xor edi, r10d
mov esi, r9d
rol esi, 5
add r8d, edi
ror r10d, 2
add r8d, esi
mov esi, dword [rsp + 0x20]
xor ecx, esi
xor ecx, r13d
rol ecx, 1
mov edi, ecx
mov ecx, r11d
xor ecx, r10d
mov esi, ecx
lea ecx, [rdi + rbx + 0x6ed9eba1]
xor esi, r9d
ror r9d, 2
add ecx, esi
mov esi, r8d
rol esi, 5
add ecx, esi
mov esi, dword [rsp]
xor edx, esi
mov esi, dword [rsp + 0x24]
xor edx, esi
xor edx, r12d
rol edx, 1
mov ebx, edx
mov edx, r10d
lea r11d, [rbx + r11 + 0x6ed9eba1]
xor edx, r9d
xor edx, r8d
ror r8d, 2
add r11d, edx
mov edx, ecx
rol edx, 5
add edx, r11d
mov r11d, dword [rsp + 4]
xor eax, r11d
mov r11d, dword [rsp + 0x28]
xor eax, r11d
mov r11d, ecx
xor eax, ebp
and r11d, r8d
rol eax, 1
lea r10d, [rax + r10 - 0x70e44324]
mov esi, eax
mov eax, edx
rol eax, 5
add r10d, eax
mov eax, ecx
ror ecx, 2
or eax, r8d
and eax, r9d
or eax, r11d
mov r11d, dword [rsp + 8]
add eax, r10d
mov r10d, dword [rsp]
xor r10d, r11d
mov r11d, edx
xor r10d, r15d
or r11d, ecx
xor r10d, edi
and r11d, r8d
rol r10d, 1
mov dword [rsp], r10d
mov r10d, edx
ror edx, 2
and r10d, ecx
or r10d, r11d
mov r11d, dword [rsp]
lea r9d, [r11 + r9 - 0x70e44324]
mov r11d, dword [rsp + 0xc]
add r10d, r9d
mov r9d, eax
rol r9d, 5
add r9d, r10d
mov r10d, dword [rsp + 4]
xor r10d, r11d
mov r11d, eax
xor r10d, r14d
xor r10d, ebx
rol r10d, 1
and r11d, edx
mov dword [rsp + 0x2c], r10d
lea r10d, [r10 + r8 - 0x70e44324]
mov r8d, r9d
rol r8d, 5
add r10d, r8d
mov r8d, eax
ror eax, 2
or r8d, edx
and r8d, ecx
or r8d, r11d
mov r11d, dword [rsp + 0x1c]
add r8d, r10d
mov r10d, dword [rsp + 8]
xor r10d, r11d
mov r11d, r9d
xor r10d, r13d
or r11d, eax
xor r10d, esi
and r11d, edx
rol r10d, 1
mov dword [rsp + 4], r10d
mov r10d, r9d
ror r9d, 2
and r10d, eax
or r10d, r11d
mov r11d, dword [rsp + 4]
lea ecx, [r11 + rcx - 0x70e44324]
mov r11d, dword [rsp + 0x20]
add r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r10d
mov r10d, dword [rsp + 0xc]
xor r10d, r11d
mov r11d, dword [rsp]
xor r10d, r12d
xor r10d, r11d
mov r11d, r8d
rol r10d, 1
and r11d, r9d
mov dword [rsp + 0x38], r10d
lea r10d, [r10 + rdx - 0x70e44324]
mov edx, ecx
rol edx, 5
add r10d, edx
mov edx, r8d
or edx, r9d
and edx, eax
or edx, r11d
mov r11d, dword [rsp + 0x24]
add edx, r10d
mov r10d, dword [rsp + 0x1c]
ror r8d, 2
xor r10d, r11d
mov r11d, dword [rsp + 0x2c]
xor r10d, ebp
xor r10d, r11d
rol r10d, 1
mov dword [rsp + 8], r10d
mov r10d, ecx
or r10d, r8d
mov r11d, r10d
mov r10d, ecx
ror ecx, 2
and r11d, r9d
and r10d, r8d
or r10d, r11d
mov r11d, dword [rsp + 8]
lea eax, [r11 + rax - 0x70e44324]
mov r11d, dword [rsp + 0x28]
add eax, r10d
mov r10d, edx
rol r10d, 5
add r10d, eax
mov eax, dword [rsp + 0x20]
xor eax, r11d
mov r11d, dword [rsp + 4]
xor eax, edi
xor eax, r11d
mov r11d, edx
rol eax, 1
and r11d, ecx
mov dword [rsp + 0x20], eax
lea r9d, [rax + r9 - 0x70e44324]
mov eax, r10d
rol eax, 5
add r9d, eax
mov eax, edx
ror edx, 2
or eax, ecx
and eax, r8d
or eax, r11d
mov r11d, dword [rsp + 0x38]
add eax, r9d
mov r9d, dword [rsp + 0x24]
xor r9d, r15d
xor r9d, ebx
xor r9d, r11d
rol r9d, 1
mov dword [rsp + 0xc], r9d
mov r9d, r10d
or r9d, edx
mov r11d, r9d
mov r9d, r10d
and r11d, ecx
and r9d, edx
or r9d, r11d
mov r11d, dword [rsp + 0xc]
ror r10d, 2
xor r15d, r13d
lea r8d, [r11 + r8 - 0x70e44324]
mov r11d, dword [rsp + 8]
add r9d, r8d
mov r8d, eax
rol r8d, 5
add r8d, r9d
mov r9d, dword [rsp + 0x28]
xor r9d, r14d
xor r14d, r12d
xor r9d, esi
xor r9d, r11d
mov r11d, eax
rol r9d, 1
and r11d, r10d
mov dword [rsp + 0x24], r9d
lea r9d, [r9 + rcx - 0x70e44324]
mov ecx, r8d
rol ecx, 5
add r9d, ecx
mov ecx, eax
ror eax, 2
or ecx, r10d
and ecx, edx
or ecx, r11d
mov r11d, dword [rsp]
add ecx, r9d
mov r9d, dword [rsp + 0x20]
xor r15d, r11d
xor r15d, r9d
mov r9d, r8d
or r9d, eax
rol r15d, 1
lea edx, [r15 + rdx - 0x70e44324]
mov r11d, r9d
mov r9d, r8d
and r11d, r10d
and r9d, eax
ror r8d, 2
or r9d, r11d
mov r11d, ecx
add edx, r9d
mov r9d, ecx
rol r9d, 5
add r9d, edx
mov edx, dword [rsp + 0x2c]
xor r14d, edx
mov edx, dword [rsp + 0xc]
xor r14d, edx
mov edx, r9d
rol r14d, 1
rol edx, 5
and r11d, r8d
lea r10d, [r14 + r10 - 0x70e44324]
xor r13d, ebp
xor r12d, edi
add r10d, edx
mov edx, ecx
ror ecx, 2
or edx, r8d
and edx, eax
or edx, r11d
add edx, r10d
mov r10d, dword [rsp + 4]
xor r13d, r10d
mov r10d, dword [rsp + 0x24]
xor r13d, r10d
mov r10d, r9d
or r10d, ecx
rol r13d, 1
lea eax, [r13 + rax - 0x70e44324]
mov r11d, r10d
mov r10d, r9d
and r11d, r8d
and r10d, ecx
ror r9d, 2
or r10d, r11d
mov r11d, edx
add eax, r10d
mov r10d, edx
and r11d, r9d
rol r10d, 5
add r10d, eax
mov eax, dword [rsp + 0x38]
xor r12d, eax
mov eax, r10d
xor r12d, r15d
rol eax, 5
rol r12d, 1
lea r8d, [r12 + r8 - 0x70e44324]
add r8d, eax
mov eax, edx
or eax, r9d
and eax, ecx
or eax, r11d
add eax, r8d
mov r8d, dword [rsp + 8]
ror edx, 2
xor ebp, ebx
xor edi, esi
xor ebp, r8d
mov r8d, r10d
or r8d, edx
xor ebp, r14d
mov r11d, r8d
mov r8d, r10d
rol ebp, 1
and r11d, r9d
and r8d, edx
ror r10d, 2
lea ecx, [rbp + rcx - 0x70e44324]
or r8d, r11d
mov r11d, eax
add ecx, r8d
mov r8d, eax
and r11d, r10d
rol r8d, 5
add r8d, ecx
mov ecx, dword [rsp + 0x20]
xor edi, ecx
xor edi, r13d
mov ecx, edi
rol ecx, 1
lea r9d, [rcx + r9 - 0x70e44324]
mov edi, ecx
mov ecx, r8d
rol ecx, 5
add r9d, ecx
mov ecx, eax
ror eax, 2
or ecx, r10d
and ecx, edx
or ecx, r11d
mov r11d, dword [rsp]
add ecx, r9d
mov r9d, dword [rsp + 0xc]
xor ebx, r11d
mov r11d, r8d
xor ebx, r9d
or r11d, eax
mov r9d, r8d
xor ebx, r12d
and r11d, r10d
and r9d, eax
rol ebx, 1
or r9d, r11d
ror r8d, 2
lea edx, [rbx + rdx - 0x70e44324]
add edx, r9d
mov r9d, ecx
rol r9d, 5
add r9d, edx
mov edx, dword [rsp + 0x2c]
mov r11d, r9d
xor esi, edx
mov edx, dword [rsp + 0x24]
xor esi, edx
xor esi, ebp
rol esi, 1
mov dword [rsp + 0x28], esi
lea r10d, [rsi + r10 - 0x70e44324]
mov esi, r9d
rol esi, 5
add r10d, esi
mov esi, ecx
or esi, r8d
mov edx, esi
mov esi, ecx
ror ecx, 2
and esi, r8d
and edx, eax
or r11d, ecx
or edx, esi
mov esi, dword [rsp + 4]
and r11d, r8d
add edx, r10d
mov r10d, dword [rsp]
xor r10d, esi
mov esi, edi
xor r10d, r15d
xor r10d, edi
rol r10d, 1
mov edi, r10d
mov r10d, r9d
ror r9d, 2
lea eax, [rdi + rax - 0x70e44324]
and r10d, ecx
mov dword [rsp + 0x1c], edi
mov edi, dword [rsp + 0x38]
or r10d, r11d
add eax, r10d
mov r10d, edx
rol r10d, 5
add r10d, eax
mov eax, dword [rsp + 0x2c]
mov r11d, r10d
xor eax, edi
xor eax, r14d
xor eax, ebx
rol eax, 1
rol r11d, 5
lea r8d, [rax + r8 - 0x70e44324]
mov dword [rsp + 0x2c], eax
add r8d, r11d
mov r11d, edx
or r11d, r9d
mov eax, r11d
mov r11d, edx
ror edx, 2
and r11d, r9d
and eax, ecx
or eax, r11d
add eax, r8d
mov r8d, dword [rsp + 4]
mov dword [rsp + 0x38], esi
mov r11d, dword [rsp + 8]
mov dword [rsp + 0x3c], ebx
xor r8d, r11d
mov r11d, dword [rsp + 0x28]
xor r8d, r13d
xor r8d, r11d
rol r8d, 1
mov dword [rsp], r8d
mov r8d, r10d
or r8d, edx
mov r11d, r8d
mov r8d, r10d
and r11d, r9d
and r8d, edx
or r8d, r11d
mov r11d, dword [rsp]
lea ecx, [r11 + rcx - 0x70e44324]
add r8d, ecx
mov ecx, eax
rol ecx, 5
mov r11d, ecx
mov ecx, edi
mov edi, dword [rsp + 0x20]
add r11d, r8d
mov r8d, r10d
mov r10d, dword [rsp + 0x1c]
ror r8d, 2
xor ecx, edi
xor ecx, r12d
xor ecx, r10d
rol ecx, 1
mov r10d, ecx
mov ecx, edx
lea r9d, [r10 + r9 - 0x359d3e2a]
xor ecx, r8d
mov dword [rsp + 4], r10d
mov r10d, dword [rsp + 0xc]
xor ecx, eax
ror eax, 2
add r9d, ecx
mov ecx, r11d
rol ecx, 5
add ecx, r9d
mov r9d, dword [rsp + 8]
xor r9d, r10d
mov r10d, dword [rsp + 0x2c]
xor r9d, ebp
xor r9d, r10d
rol r9d, 1
mov r10d, r9d
mov r9d, r8d
lea edx, [r10 + rdx - 0x359d3e2a]
xor r9d, eax
mov dword [rsp + 0x20], r10d
xor r9d, r11d
ror r11d, 2
add edx, r9d
mov r9d, ecx
rol r9d, 5
mov r10d, r9d
add r10d, edx
mov edx, edi
mov edi, dword [rsp + 0x24]
xor edx, edi
xor edx, esi
mov esi, dword [rsp]
xor edx, esi
mov r9d, edx
rol r9d, 1
mov edx, r9d
mov r9d, eax
xor r9d, r11d
mov dword [rsp + 8], edx
lea edx, [rdx + r8 - 0x359d3e2a]
xor r9d, ecx
ror ecx, 2
mov r8d, dword [rsp + 4]
add edx, r9d
mov r9d, r10d
rol r9d, 5
add r9d, edx
mov edx, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, r15d
xor ecx, ebx
xor ecx, r8d
rol ecx, 1
mov r8d, ecx
mov ecx, r11d
lea eax, [r8 + rax - 0x359d3e2a]
xor ecx, edx
mov dword [rsp + 0xc], r8d
xor ecx, r10d
ror r10d, 2
add eax, ecx
mov ecx, r9d
rol ecx, 5
mov r8d, ecx
mov ecx, dword [rsp + 0x28]
add r8d, eax
mov eax, edi
xor eax, r14d
xor eax, ecx
mov ecx, dword [rsp + 0x20]
xor eax, ecx
mov ecx, edx
rol eax, 1
xor ecx, r10d
xor r15d, r13d
xor ecx, r9d
ror r9d, 2
mov dword [rsp + 0x24], eax
xor r13d, ebp
lea r11d, [rax + r11 - 0x359d3e2a]
mov dword [rsp + 0x50], eax
add r11d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r11d
mov r11d, dword [rsp + 0x1c]
xor r15d, r11d
mov r11d, dword [rsp + 8]
xor r15d, r11d
mov r11d, r10d
rol r15d, 1
xor r11d, r9d
mov eax, r15d
mov dword [rsp + 0x54], r15d
mov ebx, r11d
lea r11d, [r15 + rdx - 0x359d3e2a]
mov r15d, ecx
xor ebx, r8d
rol r15d, 5
add r11d, ebx
ror r8d, 2
mov edx, r15d
mov r15d, r14d
xor r15d, r12d
add edx, r11d
mov r11d, r15d
mov r15d, dword [rsp + 0x2c]
xor r11d, r15d
mov r15d, dword [rsp + 0xc]
xor r11d, r15d
mov r15d, r9d
xor r15d, r8d
rol r11d, 1
lea r10d, [r11 + r10 - 0x359d3e2a]
mov ebx, r15d
mov r15d, edx
mov dword [rsp + 0x58], r11d
xor ebx, ecx
rol r15d, 5
add r10d, ebx
mov ebx, dword [rsp + 0x24]
mov edi, r15d
ror ecx, 2
add edi, r10d
mov r10d, r13d
mov r13d, r8d
xor r10d, esi
xor r13d, ecx
xor r10d, ebx
mov ebx, r13d
mov r13d, edi
rol r10d, 1
xor ebx, edx
rol r13d, 5
mov dword [rsp + 0x5c], r10d
mov r14d, dword [rsp + 0x38]
mov esi, r13d
ror edx, 2
mov r15d, dword [rsp + 4]
lea r9d, [r10 + r9 - 0x359d3e2a]
mov dword [rsp + 0x38], eax
add r9d, ebx
add esi, r9d
mov r9d, r14d
mov r13d, esi
xor r9d, r12d
mov r12d, ecx
rol r13d, 5
xor r12d, edx
xor r9d, r15d
xor r9d, eax
mov ebx, r12d
mov r12d, dword [rsp + 0x3c]
rol r9d, 1
xor ebx, edi
mov eax, dword [rsp + 0x20]
ror edi, 2
lea r8d, [r9 + r8 - 0x359d3e2a]
mov dword [rsp + 0x60], r9d
add r8d, ebx
mov ebx, r13d
mov r13d, dword [rsp + 8]
add ebx, r8d
mov r8d, r12d
xor r8d, ebp
mov ebp, edx
xor r8d, eax
xor ebp, edi
mov eax, dword [rsp + 0x28]
xor r8d, r11d
xor ebp, esi
ror esi, 2
rol r8d, 1
lea ecx, [r8 + rcx - 0x359d3e2a]
mov dword [rsp + 0x64], r8d
add ecx, ebp
mov ebp, ebx
rol ebp, 5
mov r15d, ebp
mov ebp, edi
add r15d, ecx
mov ecx, r14d
xor ebp, esi
xor ecx, eax
xor ebp, ebx
mov r14d, r15d
xor ecx, r13d
mov r13d, dword [rsp + 0x1c]
xor ecx, r10d
rol ecx, 1
lea edx, [rcx + rdx - 0x359d3e2a]
mov dword [rsp + 0x68], ecx
add edx, ebp
rol r14d, 5
mov ebp, esi
add r14d, edx
mov edx, r12d
mov r12d, dword [rsp + 0xc]
ror ebx, 2
xor edx, r13d
xor ebp, ebx
xor ebp, r15d
ror r15d, 2
xor edx, r12d
mov r12d, r14d
xor edx, r9d
rol r12d, 5
rol edx, 1
mov r13d, r12d
lea edi, [rdx + rdi - 0x359d3e2a]
mov dword [rsp + 0x6c], edx
add edi, ebp
mov ebp, eax
mov eax, dword [rsp + 0x2c]
add r13d, edi
xor ebp, eax
mov edi, ebp
mov ebp, dword [rsp + 0x24]
xor edi, ebp
mov ebp, ebx
xor edi, r8d
xor ebp, r15d
rol edi, 1
xor ebp, r14d
ror r14d, 2
lea esi, [rdi + rsi - 0x359d3e2a]
mov dword [rsp + 0x70], edi
add esi, ebp
mov ebp, r13d
rol ebp, 5
mov r12d, ebp
mov ebp, dword [rsp]
add r12d, esi
mov esi, dword [rsp + 0x1c]
xor esi, ebp
mov ebp, dword [rsp + 0x38]
xor esi, ebp
mov ebp, r15d
xor esi, ecx
xor ebp, r14d
rol esi, 1
xor ebp, r13d
lea ebx, [rsi + rbx - 0x359d3e2a]
mov dword [rsp + 0x74], esi
add ebx, ebp
mov ebp, r12d
rol ebp, 5
add ebp, ebx
mov ebx, eax
mov eax, dword [rsp + 4]
ror r13d, 2
xor ebx, eax
mov eax, dword [rsp + 0x20]
xor ebx, r11d
mov r11d, r14d
xor ebx, edx
xor r11d, r13d
rol ebx, 1
xor r11d, r12d
ror r12d, 2
lea r15d, [rbx + r15 - 0x359d3e2a]
mov dword [rsp + 0x78], ebx
add r11d, r15d
mov r15d, ebp
rol r15d, 5
add r15d, r11d
mov r11d, dword [rsp]
xor r11d, eax
xor r11d, r10d
mov r10d, r13d
xor r11d, edi
xor r10d, r12d
rol r11d, 1
mov edi, r10d
lea r10d, [r11 + r14 - 0x359d3e2a]
xor edi, ebp
ror ebp, 2
mov r14d, dword [rsp + 4]
add r10d, edi
mov edi, r15d
mov dword [rsp + 0x7c], r11d
rol edi, 5
add r10d, edi
mov edi, dword [rsp + 8]
xor r14d, edi
mov edi, r14d
mov r14d, dword [rsp + 0xc]
xor edi, r9d
xor edi, esi
mov esi, r12d
rol edi, 1
xor esi, ebp
xor esi, r15d
xor eax, r14d
ror r15d, 2
mov dword [rsp + 0x80], edi
lea r9d, [rdi + r13 - 0x359d3e2a]
mov r13d, dword [rsp + 8]
add r9d, esi
mov esi, r10d
rol esi, 5
add r9d, esi
mov esi, eax
mov eax, dword [rsp + 0x24]
xor esi, r8d
mov r8d, ebp
xor esi, ebx
xor r8d, r15d
rol esi, 1
xor r8d, r10d
ror r10d, 2
lea ebx, [rsi + r12 - 0x359d3e2a]
mov dword [rsp + 0x84], esi
mov esi, r9d
xor eax, r13d
add r8d, ebx
rol esi, 5
xor eax, ecx
add r8d, esi
mov esi, r15d
xor eax, r11d
xor esi, r10d
rol eax, 1
mov ecx, esi
mov dword [rsp + 0x88], eax
mov esi, r8d
mov rbx, qword [rsp + 0xf0]
lea eax, [rax + rbp - 0x359d3e2a]
xor ecx, r9d
ror r9d, 2
add dword [rsp + 0x18], r9d
add eax, ecx
rol esi, 5
mov ecx, dword [rsp + 0x38]
add eax, esi
add dword [rsp + 0x10], eax
xor ecx, r14d
mov r14d, dword [rsp + 0x30]
xor ecx, edx
xor ecx, edi
rol ecx, 1
lea edx, [rcx + r14 - 0x359d3e2a]
mov dword [rsp + 0x8c], ecx
mov ecx, r10d
xor ecx, r9d
add edx, r15d
xor ecx, r8d
ror r8d, 2
add dword [rsp + 0x14], r8d
add edx, ecx
mov ecx, eax
mov eax, dword [rsp + 0x10]
rol ecx, 5
add dword [rsp + 0x34], r10d
lea esi, [rdx + rcx]
mov edi, dword [rsp + 0x14]
movd xmm0, esi
mov dword [rsp + 0x30], esi
mov edx, dword [rsp + 0x18]
movd xmm4, eax
mov eax, dword [rsp + 0x34]
punpckldq xmm0, xmm4
movd xmm2, edi
movd xmm3, edx
mov dword [rbx + 0x10], eax
mov rax, qword [rsp + 0x40]
punpckldq xmm2, xmm3
punpcklqdq xmm0, xmm2
cmp qword [rsp + 0xe0], rax
movups xmmword [rbx], xmm0
jb 0x4da5d0
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret