Function at 0x140235c00
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 eax, edx
mov dword [rsp + 0x88], edx
mov r9, rcx
add eax, 0x11f
add edx, 0x100
cmovns eax, edx
sar eax, 5
test rcx, rcx
je 0x140236720
test r8, r8
je 0x140236720
mov edx, dword [rsp + 0x88]
and edx, 0xffffffbf
cmp edx, 0x80
je 0x140235c62
cmp dword [rsp + 0x88], 0x100
jne 0x14023670f
mov dword [r8 + 0x110], eax
mov eax, dword [rsp + 0x88]
lea r15, [0x14043e660]
lea r11, [0x14043e260]
mov edi, dword [r9 + 4]
mov esi, dword [r9 + 0xc]
lea r10d, [rax - 0x80]
lea rax, [0x14043ee60]
mov edx, dword [r9 + 8]
sar r10d, 6
mov dword [rsp + 0x24], edi
bswap edi
movsxd r10, r10d
mov dword [rsp + 8], edi
shl r10, 4
mov dword [rsp + 0x1c], esi
bswap esi
add r10, rax
mov eax, dword [r9]
mov dword [rsp + 4], esi
xor esi, dword [r10 + 0xc]
mov dword [rsp + 0x20], edx
bswap edx
mov dword [rsp + 0x28], eax
bswap eax
mov ebp, esi
lea rsi, [0x14043de60]
mov dword [rsp + 0xc], eax
xor eax, dword [r10]
mov ecx, eax
mov eax, dword [r10 + 4]
mov dword [rsp + 0x10], edx
movzx r14d, cl
mov ebx, ecx
xor edx, dword [r10 + 8]
xor eax, edi
movzx edi, ch
shr ecx, 0x10
movsxd r13, edi
shr ebx, 0x18
lea rdi, [0x14043ea60]
movzx ecx, cl
mov r12d, dword [rdi + rbx*4]
xor r12d, dword [rsi + r14*4]
movzx ebx, ah
movzx r14d, al
xor r12d, dword [r15 + rcx*4]
mov ecx, dword [r11 + r13*4]
movsxd r13, ebx
xor ecx, r12d
mov r12d, eax
shr eax, 0x10
shr r12d, 0x18
movzx eax, al
mov r12d, dword [rdi + r12*4]
xor r12d, dword [rsi + r14*4]
movzx r14d, dl
xor r12d, dword [r15 + rax*4]
movzx eax, dh
xor r12d, dword [r11 + r13*4]
movsxd r13, eax
mov eax, edx
shr edx, 0x10
shr eax, 0x18
movzx edx, dl
mov eax, dword [rdi + rax*4]
xor eax, dword [rsi + r14*4]
movzx r14d, bpl
xor eax, dword [r15 + rdx*4]
mov edx, ebp
xor eax, dword [r11 + r13*4]
movzx edx, dh
xor r12d, eax
movsxd r13, edx
mov edx, ebp
shr ebp, 0x10
xor ecx, r12d
shr edx, 0x18
movzx ebp, bpl
mov edx, dword [rdi + rdx*4]
xor edx, dword [rsi + r14*4]
xor edx, dword [r15 + rbp*4]
xor edx, dword [r11 + r13*4]
mov r13d, r12d
xor eax, edx
xor eax, ecx
xor r13d, eax
mov ebp, r13d
shl ebp, 8
shr r13d, 8
xor edx, r12d
and ebp, 0xff00ff00
and r13d, 0xff00ff
rol eax, 0x10
bswap edx
or ebp, r13d
xor ebp, eax
xor eax, edx
xor ecx, ebp
mov ebx, ebp
xor edx, ebp
xor eax, ecx
mov dword [rsp + 0x18], edx
mov r15d, edx
xor ebx, eax
mov dword [rsp], eax
cmp dword [rsp + 0x88], 0x80
mov dword [rsp + 0x14], ebx
je 0x140235e21
mov ebp, dword [r9 + 0x10]
mov edx, dword [r9 + 0x14]
bswap ebp
bswap edx
xor ecx, ebp
xor ebx, edx
cmp dword [rsp + 0x88], 0xc0
mov dword [rsp + 0x14], ebx
jle 0x140235e21
mov edx, dword [r9 + 0x18]
mov r9d, dword [r9 + 0x1c]
bswap edx
bswap r9d
xor eax, edx
xor r15d, r9d
mov dword [rsp], eax
mov dword [rsp + 0x18], r15d
mov ebp, dword [r10 + 0x10]
mov edx, dword [rsp + 0x14]
lea rax, [0x14043e660]
xor edx, dword [r10 + 0x14]
mov r12d, dword [rsp]
xor ebp, ecx
xor r12d, dword [r10 + 0x18]
mov r13d, dword [rsp + 0x18]
mov ebx, ebp
movzx r15d, bpl
mov r9d, ebp
shr ebp, 0x10
movzx ebx, bh
shr r9d, 0x18
movzx ebp, bpl
xor r13d, dword [r10 + 0x1c]
movsxd r14, ebx
movzx ebx, dh
mov r9d, dword [r11 + r9*4]
xor r9d, dword [rax + r15*4]
xor r9d, dword [rsi + rbp*4]
xor r9d, dword [rdi + r14*4]
movsxd r14, ebx
mov ebx, edx
shr ebx, 0x18
movzx r15d, dl
shr edx, 0x10
movsxd rbp, ebx
mov ebx, r12d
movzx edx, dl
movzx ebx, bh
mov ebp, dword [r11 + rbp*4]
xor ebp, dword [rax + r15*4]
movzx r15d, r12b
xor ebp, dword [rsi + rdx*4]
mov edx, dword [rdi + r14*4]
movsxd r14, ebx
mov ebx, r12d
shr ebx, 0x18
shr r12d, 0x10
xor edx, ebp
movzx r12d, r12b
movsxd rbp, ebx
mov ebx, r13d
mov ebp, dword [r11 + rbp*4]
movzx ebx, bh
xor ebp, dword [rax + r15*4]
movzx r15d, r13b
xor ebp, dword [rsi + r12*4]
mov r12d, r13d
shr r13d, 0x10
xor ebp, dword [rdi + r14*4]
shr r12d, 0x18
movsxd r14, ebx
movzx r13d, r13b
xor edx, ebp
mov r12d, dword [r11 + r12*4]
xor r12d, dword [rax + r15*4]
xor r9d, edx
xor r12d, dword [rsi + r13*4]
xor r12d, dword [rdi + r14*4]
xor ebp, r12d
xor r12d, edx
mov r15d, dword [rsp + 8]
mov ebx, r12d
xor ebp, r9d
shl ebx, 8
xor edx, ebp
mov r13d, ebx
mov ebx, edx
and r13d, 0xff00ff00
shr r12d, 8
bswap ebx
and r12d, 0xff00ff
rol r9d, 0x10
or r12d, r13d
mov r13d, ebx
mov ebx, edx
shl edx, 8
shr ebx, 8
and r13d, 0xff0000ff
and edx, 0xff0000
xor r13d, ebp
mov r14d, ebx
mov ebx, dword [rsp + 4]
xor ebp, r12d
and r14d, 0xff00
xor edx, r13d
xor edx, r14d
xor ebx, r12d
mov r12d, dword [rsp + 0xc]
xor r9d, edx
xor r15d, edx
mov r14d, ebx
xor ebp, r9d
xor r9d, r12d
mov r12d, dword [rsp + 0x10]
xor edx, r14d
mov ebx, r15d
mov r14d, dword [r10 + 0x28]
mov r15d, edx
mov edx, dword [r10 + 0x24]
xor r12d, ebp
xor ebx, ebp
mov ebp, dword [r10 + 0x20]
xor r14d, r12d
xor edx, ebx
mov dword [rsp + 0x2c], ebx
xor ebp, r9d
mov r13d, r14d
mov r14d, dword [r10 + 0x2c]
mov ebx, ebp
mov r10d, ebp
xor r14d, r15d
movzx ebx, bh
shr r10d, 0x18
mov eax, r14d
movsxd r14, ebx
movzx ebx, bpl
shr ebp, 0x10
mov r10d, dword [rdi + r10*4]
movzx ebp, bpl
xor r10d, dword [rsi + rbx*4]
lea rbx, [0x14043e660]
xor r10d, dword [rbx + rbp*4]
movzx ebp, dh
xor r10d, dword [r11 + r14*4]
movzx ebx, dl
movsxd r14, ebp
mov ebp, edx
shr ebp, 0x18
mov ebp, dword [rdi + rbp*4]
xor ebp, dword [rsi + rbx*4]
shr edx, 0x10
lea rbx, [0x14043e660]
movzx edx, dl
xor ebp, dword [rbx + rdx*4]
mov edx, r13d
xor ebp, dword [r11 + r14*4]
movzx ebx, r13b
movzx edx, dh
movsxd r14, edx
mov edx, r13d
shr r13d, 0x10
shr edx, 0x18
movzx r13d, r13b
mov edx, dword [rdi + rdx*4]
xor edx, dword [rsi + rbx*4]
lea rbx, [0x14043e660]
xor edx, dword [rbx + r13*4]
movzx ebx, ah
xor edx, dword [r11 + r14*4]
mov r14d, eax
movsxd r13, ebx
mov ebx, eax
shr r14d, 0x18
movzx eax, al
shr ebx, 0x10
mov edi, dword [rdi + r14*4]
xor edi, dword [rsi + rax*4]
xor ebp, edx
movzx esi, bl
lea rax, [0x14043e660]
xor r10d, ebp
mov r14d, dword [rsp + 0x14]
xor edi, dword [rax + rsi*4]
xor edi, dword [r11 + r13*4]
mov r11d, ebp
xor edx, edi
xor edi, ebp
mov r13d, dword [rsp]
mov ebp, dword [rsp + 0x18]
xor edx, r10d
bswap edi
mov eax, dword [rsp + 0xc]
xor r11d, edx
rol edx, 0x10
mov esi, ebp
mov ebx, r11d
shr r11d, 8
shl ebx, 8
and r11d, 0xff00ff
and ebx, 0xff00ff00
or ebx, r11d
mov r11d, r14d
xor ebx, edx
xor edx, edi
xor r10d, ebx
xor r11d, ebx
xor edx, r10d
xor r10d, ecx
xor r11d, edx
xor edx, r13d
xor edi, ebp
shl esi, 0xd
xor edi, ebx
mov ebx, ecx
shr ebx, 0x13
xor ebx, esi
mov esi, ecx
xor ebx, eax
shl esi, 0xd
mov dword [r8], ebx
mov ebx, r14d
shr ebx, 0x13
xor ebx, esi
mov esi, dword [rsp + 8]
xor ebx, esi
mov esi, r14d
mov dword [r8 + 4], ebx
mov ebx, r13d
shl esi, 0xd
mov r13d, dword [rsp + 0x10]
shr ebx, 0x13
xor ebx, esi
mov esi, dword [rsp + 4]
xor ebx, r13d
mov r13d, dword [rsp]
mov dword [r8 + 8], ebx
mov ebx, ebp
shl r13d, 0xd
shr ebx, 0x13
xor ebx, r13d
mov r13d, r9d
xor ebx, esi
shr r13d, 0x13
mov dword [r8 + 0xc], ebx
mov ebx, r15d
shl ebx, 0xd
xor ebx, ecx
xor ebx, r13d
mov r13d, dword [rsp + 0x2c]
mov dword [r8 + 0x10], ebx
mov ebx, r9d
shl ebx, 0xd
mov esi, r13d
shr esi, 0x13
xor ebx, r14d
xor ebx, esi
mov esi, r13d
mov dword [r8 + 0x14], ebx
mov ebx, r12d
shl esi, 0xd
shr ebx, 0x13
xor ebx, esi
mov esi, dword [rsp]
xor ebx, esi
mov esi, r12d
mov dword [r8 + 0x18], ebx
mov ebx, r15d
shr ebx, 0x13
xor ebx, ebp
shl esi, 0xd
xor ebx, esi
mov esi, r10d
mov dword [r8 + 0x1c], ebx
mov ebx, edi
shr esi, 0x13
shl ebx, 0xd
xor ebx, r9d
xor ebx, esi
mov esi, r11d
mov dword [r8 + 0x20], ebx
mov ebx, r10d
shr esi, 0x13
shl ebx, 0xd
xor ebx, r13d
xor ebx, esi
mov esi, r11d
mov dword [r8 + 0x24], ebx
mov ebx, edx
shl esi, 0xd
shr ebx, 0x13
xor ebx, esi
mov esi, edx
xor ebx, r12d
shl esi, 0xd
mov dword [r8 + 0x28], ebx
mov ebx, edi
shr ebx, 0x13
xor ebx, r15d
xor ebx, esi
mov esi, dword [rsp + 4]
mov dword [r8 + 0x2c], ebx
mov ebx, eax
shl esi, 0xd
shr ebx, 0x13
xor ebx, esi
mov esi, eax
mov eax, dword [rsp + 0x10]
xor ebx, r10d
shl esi, 0xd
mov dword [r8 + 0x30], ebx
mov ebx, dword [rsp + 8]
shr ebx, 0x13
xor ebx, esi
mov esi, dword [rsp + 8]
xor ebx, r11d
mov dword [r8 + 0x34], ebx
mov ebx, eax
shl esi, 0xd
shr ebx, 0x13
xor ebx, esi
mov esi, eax
xor ebx, edx
mov dword [r8 + 0x38], ebx
mov ebx, dword [rsp + 4]
shr ebx, 0x13
shl esi, 0xd
xor ebx, esi
lea esi, [rbp + rbp]
xor ebx, edi
mov dword [r8 + 0x3c], ebx
mov ebx, ecx
shr ebx, 0x1f
xor ebx, esi
mov esi, dword [rsp + 0xc]
xor ebx, esi
lea esi, [rcx + rcx]
mov dword [r8 + 0x40], ebx
mov ebx, r14d
shr ebx, 0x1f
xor ebx, esi
mov esi, dword [rsp + 8]
xor ebx, esi
lea esi, [r14 + r14]
mov dword [r8 + 0x44], ebx
mov ebx, dword [rsp]
shr ebx, 0x1f
xor ebx, esi
mov esi, dword [rsp]
xor ebx, eax
mov eax, dword [rsp + 4]
mov dword [r8 + 0x48], ebx
mov ebx, ebp
add esi, esi
shr ebx, 0x1f
xor ebx, esi
mov esi, r9d
xor ebx, eax
shr esi, 0x1f
mov dword [r8 + 0x4c], ebx
lea ebx, [r15 + r15]
xor ebx, ecx
xor ebx, esi
mov esi, r13d
mov dword [r8 + 0x50], ebx
lea ebx, [r9 + r9]
shr esi, 0x1f
xor ebx, r14d
xor ebx, esi
lea esi, [r13 + r13]
mov dword [r8 + 0x54], ebx
mov ebx, r12d
shr ebx, 0x1f
xor ebx, esi
mov esi, dword [rsp]
xor ebx, esi
lea esi, [r12 + r12]
mov dword [r8 + 0x58], ebx
mov ebx, r15d
shr ebx, 0x1f
xor ebx, ebp
xor ebx, esi
mov esi, r10d
mov dword [r8 + 0x5c], ebx
lea ebx, [rdi + rdi]
shr esi, 0x1f
xor ebx, r9d
xor ebx, esi
mov esi, r11d
mov dword [r8 + 0x60], ebx
lea ebx, [r10 + r10]
xor ebx, r13d
shr esi, 0x1f
xor ebx, esi
lea esi, [r11 + r11]
mov dword [r8 + 0x64], ebx
mov ebx, edx
shr ebx, 0x1f
xor ebx, esi
lea esi, [rdx + rdx]
xor ebx, r12d
mov dword [r8 + 0x68], ebx
mov ebx, edi
shr ebx, 0x1f
xor ebx, r15d
xor ebx, esi
mov esi, eax
mov dword [r8 + 0x6c], ebx
movzx ebx, byte [rsp + 0x28]
add esi, esi
mov eax, dword [rsp + 0x10]
shr bl, 7
movzx ebx, bl
xor ebx, esi
mov esi, dword [rsp + 0xc]
xor ebx, r10d
mov dword [r8 + 0x70], ebx
movzx ebx, byte [rsp + 0x24]
add esi, esi
shr bl, 7
movzx ebx, bl
xor ebx, esi
mov esi, dword [rsp + 8]
xor ebx, r11d
mov dword [r8 + 0x74], ebx
movzx ebx, byte [rsp + 0x20]
add esi, esi
shr bl, 7
movzx ebx, bl
xor ebx, esi
mov esi, eax
xor ebx, edx
add esi, esi
mov dword [r8 + 0x78], ebx
movzx ebx, byte [rsp + 0x1c]
shr bl, 7
movzx ebx, bl
xor ebx, esi
mov esi, r14d
xor ebx, edi
shl esi, 0x1d
mov dword [r8 + 0x7c], ebx
mov ebx, dword [rsp]
shr ebx, 3
xor ebx, esi
mov esi, dword [rsp + 0xc]
xor ebx, esi
mov esi, dword [rsp]
mov dword [r8 + 0x80], ebx
mov ebx, ebp
shl esi, 0x1d
shr ebx, 3
xor ebx, esi
mov esi, dword [rsp + 8]
xor ebx, esi
mov esi, ebp
mov dword [r8 + 0x84], ebx
mov ebx, ecx
shr ebx, 3
shl esi, 0x1d
xor ebx, esi
mov esi, ecx
xor ebx, eax
shl esi, 0x1d
mov dword [r8 + 0x88], ebx
mov ebx, r14d
shr ebx, 3
xor ebx, esi
mov esi, dword [rsp + 4]
xor ebx, esi
mov esi, r13d
mov dword [r8 + 0x8c], ebx
mov ebx, r12d
shl esi, 0x1d
shr ebx, 3
xor ebx, esi
mov esi, r12d
xor ebx, ecx
shl esi, 0x1d
mov dword [r8 + 0x90], ebx
mov ebx, r15d
shr ebx, 3
xor ebx, r14d
xor ebx, esi
mov esi, dword [rsp]
mov dword [r8 + 0x94], ebx
mov ebx, r15d
shl ebx, 0x1d
xor ebx, esi
mov esi, r9d
shr esi, 3
xor ebx, esi
mov esi, r13d
mov dword [r8 + 0x98], ebx
mov ebx, r9d
shr esi, 3
shl ebx, 0x1d
xor ebx, ebp
xor ebx, esi
mov esi, r11d
mov dword [r8 + 0x9c], ebx
mov ebx, edx
shl esi, 0x1d
shr ebx, 3
xor ebx, esi
mov esi, edx
xor ebx, r9d
shl esi, 0x1d
mov dword [r8 + 0xa0], ebx
mov ebx, edi
shr ebx, 3
xor ebx, r13d
xor ebx, esi
mov esi, r10d
mov dword [r8 + 0xa4], ebx
mov ebx, edi
shl ebx, 0x1d
shr esi, 3
xor ebx, r12d
xor ebx, esi
mov esi, r11d
mov dword [r8 + 0xa8], ebx
mov ebx, r10d
shr esi, 3
shl ebx, 0x1d
xor ebx, r15d
xor ebx, esi
mov esi, dword [rsp + 8]
mov dword [r8 + 0xac], ebx
mov ebx, eax
shl esi, 0x1d
shr ebx, 3
xor ebx, esi
mov esi, eax
xor ebx, r10d
shl esi, 0x1d
mov dword [r8 + 0xb0], ebx
mov ebx, dword [rsp + 4]
shr ebx, 3
xor ebx, esi
xor ebx, r11d
mov dword [r8 + 0xb4], ebx
mov eax, dword [rsp + 0xc]
mov esi, dword [rsp + 4]
mov ebx, eax
shl esi, 0x1d
shr ebx, 3
xor ebx, esi
mov esi, eax
xor ebx, edx
shl esi, 0x1d
mov dword [r8 + 0xb8], ebx
mov ebx, dword [rsp + 8]
shr ebx, 3
xor ebx, esi
mov esi, ecx
xor ebx, edi
shl esi, 0x1f
mov dword [r8 + 0xbc], ebx
mov ebx, r14d
shr ebx, 1
xor ebx, esi
mov esi, r14d
xor ebx, eax
mov eax, dword [rsp]
shl esi, 0x1f
mov dword [r8 + 0xc0], ebx
mov ebx, eax
shr ebx, 1
xor ebx, esi
mov esi, dword [rsp + 8]
xor ebx, esi
mov esi, eax
mov dword [r8 + 0xc4], ebx
mov ebx, ebp
shr ebx, 1
shl esi, 0x1f
xor ebx, esi
mov esi, dword [rsp + 0x10]
xor ebx, esi
mov esi, ebp
mov dword [r8 + 0xc8], ebx
mov ebx, ecx
shl esi, 0x1f
shr ebx, 1
xor ebx, esi
mov esi, dword [rsp + 4]
xor ebx, esi
cmp dword [rsp + 0x88], 0x80
mov dword [r8 + 0xcc], ebx
je 0x1402366fc
mov eax, r9d
mov esi, r13d
shl eax, 0x1f
shr esi, 1
mov ebx, eax
mov eax, r12d
xor ebx, ecx
shr eax, 1
xor ebx, esi
mov esi, r13d
shl esi, 0x1f
mov dword [r8 + 0xd0], ebx
mov ebx, eax
mov eax, r15d
xor ebx, esi
shr eax, 1
xor ebx, r14d
mov dword [r8 + 0xd4], ebx
mov ebx, eax
mov eax, dword [rsp]
xor ebx, eax
mov eax, r12d
shl eax, 0x1f
xor ebx, eax
mov eax, r15d
shl eax, 0x1f
mov dword [r8 + 0xd8], ebx
mov ebx, eax
mov eax, r9d
shr eax, 1
xor ebx, ebp
xor ebx, eax
mov eax, r10d
shl eax, 0x1f
mov dword [r8 + 0xdc], ebx
xor r9d, eax
mov eax, r11d
shr eax, 1
xor r9d, eax
mov eax, r11d
mov dword [r8 + 0xe0], r9d
mov r9d, edx
shl eax, 0x1f
shr r9d, 1
xor r9d, eax
mov eax, edx
xor r9d, r13d
shl eax, 0x1f
mov dword [r8 + 0xe4], r9d
mov r9d, edi
shr r9d, 1
xor r9d, r12d
xor r9d, eax
mov eax, r10d
mov dword [r8 + 0xe8], r9d
mov r9d, edi
shr eax, 1
shl r9d, 0x1f
xor r9d, r15d
xor r9d, eax
cmp dword [rsp + 0x88], 0xc0
mov dword [r8 + 0xec], r9d
jle 0x1402366fc
movd xmm4, dword [rsp + 4]
movd xmm5, dword [rsp + 8]
movd xmm3, edx
movd xmm0, dword [rsp + 0x10]
movd xmm1, dword [rsp + 0xc]
punpckldq xmm0, xmm4
punpckldq xmm1, xmm5
movd xmm4, edi
punpcklqdq xmm1, xmm0
movd xmm5, r11d
punpckldq xmm3, xmm4
movdqa xmm0, xmm1
movdqa xmm2, xmm1
movd xmm4, ecx
psrld xmm0, 1
pslld xmm2, 0x1f
pshufd xmm0, xmm0, 0x39
pxor xmm2, xmm0
movd xmm0, r10d
punpckldq xmm0, xmm5
movd xmm5, dword [rsp]
punpcklqdq xmm0, xmm3
pxor xmm0, xmm2
movd xmm2, ebp
movdqa xmm3, xmm5
movups xmmword [r8 + 0xf0], xmm0
movd xmm0, r14d
punpckldq xmm2, xmm4
movd xmm4, ebp
punpckldq xmm0, xmm5
movd xmm5, r14d
punpckldq xmm3, xmm4
punpcklqdq xmm0, xmm2
movdqa xmm2, xmm0
movd xmm0, ecx
punpckldq xmm0, xmm5
psrld xmm2, 0xd
punpcklqdq xmm0, xmm3
pslld xmm0, 0x13
pxor xmm0, xmm2
pxor xmm0, xmm1
movups xmmword [r8 + 0x100], xmm0
xor eax, eax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xfffffffe
jmp 0x1402366fe
mov eax, 0xffffffff
jmp 0x1402366fe