Function at 0x140004260
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x1a0
mov rax, qword [0x140010008]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov rsi, rdx
mov edx, dword [rcx + 0x240]
mov rbx, rcx
movzx eax, dl
sub eax, 4
je 0x1400044f0
sub eax, 5
je 0x140004430
sub eax, 8
je 0x1400043d0
cmp eax, 1
je 0x140004370
mov dword [rcx + 0x2c8], 1
mov dword [rcx + 0x2c4], 8
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x70], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x74], 6
lea rdi, [rbx + 0x2cc]
mov ecx, 0x40
mov rdx, rdi
jb 0x140004330
lea r8, str.Segoe_UI
sub r8, rdi
nop
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [r8 + rdx]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x140004300
jmp 0x1400045bc
lea r8, [0x14000df60]
sub r8, rdi
nop
nop
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [r8 + rdx]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x140004340
jmp 0x1400045bc
lea rdi, [rbx + 0x2cc]
lea r8, str.Gulim
mov dword [rcx + 0x2c8], 0x81
mov dword [rcx + 0x2c4], 9
mov ecx, 0x40
mov rdx, rdi
sub r8, rdi
nop
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [r8 + rdx]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x1400043a0
jmp 0x1400045bc
lea rdi, [rbx + 0x2cc]
lea r8, str.Ms_UI_Gothic
mov dword [rcx + 0x2c8], 0x80
mov dword [rcx + 0x2c4], 9
mov ecx, 0x40
mov rdx, rdi
sub r8, rdi
nop
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [r8 + rdx]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x140004400
jmp 0x1400045bc
mov dword [rcx + 0x2c8], 1
mov dword [rcx + 0x2c4], 8
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x70], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x74], 6
lea rdi, [rbx + 0x2cc]
mov ecx, 0x40
mov rdx, rdi
jb 0x1400044b0
lea r8, str.Segoe_UI
sub r8, rdi
nop
nop
nop
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [r8 + rdx]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x140004480
jmp 0x1400045bc
lea r8, [0x14000df60]
sub r8, rdi
nop
nop
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [r8 + rdx]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x1400044c0
jmp 0x1400045bc
cmp edx, 0x404
je 0x140004565
cmp edx, 0xc04
je 0x140004565
cmp edx, 0x1404
je 0x140004565
lea rdi, [rbx + 0x2cc]
lea r8, str.Simsun
mov dword [rcx + 0x2c8], 0x86
mov dword [rcx + 0x2c4], 9
mov ecx, 0x40
mov rdx, rdi
sub r8, rdi
nop
nop
nop
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [rdx + r8]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x140004540
jmp 0x1400045bc
lea rdi, [rbx + 0x2cc]
lea r8, str.PMingliu
mov dword [rcx + 0x2c8], 0x88
mov dword [rcx + 0x2c4], 9
mov ecx, 0x40
mov rdx, rdi
sub r8, rdi
lea rax, [rcx + 0x7fffffbe]
test rax, rax
je 0x1400045b7
movzx eax, word [rdx + r8]
test ax, ax
je 0x1400045b7
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x140004592
jmp 0x1400045bc
test rcx, rcx
jne 0x1400045c0
sub rdx, 2
mov rcx, rsi
mov word [rdx], 0
call qword [sym.imp.USER32.dll_GetDC]
mov edx, 0x5a
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, dword [rbx + 0x2c4]
mov r8d, 0x48
mov edx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
cmp qword [rbx + 0x350], 0
jne 0x140004656
mov ecx, dword [rbx + 0x2c8]
mov qword [rsp + 0x68], rdi
xor r8d, r8d
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], 2
mov dword [rsp + 0x50], 0x80
mov dword [rsp + 0x48], 4
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], r8d
neg eax
mov dword [rsp + 0x28], r8d
xor r9d, r9d
xor edx, edx
mov ecx, eax
mov dword [rsp + 0x20], 0x190
call qword [sym.imp.GDI32.dll_CreateFontW]
mov qword [rbx + 0x350], rax
mov r9, qword [rbx + 0x350]
mov edx, 1
mov rcx, rsi
lea r8d, [rdx + 0x2f]
mov qword [rsp + 0x20], 1
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1400046b0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret