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

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
cmp rdx, 0x4ff
ja 0x1400badce
mov r8, rdx
mov r9, rcx
mov r10, rdx
shr r10, 5
mov rdx, qword [rcx]
test rdx, rdx
je 0x1400ba9f7
dec rdx
lea rdi, [r9 + r10*4]
add rdi, 4
mov rcx, rdx
nop dword [rax + rax]
cmp rdx, 0x27
ja 0x1400bad8b
lea rax, [r10 + rcx]
cmp rax, 0x28
jae 0x1400bad9e
mov eax, dword [r9 + rcx*4 + 8]
mov dword [rdi + rcx*4 + 4], eax
add rcx, 0xffffffffffffffff
jb 0x1400ba9d0
cmp r8, 0x20
jb 0x1400bace0
cmp r10, 2
mov eax, 1
cmovae rax, r10
mov dword [r9 + 8], 0
cmp r8, 0x40
jb 0x1400bace0
mov dword [r9 + 0xc], 0
cmp rax, 2
je 0x1400bace0
mov dword [r9 + 0x10], 0
cmp rax, 3
je 0x1400bace0
mov dword [r9 + 0x14], 0
cmp rax, 4
je 0x1400bace0
mov dword [r9 + 0x18], 0
cmp rax, 5
je 0x1400bace0
mov dword [r9 + 0x1c], 0
cmp rax, 6
je 0x1400bace0
mov dword [r9 + 0x20], 0
cmp rax, 7
je 0x1400bace0
mov dword [r9 + 0x24], 0
cmp rax, 8
je 0x1400bace0
mov dword [r9 + 0x28], 0
cmp rax, 9
je 0x1400bace0
mov dword [r9 + 0x2c], 0
cmp rax, 0xa
je 0x1400bace0
mov dword [r9 + 0x30], 0
cmp rax, 0xb
je 0x1400bace0
mov dword [r9 + 0x34], 0
cmp rax, 0xc
je 0x1400bace0
mov dword [r9 + 0x38], 0
cmp rax, 0xd
je 0x1400bace0
mov dword [r9 + 0x3c], 0
cmp rax, 0xe
je 0x1400bace0
mov dword [r9 + 0x40], 0
cmp rax, 0xf
je 0x1400bace0
mov dword [r9 + 0x44], 0
cmp rax, 0x10
je 0x1400bace0
mov dword [r9 + 0x48], 0
cmp rax, 0x11
je 0x1400bace0
mov dword [r9 + 0x4c], 0
cmp rax, 0x12
je 0x1400bace0
mov dword [r9 + 0x50], 0
cmp rax, 0x13
je 0x1400bace0
mov dword [r9 + 0x54], 0
cmp rax, 0x14
je 0x1400bace0
mov dword [r9 + 0x58], 0
cmp rax, 0x15
je 0x1400bace0
mov dword [r9 + 0x5c], 0
cmp rax, 0x16
je 0x1400bace0
mov dword [r9 + 0x60], 0
cmp rax, 0x17
je 0x1400bace0
mov dword [r9 + 0x64], 0
cmp rax, 0x18
je 0x1400bace0
mov dword [r9 + 0x68], 0
cmp rax, 0x19
je 0x1400bace0
mov dword [r9 + 0x6c], 0
cmp rax, 0x1a
je 0x1400bace0
mov dword [r9 + 0x70], 0
cmp rax, 0x1b
je 0x1400bace0
mov dword [r9 + 0x74], 0
cmp rax, 0x1c
je 0x1400bace0
mov dword [r9 + 0x78], 0
cmp rax, 0x1d
je 0x1400bace0
mov dword [r9 + 0x7c], 0
cmp rax, 0x1e
je 0x1400bace0
mov dword [r9 + 0x80], 0
cmp rax, 0x1f
je 0x1400bace0
mov dword [r9 + 0x84], 0
cmp rax, 0x20
je 0x1400bace0
mov dword [r9 + 0x88], 0
cmp rax, 0x21
je 0x1400bace0
mov dword [r9 + 0x8c], 0
cmp rax, 0x22
je 0x1400bace0
mov dword [r9 + 0x90], 0
cmp rax, 0x23
je 0x1400bace0
mov dword [r9 + 0x94], 0
cmp rax, 0x24
je 0x1400bace0
mov dword [r9 + 0x98], 0
cmp rax, 0x25
je 0x1400bace0
mov dword [r9 + 0x9c], 0
cmp rax, 0x26
je 0x1400bace0
mov dword [r9 + 0xa0], 0
cmp rax, 0x27
je 0x1400bace0
mov dword [r9 + 0xa4], 0
cmp rax, 0x28
jne 0x1400bade8
mov rax, qword [r9]
add rax, r10
test r8b, 0x1f
je 0x1400bad79
lea rcx, [rax - 1]
cmp rcx, 0x27
ja 0x1400bad8b
mov edx, dword [r9 + rax*4 + 4]
mov r11d, r8d
neg r11d
and r11d, 0x1f
mov edi, edx
mov ecx, r11d
shr edi, cl
mov rsi, rax
test edi, edi
je 0x1400bad2e
cmp rax, 0x27
ja 0x1400bad9e
mov dword [r9 + rax*4 + 8], edi
lea rsi, [rax + 1]
lea rdi, [r10 + 1]
and r8d, 0x1f
cmp rdi, rax
jae 0x1400bad6f
nop dword [rax + rax]
lea rcx, [rax - 2]
cmp rcx, 0x28
jae 0x1400badb4
mov ecx, r8d
shl edx, cl
mov ebx, dword [r9 + rax*4]
mov ebp, ebx
mov ecx, r11d
shr ebp, cl
or ebp, edx
mov dword [r9 + rax*4 + 4], ebp
lea rcx, [rax - 1]
mov edx, ebx
mov rax, rcx
cmp rdi, rcx
jb 0x1400bad40
mov ecx, r8d
shl dword [r9 + r10*4 + 8], cl
jmp 0x1400bad7c
mov rsi, rax
mov qword [r9], rsi
mov rax, r9
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea r8, [0x14015acf8]
mov edx, 0x28
call dbg.panic_bounds_check
ud2
lea r8, [0x14015acf8]
mov edx, 0x28
mov rcx, rax
call dbg.panic_bounds_check
ud2
lea r8, [0x14015acf8]
mov edx, 0x28
mov rcx, 0xffffffffffffffff
call dbg.panic_bounds_check
ud2
lea rcx, [0x14015ad2a]
lea r8, [0x14015acf8]
mov edx, 0x1d
call dbg.panic
ud2
lea r8, [0x14015acf8]
mov ecx, 0x28
mov edx, 0x28
call dbg.panic_bounds_check
ud2