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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov ebx, r8d
mov rsi, rdx
xor edx, edx
mov r8d, pe_nt_image_headers64
mov r14, rcx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsi]
mov edi, ebx
movzx r8d, byte [rbx + rax + 3]
movzx r11d, byte [rbx + rax]
movzx r9d, byte [rbx + rax + 2]
movzx ebx, byte [rbx + rax + 1]
lea r10d, [r11 + r8]
sub r11d, r8d
lea edx, [rbx + r9]
sub ebx, r9d
lea eax, [rdx + r10]
sub r10d, edx
lea eax, [rax*8 - 0x1000]
shl r10d, 3
mov dword [r14], eax
mov dword [r14 + 8], r10d
lea eax, [rbx + r11]
imul ecx, eax, 0x1151
imul eax, r11d, 0x187e
add ecx, 0x200
add eax, ecx
sar eax, 0xa
mov dword [r14 + 4], eax
imul eax, ebx, 0x3b21
sub ecx, eax
sar ecx, 0xa
mov dword [r14 + 0xc], ecx
mov rax, qword [rsi + 8]
movzx ecx, byte [rdi + rax + 3]
movzx edx, byte [rdi + rax + 2]
movzx r10d, byte [rdi + rax]
movzx r11d, byte [rdi + rax + 1]
lea r9d, [r10 + rcx]
sub r10d, ecx
lea r8d, [r11 + rdx]
sub r11d, edx
lea eax, [r8 + r9]
sub r9d, r8d
lea eax, [rax*8 - 0x1000]
shl r9d, 3
mov dword [r14 + 0x20], eax
mov dword [r14 + 0x28], r9d
lea eax, [r11 + r10]
imul ecx, eax, 0x1151
imul eax, r10d, 0x187e
add ecx, 0x200
add eax, ecx
sar eax, 0xa
mov dword [r14 + 0x24], eax
imul eax, r11d, 0x3b21
sub ecx, eax
sar ecx, 0xa
mov dword [r14 + 0x2c], ecx
mov rax, qword [rsi + 0x10]
movzx ecx, byte [rdi + rax + 3]
movzx edx, byte [rdi + rax + 2]
movzx r10d, byte [rdi + rax]
movzx r11d, byte [rdi + rax + 1]
lea rax, [r14 + 0x40]
lea r9d, [r10 + rcx]
sub r10d, ecx
lea r8d, [r11 + rdx]
sub r11d, edx
lea ecx, [r8 + r9]
sub r9d, r8d
lea ecx, [rcx*8 - 0x1000]
shl r9d, 3
mov dword [rax], ecx
lea ecx, [r11 + r10]
mov dword [r14 + 0x48], r9d
imul edx, ecx, 0x1151
imul ecx, r10d, 0x187e
add edx, 0x200
add ecx, edx
sar ecx, 0xa
mov dword [r14 + 0x44], ecx
imul ecx, r11d, 0x3b21
sub edx, ecx
sar edx, 0xa
mov dword [r14 + 0x4c], edx
mov rcx, qword [rsi + 0x18]
movzx edx, byte [rdi + rcx + 3]
movzx r8d, byte [rdi + rcx + 2]
movzx r11d, byte [rdi + rcx]
movzx ebx, byte [rdi + rcx + 1]
lea r10d, [r11 + rdx]
sub r11d, edx
lea r9d, [rbx + r8]
sub ebx, r8d
lea ecx, [r9 + r10]
sub r10d, r9d
lea ecx, [rcx*8 - 0x1000]
shl r10d, 3
mov dword [r14 + 0x60], ecx
mov dword [r14 + 0x68], r10d
lea ecx, [rbx + r11]
imul edx, ecx, 0x1151
imul ecx, r11d, 0x187e
add edx, 0x200
add ecx, edx
sar ecx, 0xa
mov dword [r14 + 0x64], ecx
imul ecx, ebx, 0x3b21
sub edx, ecx
sar edx, 0xa
mov dword [r14 + 0x6c], edx
mov rcx, qword [rsi + 0x20]
movzx edx, byte [rdi + rcx + 3]
movzx r8d, byte [rdi + rcx + 2]
movzx r11d, byte [rdi + rcx]
movzx ebx, byte [rdi + rcx + 1]
lea r10d, [r11 + rdx]
sub r11d, edx
lea r9d, [rbx + r8]
sub ebx, r8d
lea ecx, [r9 + r10]
sub r10d, r9d
lea ecx, [rcx*8 - 0x1000]
shl r10d, 3
mov dword [r14 + 0x80], ecx
mov dword [r14 + 0x88], r10d
lea ecx, [rbx + r11]
imul edx, ecx, 0x1151
imul ecx, r11d, 0x187e
add edx, 0x200
add ecx, edx
sar ecx, 0xa
mov dword [r14 + 0x84], ecx
imul ecx, ebx, 0x3b21
sub edx, ecx
sar edx, 0xa
mov dword [r14 + 0x8c], edx
mov rcx, qword [rsi + 0x28]
movzx edx, byte [rdi + rcx + 3]
movzx r11d, byte [rdi + rcx]
movzx r8d, byte [rdi + rcx + 2]
movzx ebx, byte [rdi + rcx + 1]
lea r10d, [r11 + rdx]
sub r11d, edx
lea r9d, [rbx + r8]
sub ebx, r8d
lea ecx, [r9 + r10]
sub r10d, r9d
lea ecx, [rcx*8 - 0x1000]
shl r10d, 3
mov dword [r14 + 0xa0], ecx
lea ecx, [rbx + r11]
mov dword [r14 + 0xa8], r10d
imul edx, ecx, 0x1151
imul ecx, r11d, 0x187e
add edx, 0x200
add ecx, edx
sar ecx, 0xa
mov dword [r14 + 0xa4], ecx
imul ecx, ebx, 0x3b21
sub edx, ecx
sar edx, 0xa
mov dword [r14 + 0xac], edx
mov rcx, qword [rsi + 0x30]
mov qword [rsp + 0x50], 2
movzx edx, byte [rdi + rcx + 3]
movzx r8d, byte [rdi + rcx + 2]
movzx r11d, byte [rdi + rcx]
movzx ebx, byte [rdi + rcx + 1]
lea r10d, [r11 + rdx]
sub r11d, edx
lea r9d, [rbx + r8]
sub ebx, r8d
lea ecx, [r9 + r10]
sub r10d, r9d
lea ecx, [rcx*8 - 0x1000]
shl r10d, 3
mov dword [r14 + 0xc0], ecx
mov dword [r14 + 0xc8], r10d
lea ecx, [rbx + r11]
imul edx, ecx, 0x1151
imul ecx, r11d, 0x187e
add edx, 0x200
add ecx, edx
sar ecx, 0xa
mov dword [r14 + 0xc4], ecx
imul ecx, ebx, 0x3b21
sub edx, ecx
sar edx, 0xa
mov dword [r14 + 0xcc], edx
mov rcx, qword [rsi + 0x38]
movzx edx, byte [rdi + rcx + 3]
movzx r11d, byte [rdi + rcx]
movzx r8d, byte [rdi + rcx + 2]
movzx ebx, byte [rdi + rcx + 1]
lea r10d, [r11 + rdx]
sub r11d, edx
lea r9d, [rbx + r8]
sub ebx, r8d
lea ecx, [r9 + r10]
sub r10d, r9d
lea ecx, [rcx*8 - 0x1000]
shl r10d, 3
mov dword [r14 + 0xe0], ecx
lea ecx, [rbx + r11]
mov dword [r14 + 0xe8], r10d
imul edx, ecx, 0x1151
imul ecx, r11d, 0x187e
add edx, 0x200
add ecx, edx
sar ecx, 0xa
mov dword [r14 + 0xe4], ecx
imul ecx, ebx, 0x3b21
sub edx, ecx
sar edx, 0xa
mov dword [r14 + 0xec], edx
mov r9d, dword [rax + 0x40]
mov r11d, dword [rax + 0x80]
mov r10d, dword [rax + 0x60]
mov ebx, dword [rax + 0xa0]
mov r12d, dword [rax - 0x40]
mov r15d, dword [rax + 0x20]
mov ebp, dword [rax - 0x20]
mov r13d, dword [rax]
lea esi, [r12 + rbx]
sub r12d, ebx
lea ecx, [r15 + r9]
sub r15d, r9d
lea r14d, [r11 + rbp]
imul r9d, r15d, 0x98e
lea edx, [r10 + r13]
sub ebp, r11d
lea r8d, [rdx + r14]
sub r13d, r10d
sub r14d, edx
lea edi, [rsi + 2]
add edi, ecx
sub esi, ecx
lea ecx, [r8 + rdi]
sub edi, r8d
sar ecx, 2
lea r8d, [r15 + rbp]
mov dword [rax - 0x40], ecx
lea ecx, [r14 + rsi]
imul edx, ecx, 0x1151
imul ecx, esi, 0x187e
sar edi, 2
mov dword [rax + 0x40], edi
mov edi, dword [rax + 0xa4]
add edx, 0x4000
add ecx, edx
sar ecx, 0xf
mov dword [rax], ecx
imul ecx, r14d, 0x3b21
sub edx, ecx
sar edx, 0xf
mov dword [rax + 0x80], edx
lea edx, [r12 + r13]
lea ecx, [r8 + rdx]
imul r10d, ecx, 0x25a1
imul ecx, edx, 0xc7c
add r10d, 0x4000
mov r11d, r10d
sub r11d, ecx
imul ecx, r8d, 0x3ec5
imul r8d, r12d, 0x300b
sub r10d, ecx
lea ecx, [r15 + r12]
mov r12d, dword [rax - 0x1c]
imul edx, ecx, 0xffffe333
mov ecx, r13d
add ecx, ebp
add r8d, edx
add r9d, edx
imul edx, ecx, 0xffffadfd
add r8d, r11d
imul ecx, ebp, 0x6254
add r9d, r10d
mov ebp, dword [rax - 0x3c]
sar r8d, 0xf
mov dword [rax - 0x20], r8d
add ecx, edx
lea esi, [rdi + rbp]
add ecx, r10d
mov r10d, dword [rax + 0x64]
sar ecx, 0xf
mov dword [rax + 0x20], ecx
imul ecx, r13d, 0x41b3
mov r13d, dword [rax + 4]
add ecx, edx
add ecx, r11d
mov r11d, dword [rax + 0x84]
sar ecx, 0xf
sar r9d, 0xf
mov dword [rax + 0xa0], r9d
lea r14d, [r12 + r11]
mov dword [rax + 0x60], ecx
mov r9d, dword [rax + 0x44]
lea edx, [r10 + r13]
mov r15d, dword [rax + 0x24]
lea r8d, [rdx + r14]
sub r14d, edx
lea ebx, [rsi + 2]
sub r13d, r10d
lea rax, [rax + 8]
sub r12d, r11d
sub ebp, edi
lea ecx, [r15 + r9]
sub r15d, r9d
add ebx, ecx
imul r9d, r15d, 0x98e
sub esi, ecx
lea ecx, [r8 + rbx]
sub ebx, r8d
sar ecx, 2
lea r8d, [r15 + r12]
mov dword [rax - 0x44], ecx
lea ecx, [r14 + rsi]
imul edx, ecx, 0x1151
imul ecx, esi, 0x187e
sar ebx, 2
mov dword [rax + 0x3c], ebx
add edx, 0x4000
add ecx, edx
sar ecx, 0xf
mov dword [rax - 4], ecx
imul ecx, r14d, 0x3b21
sub edx, ecx
sar edx, 0xf
mov dword [rax + 0x7c], edx
mov edx, r13d
add edx, ebp
lea ecx, [r8 + rdx]
imul r10d, ecx, 0x25a1
imul ecx, edx, 0xc7c
add r10d, 0x4000
mov r11d, r10d
sub r11d, ecx
imul ecx, r8d, 0x3ec5
imul r8d, ebp, 0x300b
sub r10d, ecx
lea ecx, [r15 + rbp]
imul edx, ecx, 0xffffe333
lea ecx, [r12 + r13]
add r8d, edx
add r9d, edx
imul edx, ecx, 0xffffadfd
add r8d, r11d
imul ecx, r12d, 0x6254
add r9d, r10d
sar r8d, 0xf
sar r9d, 0xf
mov dword [rax - 0x24], r8d
mov dword [rax + 0x9c], r9d
add ecx, edx
add ecx, r10d
sar ecx, 0xf
mov dword [rax + 0x1c], ecx
imul ecx, r13d, 0x41b3
add ecx, edx
add ecx, r11d
sar ecx, 0xf
sub qword [rsp + 0x50], 1
mov dword [rax + 0x5c], ecx
jne 0x180022cd0
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret