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

Disassembly:
push rbx
push rbp
sub rsp, 0x28
xor ebp, ebp
mov qword [rcx + 0x1af88], rdx
mov rbx, rcx
mov qword [rcx + 0x1af78], rbp
mov dword [rcx + 0x1af80], ebp
cmp word [rcx + 0xe8a], bp
jne 0x180021934
mov qword [rsp + 0x40], rsi
lea r11, [0x18008e880]
mov qword [rsp + 0x48], rdi
mov rsi, rcx
mov qword [rsp + 0x50], r14
sub rsi, r11
mov qword [rsp + 0x20], r15
mov r9d, ebp
mov edi, ebp
mov r10d, ebp
nop word [rax + rax]
mov dword [rsi + r11 + 0x1e74], r9d
mov eax, 1
mov ecx, dword [r11]
mov r8d, ebp
shl eax, cl
test eax, eax
jle 0x18002122f
lea rdx, [rbx + 0x1b71]
add rdx, r10
nop dword [rax]
nop word [rax + rax]
mov byte [rdx], dil
lea rdx, [rdx + 1]
mov ecx, dword [r11]
mov eax, 1
shl eax, cl
inc r9d
inc r10
inc r8d
cmp r8d, eax
jl 0x180021210
inc edi
add r11, 4
cmp edi, 0x1c
jl 0x1800211e0
cmp r9d, 0x100
je 0x180021251
lea rax, str.ct_init:_length___256
mov qword [rbx + 0x6aff0], rax
movsxd rax, r9d
lea r15, [0x18008e800]
mov r14, rbx
mov r8d, ebp
mov r9d, ebp
mov r11, rbp
sub r14, r15
mov byte [rax + rbx + 0x1b70], dil
mov rdi, r15
nop word [rax + rax]
mov dword [r14 + rdi + 0x1ee8], r8d
mov eax, 1
mov ecx, dword [rdi]
mov r10d, ebp
shl eax, cl
movsxd rsi, r9d
test eax, eax
jle 0x1800212ce
lea rdx, [rbx + 0x1c71]
add rdx, r11
nop word [rax + rax]
mov byte [rdx], r9b
lea rdx, [rdx + 1]
mov ecx, dword [rdi]
mov eax, 1
shl eax, cl
inc r8d
inc r11
inc r10d
cmp r10d, eax
jl 0x1800212b0
inc r9d
add rdi, 4
cmp r9d, 0x10
jl 0x180021280
cmp r8d, 0x100
je 0x1800212f2
lea rax, str.ct_init:_dist___256
mov qword [rbx + 0x6aff0], rax
sar r8d, 7
cmp r9d, 0x1e
jge 0x18002136e
inc rsi
movsxd rdi, r8d
lea rsi, [r15 + rsi*4]
nop word [rax + rax]
mov eax, r8d
mov edx, 1
shl eax, 7
mov r11d, ebp
mov dword [rsi + r14 + 0x1ee8], eax
mov ecx, dword [rsi]
sub ecx, 7
shl edx, cl
test edx, edx
jle 0x180021361
lea r10, [rbx + 0x1d71]
add r10, rdi
nop dword [rax + rax]
mov byte [r10], r9b
lea r10, [r10 + 1]
mov ecx, dword [rsi]
mov edx, 1
sub ecx, 7
inc r8d
shl edx, cl
inc rdi
inc r11d
cmp r11d, edx
jl 0x180021340
inc r9d
add rsi, 4
cmp r9d, 0x1e
jl 0x180021310
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
cmp r8d, 0x100
je 0x1800213a0
lea rax, str.ct_init:_256dist___512
mov qword [rbx + 0x6aff0], rax
nop dword [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 0x1800213d0
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 0x180021430
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.180021e60
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 0x180021900
shr ecx, 1
inc r9d
mov word [r10], cx
add r10, 4
cmp r9d, 0x1e
jl 0x1800218f0
mov rcx, rbx
add rsp, 0x28
pop rbp
pop rbx
jmp fcn.180021940
add rsp, 0x28
pop rbp
pop rbx
ret