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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
sub rsp, 0x20
xor ebp, ebp
mov qword [rcx + 0x1af88], rdx
mov qword [rcx + 0x1af78], rbp
mov rbx, rcx
mov dword [rcx + 0x1af80], ebp
cmp word [rcx + 0xe8a], bp
jne 0x18000285e
mov qword [rsp + 0x30], rsi
lea r10, [0x180009c90]
mov qword [rsp + 0x38], rdi
mov r9d, ebp
mov rdi, rcx
mov qword [rsp + 0x40], r14
sub rdi, r10
mov r11d, ebp
mov r8d, ebp
nop word [rax + rax]
mov dword [rdi + r10 + 0x1e74], r9d
mov eax, 1
mov ecx, dword [r10]
mov edx, ebp
shl eax, cl
test eax, eax
jle 0x18000217e
nop dword [rax + rax]
mov byte [r8 + rbx + 0x1b71], r11b
mov eax, 1
mov ecx, dword [r10]
inc r9d
shl eax, cl
inc r8
inc edx
cmp edx, eax
jl 0x180002160
inc r11d
add r10, 4
cmp r11d, 0x1c
jl 0x180002140
cmp r9d, 0x100
je 0x1800021a2
lea rax, str.ct_init:_length___256
mov qword [rbx + 0x6aff0], rax
movsxd rax, r9d
lea r14, [0x180009d10]
mov rsi, rbx
mov r8d, ebp
mov r9d, ebp
mov r10, rbp
sub rsi, r14
mov byte [rax + rbx + 0x1b70], r11b
mov r11, r14
nop word [rax + rax]
mov dword [rsi + r11 + 0x1ee8], r8d
mov eax, 1
mov ecx, dword [r11]
mov edx, ebp
shl eax, cl
movsxd rdi, r9d
test eax, eax
jle 0x18000220e
nop dword [rax + rax]
mov byte [r10 + rbx + 0x1c71], r9b
mov eax, 1
mov ecx, dword [r11]
inc r8d
shl eax, cl
inc r10
inc edx
cmp edx, eax
jl 0x1800021f0
inc r9d
add r11, 4
cmp r9d, 0x10
jl 0x1800021d0
cmp r8d, 0x100
je 0x180002232
lea rax, str.ct_init:_dist___256
mov qword [rbx + 0x6aff0], rax
sar r8d, 7
cmp r9d, 0x1e
jge 0x18000229f
inc rdi
movsxd r11, r8d
lea rdi, [r14 + rdi*4]
nop word [rax + rax]
mov eax, r8d
mov edx, 1
shl eax, 7
mov r10d, ebp
mov dword [rdi + rsi + 0x1ee8], eax
mov ecx, dword [rdi]
sub ecx, 7
shl edx, cl
test edx, edx
jle 0x180002292
mov byte [r11 + rbx + 0x1d71], r9b
mov edx, 1
mov ecx, dword [rdi]
inc r8d
sub ecx, 7
inc r11
shl edx, cl
inc r10d
cmp r10d, edx
jl 0x180002270
inc r9d
add rdi, 4
cmp r9d, 0x1e
jl 0x180002250
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
cmp r8d, 0x100
je 0x1800022d0
lea rax, str.ct_init:_256dist___512
mov qword [rbx + 0x6aff0], rax
nop word [rax + rax]
mov qword [rbx + 0x1018], rbp
lea rax, [rbx + 0xa0e]
mov qword [rbx + 0x1020], rbp
mov ecx, 0x18
mov qword [rbx + 0x1028], rbp
mov edx, 8
mov qword [rbx + 0x1030], rbp
nop dword [rax]
mov word [rax - 4], dx
lea rax, [rax + 0x18]
inc word [rbx + 0x1028]
mov word [rax - 0x18], dx
inc word [rbx + 0x1028]
mov word [rax - 0x14], dx
inc word [rbx + 0x1028]
mov word [rax - 0x10], dx
inc word [rbx + 0x1028]
mov word [rax - 0xc], dx
inc word [rbx + 0x1028]
mov word [rax - 8], dx
inc word [rbx + 0x1028]
sub rcx, 1
jne 0x180002300
lea rax, [rbx + 0xc4e]
mov ecx, 2
mov r8d, 9
nop
mov word [rax - 4], r8w
inc word [rbx + 0x102a]
mov word [rax], r8w
inc word [rbx + 0x102a]
mov word [rax + 4], r8w
inc word [rbx + 0x102a]
mov word [rax + 8], r8w
inc word [rbx + 0x102a]
mov word [rax + 0xc], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x10], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x14], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x18], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x1c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x20], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x24], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x28], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x2c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x30], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x34], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x38], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x3c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x40], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x44], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x48], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x4c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x50], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x54], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x58], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x5c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x60], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x64], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x68], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x6c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x70], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x74], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x78], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x7c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x80], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x84], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x88], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x8c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x90], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x94], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x98], r8w
inc word [rbx + 0x102a]
mov word [rax + 0x9c], r8w
inc word [rbx + 0x102a]
mov word [rax + 0xa0], r8w
lea rax, [rax + 0xe0]
inc word [rbx + 0x102a]
mov word [rax - 0x3c], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x38], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x34], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x30], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x2c], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x28], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x24], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x20], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x1c], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x18], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x14], r8w
inc word [rbx + 0x102a]
mov word [rax - 0x10], r8w
inc word [rbx + 0x102a]
mov word [rax - 0xc], r8w
inc word [rbx + 0x102a]
mov word [rax - 8], r8w
inc word [rbx + 0x102a]
sub rcx, 1
jne 0x180002360
mov eax, 7
mov r8d, 0x11f
mov word [rbx + 0xe0a], ax
mov rcx, rbx
inc word [rbx + 0x1026]
mov word [rbx + 0xe0e], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe12], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe16], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe1a], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe1e], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe22], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe26], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe2a], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe2e], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe32], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe36], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe3a], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe3e], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe42], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe46], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe4a], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe4e], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe52], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe56], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe5a], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe5e], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe62], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe66], ax
inc word [rbx + 0x1026]
mov word [rbx + 0xe6a], dx
inc word [rbx + 0x1028]
mov word [rbx + 0xe6e], dx
inc word [rbx + 0x1028]
mov word [rbx + 0xe72], dx
inc word [rbx + 0x1028]
mov word [rbx + 0xe76], dx
inc word [rbx + 0x1028]
mov word [rbx + 0xe7a], dx
inc word [rbx + 0x1028]
mov word [rbx + 0xe7e], dx
inc word [rbx + 0x1028]
mov word [rbx + 0xe82], dx
inc word [rbx + 0x1028]
mov word [rbx + 0xe86], dx
lea rdx, [rbx + 0xa08]
inc word [rbx + 0x1028]
call fcn.180002da0
mov r9d, ebp
lea r10, [rbx + 0xe88]
mov r11d, 5
nop word [rax + rax]
mov word [r10 + 2], r11w
mov edx, r11d
mov r8d, r9d
mov ecx, ebp
nop dword [rax]
mov eax, r8d
dec edx
and eax, 1
shr r8d, 1
or ecx, eax
add ecx, ecx
test edx, edx
jg 0x180002830
shr ecx, 1
inc r9d
mov word [r10], cx
add r10, 4
cmp r9d, 0x1e
jl 0x180002820
mov rcx, rbx
call fcn.180002870
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret