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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov rbx, rcx
cmp edx, 6
jae 0x14000cb66
mov r9, qword [rcx + 0x18]
xor eax, eax
mov rdx, qword [rcx + 0x20]
sub rdx, r9
sar rdx, 3
test rdx, rdx
je 0x14000c6a8
mov ecx, eax
mov rdi, qword [r9 + rcx*8]
cmp word [rdi], r8w
je 0x14000c6ba
inc eax
mov ecx, eax
cmp rcx, rdx
jb 0x14000c695
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
test rdi, rdi
je 0x14000c6a8
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x30], rbp
mov ebp, 0x7f
mov qword [rsp + 0x38], r14
test rcx, rcx
je 0x14000c6e6
mov rax, qword [rcx]
lea edx, [rsi + 0x40]
xor r9d, r9d
mov r8d, ebp
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c6fe
mov rax, qword [rcx]
lea edx, [rsi + 0x44]
xor r9d, r9d
mov r8, rbp
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c716
mov rax, qword [rcx]
lea edx, [rsi + 0x48]
xor r9d, r9d
mov r8, rbp
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c72e
mov rax, qword [rcx]
lea edx, [rsi + 0x4c]
xor r9d, r9d
mov r8, rbp
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c74a
mov rax, qword [rcx]
lea edx, [rsi + 0x80]
xor r9d, r9d
lea r8d, [r9 + 0xf]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c766
mov rax, qword [rcx]
lea edx, [rsi + 0x84]
xor r9d, r9d
lea r8d, [r9 + 0xf]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c782
mov rax, qword [rcx]
lea edx, [rsi + 0x88]
xor r9d, r9d
lea r8d, [r9 + 0xf]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c79e
mov rax, qword [rcx]
lea edx, [rsi + 0x8c]
xor r9d, r9d
lea r8d, [r9 + 0xf]
call qword [rax + InitCommonControls]
movzx eax, byte [rdi + 2]
movzx edx, byte [rdi + 3]
shl dl, 3
or dl, al
cmp eax, 7
ja case.default.0x14000c7c2
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0xcb7c]
add rcx, r8
jmp rcx
mov byte [rsi + rbx + 0xdb8], 8
jmp case.default.0x14000c7c2
mov byte [rsi + rbx + 0xdb8], 0xa
jmp case.default.0x14000c7c2
mov byte [rsi + rbx + 0xdb8], 0xe
jmp case.default.0x14000c7c2
mov byte [rsi + rbx + 0xdb8], 0xf
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c806
mov rax, qword [rcx]
xor r9d, r9d
movzx r8d, dl
lea edx, [rsi + 0xb0]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c82e
movzx eax, byte [rdi + 0xc]
lea edx, [rsi + 0x30]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 0xb]
or r8, rax
call qword [r10 + InitCommonControls]
movzx edx, byte [rdi + 9]
mov ecx, ebp
sub ecx, edx
mov dword [rbx + rsi*4 + 0xdbc], ecx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c855
mov rax, qword [rcx]
mov r8d, edx
lea edx, [rsi + 0x40]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c87d
movzx eax, byte [rdi + 0xa]
lea edx, [rsi + 0x50]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rdi + 4]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c897
mov rax, qword [rcx]
lea edx, [rsi + 0x60]
movzx r8d, byte [rdi + 5]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c8b1
mov rax, qword [rcx]
lea edx, [rsi + 0x70]
movzx r8d, byte [rdi + 6]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c8dc
movzx eax, byte [rdi + 8]
lea edx, [rsi + 0x80]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 7]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c904
movzx eax, byte [rdi + 0x19]
lea edx, [rsi + 0x38]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 0x18]
or r8, rax
call qword [r10 + InitCommonControls]
movzx edx, byte [rdi + 0x16]
mov ecx, ebp
sub ecx, edx
mov dword [rbx + rsi*4 + 0xdc8], ecx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c92b
mov rax, qword [rcx]
mov r8d, edx
lea edx, [rsi + 0x48]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c953
movzx eax, byte [rdi + 0x17]
lea edx, [rsi + 0x58]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rdi + 0x11]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c96d
mov rax, qword [rcx]
lea edx, [rsi + 0x68]
movzx r8d, byte [rdi + 0x12]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c987
mov rax, qword [rcx]
lea edx, [rsi + 0x78]
movzx r8d, byte [rdi + 0x13]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c9b2
movzx eax, byte [rdi + 0x15]
lea edx, [rsi + 0x88]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 0x14]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000c9da
movzx eax, byte [rdi + 0x26]
lea edx, [rsi + 0x34]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 0x25]
or r8, rax
call qword [r10 + InitCommonControls]
movzx edx, byte [rdi + 0x23]
mov ecx, ebp
sub ecx, edx
mov dword [rbx + rsi*4 + 0xdd4], ecx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000ca01
mov rax, qword [rcx]
mov r8d, edx
lea edx, [rsi + 0x44]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000ca29
movzx eax, byte [rdi + 0x24]
lea edx, [rsi + 0x54]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rdi + 0x1e]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000ca43
mov rax, qword [rcx]
lea edx, [rsi + 0x64]
movzx r8d, byte [rdi + 0x1f]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000ca5d
mov rax, qword [rcx]
lea edx, [rsi + 0x74]
movzx r8d, byte [rdi + 0x20]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000ca88
movzx eax, byte [rdi + 0x22]
lea edx, [rsi + 0x84]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 0x21]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000cab0
movzx eax, byte [rdi + 0x33]
lea edx, [rsi + 0x3c]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 0x32]
or r8, rax
call qword [r10 + InitCommonControls]
movzx edx, byte [rdi + 0x30]
mov r14, qword [rsp + 0x38]
sub ebp, edx
mov dword [rbx + rsi*4 + 0xde0], ebp
mov rcx, qword [rbx + 0x10]
mov rbp, qword [rsp + 0x30]
test rcx, rcx
je 0x14000cadf
mov rax, qword [rcx]
mov r8d, edx
lea edx, [rsi + 0x4c]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000cb07
movzx eax, byte [rdi + 0x31]
lea edx, [rsi + 0x5c]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rdi + 0x2b]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000cb21
mov rax, qword [rcx]
lea edx, [rsi + 0x6c]
movzx r8d, byte [rdi + 0x2c]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000cb3b
mov rax, qword [rcx]
lea edx, [rsi + 0x7c]
movzx r8d, byte [rdi + 0x2d]
xor r9d, r9d
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000cb66
movzx eax, byte [rdi + 0x2f]
lea edx, [rsi + 0x8c]
mov r10, qword [rcx]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rdi + 0x2e]
or r8, rax
call qword [r10 + InitCommonControls]
mov rbx, qword [rsp + 0x40]
mov eax, 1
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret