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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3e0]
sub rsp, 0x4e0
mov rax, qword [0x140173040]
xor rax, rsp
mov qword [rbp + 0x3d0], rax
mov r13, qword [rbp + 0x448]
lea rax, vtable.CXDialogTemplate.0
mov r15d, dword [rbp + 0x440]
mov rbx, rcx
mov qword [rcx], rax
mov rsi, r8
xor r8d, r8d
mov r14, r9
mov rax, qword [r13 + 0x868]
mov qword [rcx + 0xa8], rax
mov eax, dword [r13 + 0x864]
mov dword [rcx + 0xb0], eax
mov qword [rcx + 0xb4], r8
mov eax, dword [r13 + 4]
mov dword [rcx + 0xc0], eax
mov eax, dword [r13 + 8]
mov dword [rcx + 0xc4], eax
mov eax, dword [r13 + 0xc]
mov dword [rcx + 0xc8], eax
mov eax, dword [r13 + 0x10]
mov dword [rcx + 0xcc], eax
mov dword [rcx + 0xe0], 0xffffffff
mov eax, dword [r13 + 0x860]
mov dword [rcx + 0xe4], eax
mov dword [rcx + 0xe8], 0x3e9
mov dword [rcx + 0xec], 1
mov eax, dword [r13]
mov dword [rcx + 0xf0], eax
mov dword [rcx + 0xf4], r15d
mov eax, dword [r13 + 0x14]
and eax, 1
mov dword [rcx + 0xfc], eax
mov ecx, dword [r13 + 0x14]
and ecx, 2
mov dword [rbx + 0x100], ecx
mov eax, dword [r13 + 0x14]
and eax, 4
mov dword [rbx + 0x108], r8d
mov dword [rbx + 0x104], eax
mov rax, qword [r13 + 0x858]
mov qword [rbx + 0x110], rax
mov qword [rbx + 0x118], rdx
mov rax, qword [r13 + 0x18]
mov qword [rbx + 0x120], rax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x128], rax
mov qword [rbx + 0x140], r8
mov qword [rbx + 0x148], r8
mov qword [rbx + 0x560], r8
mov qword [rbx + 0x568], r8
mov eax, dword [r13 + 0x870]
mov dword [rbx + 0x570], eax
mov edx, dword [r13 + 0x874]
mov eax, edx
mov dword [rbx + 0x574], edx
mov qword [rbx + 0x578], r8
test ecx, ecx
je 0x1400c1c75
mov dword [rbx + 0xfc], 1
cmp edx, 0xffffffff
jne 0x1400c1c75
lea ecx, [r8 + 5]
call qword [sym.imp.USER32.dll_GetSysColor]
mov dword [rbx + 0x574], eax
cmp eax, 0xffffffff
je 0x1400c1c89
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov qword [rbx + 0x578], rax
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
movzx r12d, ax
mov dword [rsp + 0x40], r12d
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov r8d, 4
shr rax, 0x10
movzx edi, ax
mov edx, r12d
mov dword [rsp + 0x44], edi
lea ecx, [r8 + 0x22]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r8d, 8
mov edx, edi
mov dword [rbx + 0xd0], eax
lea ecx, [r8 + 4]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r8d, 4
mov edx, r12d
mov dword [rbx + 0xd8], eax
lea ecx, [r8 + 9]
call qword [sym.imp.KERNEL32.dll_MulDiv]
cmp dword [rbx + 0x100], 0
mov dword [rbx + 0xd4], eax
je 0x1400c1d2d
mov r8d, 4
mov edx, r12d
lea ecx, [r8 + 2]
call qword [sym.imp.KERNEL32.dll_MulDiv]
add dword [rbx + 0xd0], eax
mov r8d, 8
mov edx, edi
lea ecx, [r8 - 7]
call qword [sym.imp.KERNEL32.dll_MulDiv]
add dword [rbx + 0xd8], eax
mov r8d, 8
mov edx, edi
lea ecx, [r8 + 2]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [rbx + 0xdc], eax
mov eax, dword [rbx + 0xd0]
mov dword [rsp + 0x34], eax
mov eax, r15d
and eax, 0xf00
cmp eax, 0x300
ja 0x1400c1d96
je 0x1400c1d8a
test eax, eax
je 0x1400c1da4
cmp eax, 0x100
je 0x1400c1d7e
cmp eax, 0x200
jne 0x1400c1da4
mov dword [rbx + 0xbc], 3
jmp 0x1400c1dc6
mov dword [rbx + 0xbc], 2
jmp 0x1400c1dc6
mov dword [rbx + 0xbc], 4
jmp 0x1400c1dc6
cmp eax, 0x400
je 0x1400c1dbc
cmp eax, 0x500
je 0x1400c1db0
mov dword [rbx + 0xbc], 1
jmp 0x1400c1dc6
mov dword [rbx + 0xbc], 6
jmp 0x1400c1dc6
mov dword [rbx + 0xbc], 5
lea rdi, [rbx + 0x358]
xor edx, edx
mov rcx, rdi
mov r8d, 0x208
call fcn.14012ce40
lea rcx, [r13 + 0x64c]
sub rdi, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdi + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c1df0
lea rcx, [rbx + 0x592]
xor edx, edx
mov r8d, 0xc8
call fcn.14012ce40
mov ecx, 0x20000
call fcn.1400ff0c4
mov qword [rbx + 0x140], rax
xor edi, edi
xor edx, edx
mov r8d, 0x20000
mov word [rax], di
mov rcx, qword [rbx + 0x140]
call fcn.14012ce40
mov ecx, 0x20000
call fcn.1400ff0c4
mov qword [rbx + 0x148], rax
xor edx, edx
mov r8d, 0x20000
mov word [rax], di
mov rcx, qword [rbx + 0x148]
call fcn.14012ce40
mov r12, qword [rbx + 0x120]
test r12, r12
jne 0x1400c1e7d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r12, rax
test rsi, rsi
je 0x1400c1ee8
mov rcx, qword [rbx + 0x140]
mov rax, rsi
shr rax, 0x10
test ax, ax
jne 0x1400c1eca
mov r8, rcx
movzx edx, si
mov rcx, r12
mov r9d, 0xffff
call qword [sym.imp.USER32.dll_LoadStringW]
xor esi, esi
test eax, eax
jne 0x1400c1eda
mov rax, qword [rbx + 0x140]
mov word [rax], si
mov rax, qword [rbx + 0x140]
mov word [rax + 0x1fffe], si
jmp 0x1400c1ee8
mov r8d, 0xffff
mov rdx, rsi
call fcn.1401166f8
xor esi, esi
mov rax, qword [rbx + 0x140]
mov word [rax + 0x1fffe], si
test r14, r14
je 0x1400c1f42
mov rcx, qword [rbx + 0x148]
mov rax, r14
shr rax, 0x10
test ax, ax
jne 0x1400c1f26
mov r8, rcx
movzx edx, r14w
mov rcx, r12
mov r9d, 0xffff
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x1400c1f34
mov rax, qword [rbx + 0x148]
mov word [rax], si
jmp 0x1400c1f34
mov r8d, 0xffff
mov rdx, r14
call fcn.1401166f8
mov rax, qword [rbx + 0x148]
mov word [rax + 0x1fffe], si
xor edx, edx
lea rcx, [rbx + 0x150]
mov r8d, 0x208
call fcn.14012ce40
mov edx, dword [r13 + 0x234]
test edx, edx
je 0x1400c1f82
mov r9d, 0x103
lea r8, [rbx + 0x150]
mov rcx, r12
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x1400c1f82
mov word [rbx + 0x150], si
cmp word [rbx + 0x150], di
jne 0x1400c1fa9
lea rdx, [r13 + 0x238]
cmp word [rdx], di
je 0x1400c1fa9
mov r8d, 0x103
lea rcx, [rbx + 0x150]
call fcn.1401166f8
xor edx, edx
mov word [rbx + 0x356], si
mov r8d, 0xc8
lea rcx, [rbx + 0x1008]
call fcn.14012ce40
mov edx, dword [r13 + 0x440]
test edx, edx
je 0x1400c1ff0
mov r9d, 0x63
lea r8, [rbx + 0x1008]
mov rcx, r12
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x1400c1ff0
mov word [rbx + 0x1008], si
cmp word [rbx + 0x1008], di
jne 0x1400c2017
lea rdx, [r13 + 0x444]
cmp word [rdx], di
je 0x1400c2017
mov r8d, 0x63
lea rcx, [rbx + 0x1008]
call fcn.1401166f8
lea r14, [rbx + 0x76e]
mov word [rbx + 0x10ce], si
mov r10, r14
lea r11, str.Abort
mov r9d, esi
cmp r9d, 0xc
jne 0x1400c2077
cmp word [r10 - 0xc6], di
jne 0x1400c2063
mov rcx, qword [r11]
lea rdx, [rbx + 0x1008]
nop dword [rax]
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400c2050
inc r9d
mov word [r10], si
add r11, 0x10
add r10, 0xc8
jmp 0x1400c2032
mov rdx, qword [r11]
movsxd rax, r9d
imul r8, rax, 0xc8
add r8, 0x6a8
add r8, rbx
nop
movzx eax, word [rdx]
lea rdx, [rdx + 2]
mov word [r8], ax
lea r8, [r8 + 2]
test ax, ax
jne 0x1400c2090
mov word [r10], si
inc r9d
add r10, 0xc8
add r11, 0x10
cmp r9d, 0x13
jl 0x1400c2032
cmp dword [r13 + 0x878], edi
je 0x1400c20dd
lea rdx, [r13 + 0x87c]
mov rcx, rbx
call fcn.1400c36d0
jmp 0x1400c219f
bt r15d, 0x1d
jb 0x1400c219f
mov edi, esi
xor eax, eax
lea rsi, [0x1401744d0]
cmp edi, 0xc
jne 0x1400c2131
cmp word [r14 - 0xc6], 0
jne 0x1400c211e
mov edx, dword [rsi]
lea r8, [rbx + 0x1008]
lea r9d, [rdi + 0x58]
mov rcx, r12
call qword [sym.imp.USER32.dll_LoadStringW]
movsxd r15, edi
jmp 0x1400c2156
inc edi
mov word [r14], ax
add rsi, 0x10
add r14, 0xc8
jmp 0x1400c20f3
mov edx, dword [rsi]
mov r9d, 0x64
movsxd r15, edi
mov rcx, r12
imul r8, r15, 0xc8
add r8, 0x6a8
add r8, rbx
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x1400c2183
mov rcx, qword [rsi + 8]
imul rdx, r15, 0xc8
add rdx, 0x6a8
add rdx, rbx
nop
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400c2170
xor eax, eax
inc edi
mov word [r14], ax
add rsi, 0x10
add r14, 0xc8
cmp edi, 0x13
jl 0x1400c20f3
xor r9d, r9d
lea rcx, str.DISPLAY
xor r8d, r8d
xor edx, edx
call qword [sym.imp.GDI32.dll_CreateDCW]
xor r9d, r9d
mov dword [rbp - 0x40], 0x1f4
lea r8, [rbp - 0x40]
mov qword [rsp + 0x48], rax
mov edx, 0x1f4
mov r12, rax
lea ecx, [r9 + 0x29]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
lea rcx, [rbp + 0x158]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov rdx, rax
mov qword [rbx + 0x568], rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x50], rax
lea rsi, [rbx + 0x65c]
lea rdi, [rbx + 0x6a8]
mov r14d, 0x13
mov r15, 0xffffffffffffffff
nop dword [rax]
mov r8, r15
inc r8
cmp word [rdi + r8*2], 0
jne 0x1400c2223
lea r9, [rbp - 0x80]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov ecx, dword [rsp + 0x34]
mov eax, dword [rbp - 0x80]
add eax, 0x14
cmp eax, ecx
cmovg ecx, eax
cmp dword [rbx + 0xc0], 0
je 0x1400c225c
add ecx, dword [rbx + 0xd4]
mov dword [rsi], ecx
add rdi, 0xc8
add rsi, 4
sub r14, 1
jne 0x1400c2220
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r15d, dword [rbp + 0x440]
cdq
sub eax, edx
sar eax, 1
lea edi, [rax + 0x50]
cmp dword [rbx + 0x100], r14d
je 0x1400c229f
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
lea edi, [rax - 0xa]
cmp dword [rbx + 0x104], 0
je 0x1400c22c0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov edi, edx
shr edi, 0x1f
add edi, edx
mov esi, r15d
and esi, 0xf0
je 0x1400c22df
mov ecx, 0xb
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0xfffffff0
sub ecx, eax
add edi, ecx
lea r14, [rbx + 0x130]
mov dword [rsp + 0x20], edi
mov rcx, r14
mov r9d, edi
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_SetRect]
mov rdx, qword [rbx + 0x140]
mov r9, r14
mov r8, 0xffffffffffffffff
mov dword [rsp + 0x20], 0xc50
mov rcx, r12
call qword [sym.imp.USER32.dll_DrawTextW]
mov r15d, dword [r14 + 0xc]
lea r9, [rbp - 0x48]
sub r15d, dword [r14 + 4]
lea rdx, [0x14014f0bc]
mov r8d, 2
mov rcx, r12
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov edx, dword [rbx + 0x100]
mov ecx, 0x20
test edx, edx
mov dword [r14], InitCommonControls
mov eax, InitCommonControls
cmovne eax, ecx
add dword [rbx + 0x138], 0x1c
mov dword [rbx + 0x134], eax
test edx, edx
mov eax, 0x38
mov ecx, 0x18
cmovne ecx, eax
mov eax, dword [rbx + 0x13c]
add eax, 5
xor r8d, r8d
add ecx, eax
xor edx, edx
mov dword [rbx + 0x13c], ecx
lea rcx, [rsp + 0x60]
mov eax, dword [r14 + 0xc]
sub eax, dword [r14 + 4]
mov r9d, dword [r14 + 8]
add eax, 0x10
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
cmp dword [rbx + 0x100], 0
je 0x1400c23b9
add dword [rsp + 0x68], 0x10
mov ecx, dword [rsp + 0x6c]
mov edx, 0x46
mov eax, ecx
mov dword [rbx + 0x580], 0x90c80880
sub eax, dword [rsp + 0x64]
cmp eax, edx
cmovl ecx, edx
xor eax, eax
test dword [rbp + 0x440], 0x1000
mov dword [rsp + 0x6c], ecx
mov dword [rbx + 0x58a], eax
mov word [rbx + 0x588], ax
mov dword [rbx + 0x584], eax
je 0x1400c2410
mov dword [rbx + 0x580], 0x90c80882
nop word [rax + rax]
mov qword [rbx + 8], rax
lea rcx, [rbp - 0x78]
mov qword [rbx + 0x10], rax
xor r9d, r9d
mov qword [rbx + 0x18], rax
xor r8d, r8d
mov qword [rbx + 0x20], rax
xor edx, edx
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x58], rax
mov qword [rbx + 0x60], rax
mov qword [rbx + 0x68], rax
mov qword [rbx + 0x70], rax
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x88], rax
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x98], rax
mov qword [rbx + 0xa0], rax
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov rax, qword [rbx + 0x128]
test rax, rax
jne 0x1400c2499
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ecx, dword [r13 + 0x28]
test ecx, ecx
je 0x1400c24a9
movzx edx, cx
mov rcx, rax
jmp 0x1400c24ec
cmp word [r13 + 0x2c], 0
lea rdx, [r13 + 0x2c]
je 0x1400c24ba
mov rcx, rax
jmp 0x1400c24ec
test esi, esi
je 0x1400c24f9
mov edx, 0x7f03
cmp esi, 0x10
je 0x1400c24e5
cmp esi, 0x20
je 0x1400c24de
cmp esi, 0x30
je 0x1400c24ea
cmp esi, 0x40
jne 0x1400c24ea
mov edx, 0x7f04
jmp 0x1400c24ea
mov edx, 0x7f02
jmp 0x1400c24ea
mov edx, 0x7f01
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadIconW]
mov qword [rbx + 0x560], rax
cmp qword [rbx + 0x560], 0
lea rsi, vtable.CXDialogItem.0
lea r12, [0x1401467a0]
je 0x1400c26a1
mov ecx, 0xb
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0xc
mov edi, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [rbx + 0x100]
mov edx, 8
mov r8d, dword [rbx + 0x138]
mov r9d, eax
test ecx, ecx
mov eax, 0x18
cmovne edx, eax
add r8d, edx
add r8d, edi
mov dword [rbx + 0x138], r8d
lea eax, [rdx + rdi]
add dword [r14], eax
lea eax, [r8 + 8]
mov dword [rsp + 0x68], eax
test ecx, ecx
je 0x1400c2573
lea eax, [r8 + 0x18]
mov dword [rsp + 0x68], eax
lea eax, [rdx + 2]
mov r8d, edx
add eax, r9d
lea rcx, [rbp - 0x78]
lea r9d, [rdx + 2]
mov dword [rsp + 0x20], eax
add r9d, edi
call qword [sym.imp.USER32.dll_SetRect]
mov ecx, 0x28
call fcn.1400ff088
mov qword [rbp - 0x58], rax
mov rcx, rax
xorps xmm0, xmm0
xor r13d, r13d
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], rsi
mov dword [rax + 0x1c], 0x82
mov qword [rax + 0x20], r13
movzx eax, word [rbx + 0x588]
mov qword [rbx + rax*8 + 8], rcx
movzx eax, word [rbx + 0x588]
mov rsi, qword [rbx + rax*8 + 8]
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov edi, eax
shr rdi, 0x10
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
movsx ecx, ax
mov dword [rsi + 0x1c], 0x82
mov eax, dword [rbp - 0x78]
movsx r8d, di
lea eax, [rax*4]
cdq
idiv ecx
mov word [rsi + 0x10], ax
mov eax, dword [rbp - 0x74]
lea eax, [rax*8]
cdq
idiv r8d
mov word [rsi + 0x12], ax
mov eax, dword [rbp - 0x70]
sub eax, dword [rbp - 0x78]
shl eax, 2
cdq
idiv ecx
lea ecx, [r13 + 2]
mov word [rsi + 0x14], ax
mov eax, dword [rbp - 0x6c]
sub eax, dword [rbp - 0x74]
shl eax, 3
cdq
mov qword [rsi + 8], 0x50000000
idiv r8d
mov word [rsi + 0x18], 0x3e8
mov word [rsi + 0x16], ax
call fcn.1400ff0c4
mov rdx, rax
mov qword [rsi + 0x20], rax
sub rdx, r12
mov rcx, r12
nop dword [rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c2660
inc word [rbx + 0x588]
cmp dword [rbx + 0x100], r13d
je 0x1400c26a4
cmp r15d, dword [rbp - 0x44]
jle 0x1400c26a4
mov ecx, dword [r14 + 0xc]
sub ecx, dword [r14 + 4]
mov eax, dword [rbp - 0x74]
mov dword [rbx + 0x134], eax
add eax, ecx
mov dword [rbx + 0x13c], eax
jmp 0x1400c26a4
xor r13d, r13d
mov r15d, dword [rbx + 0xe8]
mov ecx, 0x28
mov rsi, qword [rbx + 0x140]
mov dword [rbx + 0xf8], r15d
lea eax, [r15 + 1]
mov dword [rbx + 0xe8], eax
call fcn.1400ff088
mov qword [rbp - 0x58], rax
mov rcx, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov dword [rcx + 0x1c], 0x82
lea rax, vtable.CXDialogItem.0
mov qword [rcx], rax
mov qword [rcx + 0x20], r13
movzx eax, word [rbx + 0x588]
mov qword [rbx + rax*8 + 8], rcx
movzx eax, word [rbx + 0x588]
mov rdi, qword [rbx + rax*8 + 8]
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov r13d, eax
shr r13, 0x10
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov dword [rdi + 0x1c], 0x82
test r14, r14
je 0x1400c2772
movsx ecx, ax
mov eax, dword [r14]
shl eax, 2
cdq
movsx r8d, r13w
idiv ecx
mov word [rdi + 0x10], ax
mov eax, dword [r14 + 4]
shl eax, 3
cdq
idiv r8d
mov word [rdi + 0x12], ax
mov eax, dword [r14 + 8]
sub eax, dword [r14]
shl eax, 2
cdq
idiv ecx
mov word [rdi + 0x14], ax
mov eax, dword [r14 + 0xc]
sub eax, dword [r14 + 4]
shl eax, 3
cdq
idiv r8d
xor r14d, r14d
jmp 0x1400c277f
mov eax, 0xa
mov dword [rdi + 0x10], r14d
mov word [rdi + 0x14], ax
mov word [rdi + 0x16], ax
mov r13, 0xffffffffffffffff
mov qword [rdi + 8], 0x50000000
mov word [rdi + 0x18], r15w
test rsi, rsi
je 0x1400c27ac
mov rax, r13
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x1400c27a0
jmp 0x1400c27af
mov eax, r14d
movsxd rcx, eax
mov eax, 2
inc rcx
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400ff0c4
test rsi, rsi
mov qword [rdi + 0x20], rax
mov rcx, r12
mov rdx, rax
cmovne rcx, rsi
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c27e0
inc word [rbx + 0x588]
lea rax, [rbx + 0x150]
cmp word [rax], 0
lea rdx, [0x140000000]
mov esi, r14d
mov r15d, r14d
mov edi, r14d
jne 0x1400c2925
mov r13d, dword [rbp + 0x440]
mov eax, r13d
and eax, 0xf
cmp eax, 9
ja case.default.0x1400c2838
mov ecx, dword [rdx + rax*4 + 0xc335c]
add rcx, rdx
jmp rcx
mov edi, dword [rbx + 0x690]
add edi, dword [rbx + 0x678]
add edi, dword [rbx + 0x65c]
jmp 0x1400c28e9
mov edi, dword [rbx + 0x69c]
add edi, dword [rbx + 0x664]
jmp 0x1400c28e3
mov edi, dword [rbx + 0x664]
mov esi, 2
add edi, dword [rbx + 0x65c]
jmp case.default.0x1400c2838
mov edi, dword [rbx + 0x67c]
add edi, dword [rbx + 0x678]
jmp 0x1400c28e3
mov edi, dword [rbx + 0x688]
mov esi, 1
jmp case.default.0x1400c2838
mov edi, dword [rbx + 0x688]
mov esi, 2
add edi, dword [rbx + 0x660]
jmp case.default.0x1400c2838
mov edi, dword [rbx + 0x690]
mov esi, 2
add edi, dword [rbx + 0x660]
jmp case.default.0x1400c2838
mov edi, dword [rbx + 0x698]
add edi, dword [rbx + 0x694]
jmp 0x1400c28e3
mov edi, dword [rbx + 0x6a0]
mov esi, 2
add edi, dword [rbx + 0x680]
jmp case.default.0x1400c2838
mov edi, dword [rbx + 0x6a0]
add edi, dword [rbx + 0x680]
add edi, dword [rbx + 0x660]
mov esi, 3
bt r13d, 0x1b
jae 0x1400c2903
test r13b, 7
je 0x1400c2903
add edi, dword [rbx + 0x6a4]
inc esi
bt r13d, 0x1c
jae 0x1400c29e2
test r13b, 7
je 0x1400c29e2
add edi, dword [rbx + 0x684]
inc esi
jmp 0x1400c29e2
lea rdx, [rbp + 0x1c0]
mov rcx, rax
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c2940
xor r8d, r8d
lea rdx, [0x140146da8]
lea rcx, [rbp + 0x1c0]
call fcn.140116be4
test rax, rax
je 0x1400c29db
mov r14, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x34]
cmp esi, 4
jge 0x1400c29d4
mov r8, r13
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c2980
lea r9, [rbp - 0x80]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [rbp - 0x80]
mov ecx, r12d
add eax, 0x14
cmp eax, r12d
cmovg ecx, eax
cmp dword [rbx + 0xc0], 0
je 0x1400c29b9
add ecx, dword [rbx + 0xd4]
add r15d, ecx
lea rdx, [0x140146da8]
xor ecx, ecx
xor r8d, r8d
call fcn.140116be4
inc esi
test rax, rax
jne 0x1400c2975
lea r12, [0x1401467a0]
mov r13d, dword [rbp + 0x440]
mov eax, r13d
and eax, 0x4000
mov dword [rbp - 0x80], eax
je 0x1400c29f7
inc esi
add edi, dword [rbx + 0x674]
cmp qword [rbx + 0xa8], 0
je 0x1400c2a09
inc esi
add edi, dword [rbx + 0x68c]
mov r14d, r13d
and r14d, 0x1000000
je 0x1400c2a1e
or dword [rbx + 0xb4], 1
jmp 0x1400c2a3c
bt r13d, 0x19
jae 0x1400c2a2e
or dword [rbx + 0xb4], 2
jmp 0x1400c2a3c
bt r13d, 0x1a
jae 0x1400c2a3c
or dword [rbx + 0xb4], 4
mov eax, dword [rbx + 0x13c]
mov r8d, dword [rbp - 0x6c]
cmp eax, r8d
cmovg r8d, eax
add r8d, 5
cmp qword [rbx + 0x560], 0
jne 0x1400c2a65
cmp qword [rbx + 0x578], 0
je 0x1400c2a69
add r8d, 9
lea eax, [rsi - 1]
xor edx, edx
lea eax, [rax + rax*2]
lea ecx, [rdi + rax*2]
add r15d, ecx
mov ecx, dword [rbx + 0xd8]
add ecx, r8d
mov r9d, r15d
mov dword [rsp + 0x20], ecx
lea rcx, [rbp - 0x68]
call qword [sym.imp.USER32.dll_SetRect]
cmp dword [rbx + 0xbc], esi
jle 0x1400c2aa3
mov dword [rbx + 0xbc], 1
test r14d, r14d
je 0x1400c2ab0
mov r9d, 3
jmp 0x1400c2acc
bt r13d, 0x19
jae 0x1400c2abf
mov r9d, 4
jmp 0x1400c2acc
bt r13d, 0x1a
jae 0x1400c2ae7
mov r9d, 5
movsxd rax, r9d
mov dword [rsp + 0x30], r9d
mov esi, dword [rbx + rax*4 + 0x65c]
add esi, dword [rbx + 0xdc]
mov dword [rsp + 0x38], esi
jmp 0x1400c2af7
xor eax, eax
mov dword [rsp + 0x30], 0xffffffff
mov esi, eax
mov dword [rsp + 0x38], eax
mov ecx, dword [rsp + 0x68]
mov edx, dword [rbp - 0x60]
sub edx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x5c]
mov r8d, dword [rsp + 0x60]
add eax, 0xc
mov dword [rsp + 0x6c], eax
lea eax, [rdx + 0x20]
cmp ecx, eax
cmovle ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], ecx
sub eax, r8d
cmp eax, esi
jge 0x1400c2b2c
lea ecx, [rsi + 0x10]
mov dword [rsp + 0x68], ecx
mov r14d, dword [rbp - 0x64]
mov eax, ecx
sub eax, r8d
sub eax, edx
cdq
sub eax, edx
sar eax, 1
cmp dword [rbx + 0xfc], 0
mov edi, eax
je 0x1400c2b4f
mov edi, ecx
sub edi, r15d
sub edi, 0x10
cmp word [rbx + 0x150], 0
jne 0x1400c2e2a
mov eax, r13d
and eax, 0xf
cmp eax, 9
ja case.default.0x1400c2b7e
lea r9, [0x140000000]
mov ecx, dword [r9 + rax*4 + 0xc3384]
add rcx, r9
jmp rcx
mov edx, 0xb
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx - 0xa]
call fcn.1400c34d0
add edi, eax
or dword [rbx + 0xb4], 0x10
jmp 0x1400c3082
mov edx, 0xb
lea r8d, [rdx - 0xa]
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov rcx, rbx
call fcn.1400c34d0
add edi, eax
mov edx, 1
lea r8d, [rdx + 1]
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov rcx, rbx
call fcn.1400c34d0
add edi, eax
or dword [rbx + 0xb4], 8
jmp 0x1400c3082
mov edx, reloc.COMCTL32.dll_InitCommonControls
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx - 0xb]
call fcn.1400c34d0
add edi, eax
bt r13d, 0x1b
jae 0x1400c2c26
mov edx, 0x12
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx + 1]
call fcn.1400c34d0
add edi, eax
mov edx, 9
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1400c34d0
add edi, eax
bt r13d, 0x1c
jae 0x1400c3082
mov edx, 0xa
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx + 0xa]
call fcn.1400c34d0
add edi, eax
jmp 0x1400c3082
mov edx, reloc.COMCTL32.dll_InitCommonControls
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx - 0xb]
call fcn.1400c34d0
add edi, eax
bt r13d, 0x1b
jae 0x1400c2ca9
mov edx, 0x12
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx + 1]
call fcn.1400c34d0
add edi, eax
mov edx, 9
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1400c34d0
add edi, eax
bt r13d, 0x1c
jae 0x1400c2bc2
mov edx, 0xa
lea r8d, [rdx + 0xa]
jmp 0x1400c2bb0
xor edx, edx
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx + 3]
call fcn.1400c34d0
mov edx, InitCommonControls
mov dword [rsp + 0x20], r14d
add edi, eax
mov rcx, rbx
mov r9d, edi
lea r8d, [rdx - 9]
call fcn.1400c34d0
mov edx, 7
mov dword [rsp + 0x20], r14d
add edi, eax
mov rcx, rbx
mov r9d, edi
lea r8d, [rdx - 2]
call fcn.1400c34d0
add edi, eax
jmp 0x1400c3082
mov edx, InitCommonControls
lea r8d, [rdx - 9]
jmp 0x1400c2bb0
mov edx, 2
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx + 9]
call fcn.1400c34d0
xor edx, edx
mov dword [rsp + 0x20], r14d
add edi, eax
mov rcx, rbx
mov r9d, edi
lea r8d, [rdx + 3]
call fcn.1400c34d0
add edi, eax
jmp 0x1400c3082
mov edx, 1
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx + 1]
call fcn.1400c34d0
mov edx, InitCommonControls
mov dword [rsp + 0x20], r14d
add edi, eax
mov rcx, rbx
mov r9d, edi
lea r8d, [rdx - 6]
call fcn.1400c34d0
mov edx, 2
add edi, eax
lea r8d, [rdx + 9]
jmp 0x1400c2bcb
mov edx, InitCommonControls
mov dword [rsp + 0x20], r14d
mov r8d, edx
mov r9d, edi
mov rcx, rbx
call fcn.1400c34d0
mov edx, InitCommonControls
add edi, eax
mov r8d, edx
jmp 0x1400c2bb0
mov edx, 7
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.1400c34d0
mov edx, 8
add edi, eax
lea r8d, [rdx + 8]
jmp 0x1400c2bb0
mov edx, 0xb
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov rcx, rbx
lea r8d, [rdx - 0xa]
call fcn.1400c34d0
add edi, eax
jmp 0x1400c3082
xor edx, edx
lea rcx, [rbp + 0x1c0]
mov r8d, 0x208
call fcn.14012ce40
mov r8d, 0x103
lea rdx, [rbx + 0x150]
lea rcx, [rbp + 0x1c0]
call fcn.1401166f8
xor r8d, r8d
lea rdx, [0x140146da8]
lea rcx, [rbp + 0x1c0]
call fcn.140116be4
mov rsi, rax
test rax, rax
je 0x1400c307e
mov r13d, 0x17
nop
lea eax, [r13 - 0x17]
cmp eax, 4
jge 0x1400c307e
mov r8, 0xffffffffffffffff
inc r8
cmp word [rsi + r8*2], 0
jne 0x1400c2e94
mov rcx, qword [rsp + 0x48]
lea r9, [rbp - 0x58]
mov rdx, rsi
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov edx, dword [rsp + 0x34]
mov eax, dword [rbp - 0x58]
add eax, 0x14
cmp eax, edx
cmovg edx, eax
cmp dword [rbx + 0xc0], 0
je 0x1400c2ecf
add edx, dword [rbx + 0xd4]
mov ecx, dword [rbx + 0xd8]
lea eax, [rdx + rdi]
add ecx, r14d
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x20], ecx
mov r9d, eax
lea rcx, [rsp + 0x70]
mov r8d, r14d
mov edx, edi
call qword [sym.imp.USER32.dll_SetRect]
mov ecx, 0x28
call fcn.1400ff088
mov rcx, rax
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov dword [rcx + 0x1c], 0x80
lea rax, vtable.CXDialogItem.0
mov qword [rcx], rax
xor eax, eax
mov qword [rcx + 0x20], rax
movzx eax, word [rbx + 0x588]
mov qword [rbx + rax*8 + 8], rcx
movzx eax, word [rbx + 0x588]
mov r15, qword [rbx + rax*8 + 8]
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov edi, eax
shr rdi, 0x10
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
movsx ecx, ax
mov dword [r15 + 0x1c], 0x80
mov eax, dword [rsp + 0x70]
movsx r8d, di
lea eax, [rax*4]
cdq
idiv ecx
mov word [r15 + 0x10], ax
mov eax, dword [rsp + 0x74]
lea eax, [rax*8]
cdq
idiv r8d
mov word [r15 + 0x12], ax
mov eax, dword [rsp + 0x78]
sub eax, dword [rsp + 0x70]
shl eax, 2
cdq
idiv ecx
xor ecx, ecx
mov word [r15 + 0x14], ax
mov eax, dword [rsp + 0x7c]
sub eax, dword [rsp + 0x74]
shl eax, 3
cdq
mov dword [r15 + 0xc], ecx
idiv r8d
mov word [r15 + 0x18], r13w
mov word [r15 + 0x16], ax
inc dword [rbx + 0xb8]
mov dword [r15 + 8], 0x50010000
mov eax, dword [rbx + 0xbc]
cmp dword [rbx + 0xb8], eax
jne 0x1400c2fe6
mov dword [r15 + 8], 0x50010001
mov dword [rbx + 0xec], r13d
test rsi, rsi
je 0x1400c2ffd
mov rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], cx
jne 0x1400c2ff2
jmp 0x1400c2fff
mov eax, ecx
movsxd rcx, eax
mov eax, 2
inc rcx
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400ff0c4
test rsi, rsi
mov qword [r15 + 0x20], rax
mov rcx, r12
mov rdx, rax
cmovne rcx, rsi
sub rdx, rcx
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c3040
mov edi, dword [rsp + 0x3c]
lea rdx, [0x140146da8]
inc word [rbx + 0x588]
xor r8d, r8d
xor ecx, ecx
add edi, 6
call fcn.140116be4
inc r13d
mov rsi, rax
test rax, rax
jne 0x1400c2e80
mov esi, dword [rsp + 0x38]
cmp dword [rbp - 0x80], 0
je 0x1400c30a5
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov edx, 6
mov r8d, 0x12c
mov rcx, rbx
call fcn.1400c34d0
add edi, eax
cmp qword [rbx + 0xa8], 0
je 0x1400c30ca
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov edx, 0xc
mov r8d, 0x12d
mov rcx, rbx
call fcn.1400c34d0
movsxd rdi, dword [rsp + 0x30]
cmp edi, 0xffffffff
je 0x1400c32b0
mov eax, dword [rbx + 0xdc]
lea rcx, [rbp - 0x58]
mov r9d, esi
mov dword [rsp + 0x20], eax
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_SetRect]
mov r13d, dword [rbx + 0xd8]
lea rcx, [rsp + 0x70]
mov r15d, dword [rbp - 0x50]
add r14d, 0xc
sub r15d, dword [rbp - 0x58]
add r13d, r14d
mov r8d, dword [rbx + 0xdc]
mov edx, reloc.COMCTL32.dll_InitCommonControls
add r8d, r13d
mov dword [rsp + 0x20], r8d
mov r8d, r13d
imul rsi, rdi, 0xc8
lea r9d, [r15 + 0x11]
add rsi, 0x6a8
call qword [sym.imp.USER32.dll_SetRect]
mov ecx, 0x28
call fcn.1400ff088
mov rcx, rax
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov dword [rcx + 0x1c], 0x80
lea rax, vtable.CXDialogItem.0
mov qword [rcx], rax
xor eax, eax
mov qword [rcx + 0x20], rax
movzx eax, word [rbx + 0x588]
mov qword [rbx + rax*8 + 8], rcx
movzx eax, word [rbx + 0x588]
mov r14, qword [rbx + rax*8 + 8]
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov edi, eax
shr rdi, 0x10
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
movsx ecx, ax
mov dword [r14 + 0x1c], 0x80
mov eax, dword [rsp + 0x70]
movsx r8d, di
xor edi, edi
lea eax, [rax*4]
cdq
idiv ecx
mov word [r14 + 0x10], ax
mov eax, dword [rsp + 0x74]
lea eax, [rax*8]
cdq
idiv r8d
mov word [r14 + 0x12], ax
mov eax, dword [rsp + 0x78]
sub eax, dword [rsp + 0x70]
shl eax, 2
cdq
idiv ecx
mov word [r14 + 0x14], ax
mov eax, dword [rsp + 0x7c]
sub eax, dword [rsp + 0x74]
shl eax, 3
cdq
mov qword [r14 + 8], 0x50010003
idiv r8d
mov word [r14 + 0x18], 0x15b3
mov word [r14 + 0x16], ax
add rsi, rbx
je 0x1400c3220
mov rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], di
jne 0x1400c3215
jmp 0x1400c3222
mov eax, edi
movsxd rcx, eax
mov eax, 2
inc rcx
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400ff0c4
test rsi, rsi
mov qword [r14 + 0x20], rax
mov rcx, rax
cmovne r12, rsi
sub rcx, r12
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r12]
mov word [r12 + rcx], ax
lea r12, [r12 + 2]
test ax, ax
jne 0x1400c3260
mov edx, dword [rbx + 0xdc]
lea r10d, [r15 + 0x11]
mov ecx, dword [rsp + 0x68]
add edx, r13d
mov r9d, dword [rsp + 0x60]
mov eax, ecx
inc word [rbx + 0x588]
sub eax, r9d
mov dword [rbp - 0x5c], edx
lea r8d, [rdx + 8]
mov dword [rsp + 0x6c], r8d
cmp eax, r10d
jge 0x1400c32c1
lea ecx, [r9 + 0x11]
add ecx, r15d
jmp 0x1400c32c1
mov r8d, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x60]
mov edx, dword [rbp - 0x5c]
cmp edx, r8d
jl 0x1400c32cf
lea r8d, [rdx + 0x10]
mov dword [rsp + 0x6c], r8d
mov eax, dword [rbp - 0x60]
add eax, 0x10
mov dword [rbx + 0x58a], 0
cmp ecx, eax
cmovl ecx, eax
sub r8d, dword [rsp + 0x64]
mov dword [rsp + 0x68], ecx
sub ecx, r9d
shl ecx, 2
mov eax, ecx
shl r8d, 3
mov rcx, qword [rsp + 0x48]
cdq
idiv dword [rsp + 0x40]
mov word [rbx + 0x58e], ax
mov eax, r8d
cdq
idiv dword [rsp + 0x44]
mov rdx, qword [rsp + 0x50]
mov word [rbx + 0x590], ax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, rbx
mov rcx, qword [rbp + 0x3d0]
xor rcx, rsp
call fcn.1400ff350
mov rbx, qword [rsp + 0x528]
add rsp, 0x4e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret