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

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
cmp rdx, 0x4ff
ja 0x140221e56
mov rax, rcx
mov r8, rdx
shr r8, 5
mov r10, qword [rcx + 0xa0]
test r10, r10
je 0x140221a96
lea rcx, [r10 - 1]
lea r11, [rax + r8*4]
nop word cs:[rax + rax]
cmp r10, 0x28
ja 0x140221dfd
lea r9, [r8 + rcx]
cmp r9, 0x28
jae 0x140221e10
mov r9d, dword [rax + rcx*4]
mov dword [r11 + rcx*4], r9d
add rcx, 0xffffffffffffffff
jb 0x140221a70
cmp rdx, 0x20
jb 0x140221d50
cmp r8, 2
mov ecx, 1
cmovae rcx, r8
mov dword [rax], 0
cmp rdx, 0x40
jb 0x140221d50
mov dword [rax + 4], 0
cmp rcx, 2
je 0x140221d50
mov dword [rax + 8], 0
cmp rcx, 3
je 0x140221d50
mov dword [rax + 0xc], 0
cmp rcx, 4
je 0x140221d50
mov dword [rax + 0x10], 0
cmp rcx, 5
je 0x140221d50
mov dword [rax + 0x14], 0
cmp rcx, 6
je 0x140221d50
mov dword [rax + 0x18], 0
cmp rcx, 7
je 0x140221d50
mov dword [rax + 0x1c], 0
cmp rcx, 8
je 0x140221d50
mov dword [rax + 0x20], 0
cmp rcx, 9
je 0x140221d50
mov dword [rax + 0x24], 0
cmp rcx, 0xa
je 0x140221d50
mov dword [rax + 0x28], 0
cmp rcx, 0xb
je 0x140221d50
mov dword [rax + 0x2c], 0
cmp rcx, 0xc
je 0x140221d50
mov dword [rax + 0x30], 0
cmp rcx, 0xd
je 0x140221d50
mov dword [rax + 0x34], 0
cmp rcx, 0xe
je 0x140221d50
mov dword [rax + 0x38], 0
cmp rcx, 0xf
je 0x140221d50
mov dword [rax + 0x3c], 0
cmp rcx, 0x10
je 0x140221d50
mov dword [rax + 0x40], 0
cmp rcx, 0x11
je 0x140221d50
mov dword [rax + 0x44], 0
cmp rcx, 0x12
je 0x140221d50
mov dword [rax + 0x48], 0
cmp rcx, 0x13
je 0x140221d50
mov dword [rax + 0x4c], 0
cmp rcx, 0x14
je 0x140221d50
mov dword [rax + 0x50], 0
cmp rcx, 0x15
je 0x140221d50
mov dword [rax + 0x54], 0
cmp rcx, 0x16
je 0x140221d50
mov dword [rax + 0x58], 0
cmp rcx, 0x17
je 0x140221d50
mov dword [rax + 0x5c], 0
cmp rcx, 0x18
je 0x140221d50
mov dword [rax + 0x60], 0
cmp rcx, 0x19
je 0x140221d50
mov dword [rax + 0x64], 0
cmp rcx, 0x1a
je 0x140221d50
mov dword [rax + 0x68], 0
cmp rcx, 0x1b
je 0x140221d50
mov dword [rax + 0x6c], 0
cmp rcx, 0x1c
je 0x140221d50
mov dword [rax + 0x70], 0
cmp rcx, 0x1d
je 0x140221d50
mov dword [rax + 0x74], 0
cmp rcx, 0x1e
je 0x140221d50
mov dword [rax + 0x78], 0
cmp rcx, 0x1f
je 0x140221d50
mov dword [rax + 0x7c], 0
cmp rcx, 0x20
je 0x140221d50
mov dword [rax + 0x80], 0
cmp rcx, 0x21
je 0x140221d50
mov dword [rax + 0x84], 0
cmp rcx, 0x22
je 0x140221d50
mov dword [rax + 0x88], 0
cmp rcx, 0x23
je 0x140221d50
mov dword [rax + 0x8c], 0
cmp rcx, 0x24
je 0x140221d50
mov dword [rax + 0x90], 0
cmp rcx, 0x25
je 0x140221d50
mov dword [rax + 0x94], 0
cmp rcx, 0x26
je 0x140221d50
mov dword [rax + 0x98], 0
cmp rcx, 0x27
je 0x140221d50
mov dword [rax + 0x9c], 0
cmp rcx, 0x28
jne 0x140221e70
mov r10, qword [rax + 0xa0]
add r10, r8
test dl, 0x1f
je 0x140221dea
lea rcx, [r10 - 1]
cmp rcx, 0x27
ja 0x140221dfd
mov r11d, dword [rax + r10*4 - 4]
mov r9d, edx
neg r9d
and r9d, 0x1f
mov edi, r11d
mov ecx, r9d
shr edi, cl
mov rsi, r10
test edi, edi
je 0x140221da1
cmp r10, 0x27
ja 0x140221e40
mov dword [rax + r10*4], edi
lea rsi, [r10 + 1]
lea rdi, [r8 + 1]
and edx, 0x1f
cmp rdi, r10
jae 0x140221de2
nop dword [rax]
lea rcx, [r10 - 2]
cmp rcx, 0x28
jae 0x140221e26
mov ecx, edx
shl r11d, cl
mov ebx, dword [rax + r10*4 - 8]
mov ebp, ebx
mov ecx, r9d
shr ebp, cl
or ebp, r11d
mov dword [rax + r10*4 - 4], ebp
lea rcx, [r10 - 1]
mov r11d, ebx
mov r10, rcx
cmp rdi, rcx
jb 0x140221db0
mov ecx, edx
shl dword [rax + r8*4], cl
jmp 0x140221ded
mov rsi, r10
mov qword [rax + 0xa0], rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea r8, str.P_7_
mov edx, 0x28
call fcn.140354e70
ud2
lea r8, str.P_7_
mov edx, 0x28
mov rcx, r9
call fcn.140354e70
ud2
lea r8, str.P_7_
mov edx, 0x28
mov rcx, 0xffffffffffffffff
call fcn.140354e70
ud2
lea r8, str.P_7_
mov edx, 0x28
mov rcx, r10
call fcn.140354e70
ud2
lea rcx, [0x1403760a2]
lea r8, str.P_7_
mov edx, 0x1d
call fcn.140354ff0
ud2
lea r8, str.P_7_
mov ecx, 0x28
mov edx, 0x28
call fcn.140354e70
ud2