Function at 0x14003b8e0
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, 0x10
mov r10, rcx
movzx ecx, r8w
mov rbx, r9
cmp r8w, 0x28
jge 0x14003b915
movzx ecx, word [r10 + 0x25c]
cmp r8w, 0x78
jle 0x14003b924
movzx ecx, word [r10 + 0x25c]
movsx rax, dx
mov r8d, 0x3fffffff
movsx r11d, cx
lea rdx, [0x140132cb0]
mov word [r10 + 0x25c], cx
neg r11d
mov rcx, r10
movsx r9d, word [rdx + rax*2]
sub rcx, rbx
lea rax, [rbx + 2]
mov ebx, 4
lea rdx, [rcx + 0x1ea]
mov qword [rsp + 0x40], rdx
lea rsi, [rcx + 0x1de]
lea rdx, [rcx + 0x1ec]
mov qword [rsp], rdx
lea r14, [rcx + 0x1e0]
lea rdx, [rcx + 0x1ee]
mov qword [rsp + 8], rdx
lea r15, [rcx + 0x1e2]
lea r12, [rcx + 0x1e4]
lea rbp, [rcx + 0x1e6]
lea r13, [rcx + 0x1e8]
lea rdi, [rcx + 0x1f0]
nop dword [rax]
movsxd rdx, r11d
movsx ecx, word [r10 + rdx*2 + 0x1e0]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax - 2]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003b9f0
movzx r8d, cx
jmp 0x14003b9fd
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov word [rsi + rax], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1e2]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003ba44
movzx r8d, cx
jmp 0x14003ba51
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov word [r14 + rax], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1e4]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax + 2]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003ba99
movzx r8d, cx
jmp 0x14003baa6
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov word [r15 + rax], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1e6]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax + 4]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003baee
movzx r8d, cx
jmp 0x14003bafb
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov word [r12 + rax], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1e8]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax + 6]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003bb43
movzx r8d, cx
jmp 0x14003bb50
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov word [rax + rbp], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1ea]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax + 8]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003bb98
movzx r8d, cx
jmp 0x14003bba5
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov word [rax + r13], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1ec]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax + 0xa]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003bbed
movzx r8d, cx
jmp 0x14003bbfa
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov rcx, qword [rsp + 0x40]
mov word [rcx + rax], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1ee]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax + 0xc]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003bc47
movzx r8d, cx
jmp 0x14003bc54
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov rcx, qword [rsp]
mov word [rcx + rax], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1f0]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx r8d, cx
movsx ecx, word [rax + 0xe]
add r8d, ecx
mov ecx, 0xffff8000
cmp r8d, ecx
jge 0x14003bca0
movzx r8d, cx
jmp 0x14003bcad
mov ecx, 0x7fff
cmp r8d, ecx
cmovg r8w, cx
mov rcx, qword [rsp + 8]
mov word [rcx + rax], r8w
mov r8d, 0x3fffffff
movsx ecx, word [r10 + rdx*2 + 0x1f2]
imul ecx, r9d
add ecx, 0x4000
cmp ecx, 0x40000000
cmovge ecx, r8d
add ecx, ecx
shr ecx, 0x10
movsx edx, cx
movsx ecx, word [rax + 0x10]
add edx, ecx
mov ecx, 0xffff8000
cmp edx, ecx
jge 0x14003bcf6
movzx edx, cx
jmp 0x14003bd01
mov ecx, 0x7fff
cmp edx, ecx
cmovg dx, cx
mov word [rdi + rax], dx
add r11d, 0xa
add rax, 0x14
sub rbx, 1
jne 0x14003b9b0
add r10, 0xf2
lea edx, [rbx + 2]
movzx eax, word [r10 + 0x4e]
mov word [r10 - 2], ax
movzx eax, word [r10 + 0x50]
mov word [r10], ax
movzx eax, word [r10 + 0x52]
mov word [r10 + 2], ax
movzx eax, word [r10 + 0x54]
mov word [r10 + 4], ax
movzx eax, word [r10 + 0x56]
mov word [r10 + 6], ax
movzx eax, word [r10 + 0x58]
mov word [r10 + 8], ax
movzx eax, word [r10 + 0x5a]
mov word [r10 + 0xa], ax
movzx eax, word [r10 + 0x5c]
mov word [r10 + 0xc], ax
movzx eax, word [r10 + 0x5e]
mov word [r10 + 0xe], ax
movzx eax, word [r10 + 0x60]
mov word [r10 + 0x10], ax
movzx eax, word [r10 + 0x62]
mov word [r10 + 0x12], ax
movzx eax, word [r10 + 0x64]
mov word [r10 + 0x14], ax
movzx eax, word [r10 + 0x66]
mov word [r10 + 0x16], ax
movzx eax, word [r10 + 0x68]
mov word [r10 + 0x18], ax
movzx eax, word [r10 + 0x6a]
mov word [r10 + 0x1a], ax
movzx eax, word [r10 + 0x6c]
mov word [r10 + 0x1c], ax
movzx eax, word [r10 + 0x6e]
mov word [r10 + 0x1e], ax
movzx eax, word [r10 + 0x70]
mov word [r10 + 0x20], ax
movzx eax, word [r10 + 0x72]
mov word [r10 + 0x22], ax
movzx eax, word [r10 + 0x74]
mov word [r10 + 0x24], ax
movzx eax, word [r10 + 0x76]
mov word [r10 + 0x26], ax
movzx eax, word [r10 + 0x78]
mov word [r10 + 0x28], ax
movzx eax, word [r10 + 0x7a]
mov word [r10 + 0x2a], ax
movzx eax, word [r10 + 0x7c]
mov word [r10 + 0x2c], ax
movzx eax, word [r10 + 0x7e]
mov word [r10 + 0x2e], ax
movzx eax, word [r10 + 0x80]
mov word [r10 + 0x30], ax
movzx eax, word [r10 + 0x82]
mov word [r10 + 0x32], ax
movzx eax, word [r10 + 0x84]
mov word [r10 + 0x34], ax
movzx eax, word [r10 + 0x86]
mov word [r10 + 0x36], ax
movzx eax, word [r10 + 0x88]
mov word [r10 + 0x38], ax
movzx eax, word [r10 + 0x8a]
mov word [r10 + 0x3a], ax
movzx eax, word [r10 + 0x8c]
mov word [r10 + 0x3c], ax
movzx eax, word [r10 + 0x8e]
mov word [r10 + 0x3e], ax
movzx eax, word [r10 + 0x90]
mov word [r10 + 0x40], ax
movzx eax, word [r10 + 0x92]
mov word [r10 + 0x42], ax
movzx eax, word [r10 + 0x94]
mov word [r10 + 0x44], ax
movzx eax, word [r10 + 0x96]
mov word [r10 + 0x46], ax
movzx eax, word [r10 + 0x98]
mov word [r10 + 0x48], ax
movzx eax, word [r10 + 0x9a]
mov word [r10 + 0x4a], ax
movzx eax, word [r10 + 0x9c]
mov word [r10 + 0x4c], ax
movzx eax, word [r10 + 0x9e]
mov word [r10 + 0x4e], ax
movzx eax, word [r10 + 0xa0]
mov word [r10 + 0x50], ax
movzx eax, word [r10 + 0xa2]
mov word [r10 + 0x52], ax
movzx eax, word [r10 + 0xa4]
mov word [r10 + 0x54], ax
movzx eax, word [r10 + 0xa6]
mov word [r10 + 0x56], ax
movzx eax, word [r10 + 0xa8]
mov word [r10 + 0x58], ax
movzx eax, word [r10 + 0xaa]
mov word [r10 + 0x5a], ax
movzx eax, word [r10 + 0xac]
mov word [r10 + 0x5c], ax
movzx eax, word [r10 + 0xae]
mov word [r10 + 0x5e], ax
movzx eax, word [r10 + 0xb0]
mov word [r10 + 0x60], ax
movzx eax, word [r10 + 0xb2]
mov word [r10 + 0x62], ax
movzx eax, word [r10 + 0xb4]
mov word [r10 + 0x64], ax
movzx eax, word [r10 + 0xb6]
mov word [r10 + 0x66], ax
movzx eax, word [r10 + 0xb8]
mov word [r10 + 0x68], ax
movzx eax, word [r10 + 0xba]
mov word [r10 + 0x6a], ax
movzx eax, word [r10 + 0xbc]
mov word [r10 + 0x6c], ax
movzx eax, word [r10 + 0xbe]
mov word [r10 + 0x6e], ax
movzx eax, word [r10 + 0xc0]
mov word [r10 + 0x70], ax
movzx eax, word [r10 + 0xc2]
mov word [r10 + 0x72], ax
movzx eax, word [r10 + 0xc4]
mov word [r10 + 0x74], ax
lea r10, [r10 + 0x78]
sub rdx, 1
jne 0x14003bd21
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
ret