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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0x180], rbx
mov r12, rdx
mov r14, rcx
mov edx, r8d
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SetTextColor]
mov edx, 1
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SetBkMode]
lea rdx, [rsp + 0x70]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov r8d, dword [rsp + 0x74]
neg r8d
mov edx, dword [rsp + 0x70]
neg edx
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_OffsetRect]
mov r11d, dword [rsp + 0x7c]
add r11d, 0xfffffffb
mov r9d, dword [rsp + 0x78]
add r9d, 0xfffffffb
mov r8d, dword [rsp + 0x74]
add r8d, 0x1a
mov eax, dword [rsp + 0x70]
lea edx, [rax + 5]
mov dword [rsp + 0x20], r11d
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_ExcludeClipRect]
mov r11d, dword [rsp + 0x74]
add r11d, 0x1a
mov dword [rsp + 0x7c], r11d
xor r15d, r15d
mov dword [rsp + 0x74], r15d
mov ebx, 0xff
cmp qword [0x1402e4a10], r15
je 0x1400ed78b
movzx eax, word [0x1402e4a1c]
test ax, ax
je 0x1400ed6f5
mov edx, dword [rsp + 0x70]
add edx, 9
lea r9d, [rbx - 0x2c]
lea r8d, [r15 + 5]
mov rcx, qword [r12]
call fcn.1400ea2e0
mov ax, word [0x1402e4a1c]
cmp word [0x1402e4a18], r15w
je 0x1400ed78b
test ax, ax
je 0x1400ed76f
mov esi, dword [rsp + 0x70]
mov ecx, ebx
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rbx, rax
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdi, rax
lea r9d, [rsi + 0x13]
lea edx, [rsi + 0xb]
mov dword [rsp + 0x20], reloc.WS2_32.dll_ntohs
mov r8d, 7
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_Ellipse]
mov rdx, rdi
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
test rbx, rbx
je 0x1400ed768
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
mov ebx, 0xff
jmp 0x1400ed78b
mov ebx, 0xff
jmp 0x1400ed78b
mov edx, dword [rsp + 0x70]
add edx, 9
mov r9d, 0xd2
mov r8d, 5
mov rcx, qword [r12]
call fcn.1400ea2e0
mov ebp, 0x80
or rdi, 0xffffffffffffffff
lea rsi, [0x1402db5e0]
cmp qword [r14 + 0x298], r15
jne 0x1400eda32
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x1400ed91b
lea rax, [0x14023ddc0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 0x2bc
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdi - 0xb]
call qword [sym.imp.GDI32.dll_CreateFontW]
mov rbx, rax
mov qword [rsp + 0x188], rax
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov r15, rax
mov r13, qword [0x1402e4a90]
mov edi, ebp
nop dword [rax]
movsxd rcx, edi
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1401e74e4
mov rsi, rax
test rax, rax
je 0x1400ed88d
mov r9d, edi
mov r8, rax
mov edx, ebp
mov rcx, r13
call qword [sym.imp.USER32.dll_LoadStringW]
lea ecx, [rdi - 1]
cmp eax, ecx
jl 0x1400ed884
mov rcx, rsi
call fcn.1401e6538
xor esi, esi
add edi, edi
cmp edi, 0x19000
jl 0x1400ed830
jmp 0x1400ed88d
mov dword [rsp + 0x88], edi
jmp 0x1400ed898
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x80], rsi
lea rdx, str._10.1
lea rcx, [rsp + 0x80]
call fcn.1400e9c80
lea rdx, [0x14023ce88]
mov rdi, qword [rsp + 0x80]
test rdi, rdi
cmovne rdx, rdi
mov dword [rsp + 0x20], 0x25
lea r9, [rsp + 0x70]
or r8d, 0xffffffff
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_DrawTextW]
nop
test rdi, rdi
je 0x1400ed8f3
mov rcx, rdi
call fcn.1401e6538
mov rdx, r15
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
nop
test rbx, rbx
je 0x1400edcfd
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
xor r15d, r15d
jmp 0x1400edd00
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x31]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov r13, rax
mov rsi, qword [0x1402e4a90]
mov ebx, ebp
jmp 0x1400ed954
or rdi, 0xffffffffffffffff
movsxd rcx, ebx
mov eax, 2
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1401e74e4
mov rdi, rax
test rax, rax
je 0x1400ed9ab
mov r9d, ebx
mov r8, rax
mov edx, ebp
mov rcx, rsi
call qword [sym.imp.USER32.dll_LoadStringW]
lea ecx, [rbx - 1]
cmp eax, ecx
jl 0x1400ed9a2
mov rcx, rdi
call fcn.1401e6538
mov rdi, r15
add ebx, ebx
cmp ebx, 0x19000
jl 0x1400ed950
jmp 0x1400ed9ab
mov dword [rsp + 0x98], ebx
jmp 0x1400ed9b3
mov dword [rsp + 0x98], r15d
mov qword [rsp + 0x90], rdi
lea rdx, str._10.1
lea rcx, [rsp + 0x90]
call fcn.1400e9c80
mov edx, __WSAFDIsSet
lea rcx, [rsp + 0x90]
call fcn.1400eb370
lea rdx, [0x14023ce88]
mov rbx, qword [rsp + 0x90]
test rbx, rbx
cmovne rdx, rbx
mov dword [rsp + 0x20], 0x25
lea r9, [rsp + 0x70]
or r8d, 0xffffffff
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_DrawTextW]
nop
test rbx, rbx
je 0x1400eda20
mov rcx, rbx
call fcn.1401e6538
mov rdx, r13
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
jmp 0x1400edd00
movsxd rax, dword [r14 + 0x370]
add rax, rax
mov edx, dword [rsi + rax*8]
movzx r11d, dl
movzx eax, dx
shr ax, 8
movzx r9d, al
sub r9d, 0x3c
mov eax, edx
shr eax, 0x10
movzx r10d, al
sub r10d, 0x46
sub r11d, 0x32
jns 0x1400eda6a
mov r11d, r15d
jmp 0x1400eda71
cmp r11d, ebx
cmovg r11d, ebx
test r9d, r9d
jns 0x1400eda7b
mov r9d, r15d
jmp 0x1400eda82
cmp r9d, ebx
cmovg r9d, ebx
test r10d, r10d
jns 0x1400eda8c
mov r10d, r15d
jmp 0x1400eda93
cmp r10d, ebx
cmovg r10d, ebx
movzx r8d, dl
movzx eax, dx
shr ax, 8
movzx ecx, al
add ecx, 0x46
shr edx, 0x10
movzx edx, dl
add edx, 0x50
add r8d, 0x3c
jns 0x1400edab8
mov r8d, r15d
jmp 0x1400edabf
cmp r8d, ebx
cmovg r8d, ebx
test ecx, ecx
jns 0x1400edac8
mov ecx, r15d
jmp 0x1400edacd
cmp ecx, ebx
cmovg ecx, ebx
test edx, edx
jns 0x1400edad6
mov edx, r15d
jmp 0x1400edadb
cmp edx, ebx
cmovg edx, ebx
movzx r9d, r9b
shl r9d, 8
movzx eax, r10b
shl eax, 0x10
or r9d, eax
movzx eax, r11b
or r9d, eax
movzx ecx, cl
shl ecx, 8
movzx eax, dl
shl eax, 0x10
or ecx, eax
movzx eax, r8b
or ecx, eax
mov eax, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x74]
sub eax, r8d
sub eax, 4
add r8d, 3
mov edx, dword [rsp + 0x70]
add edx, 3
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov r9d, 2
mov rcx, r12
call fcn.1400ebec0
movsxd r11, dword [r14 + 0x370]
add r11, r11
mov edx, dword [rsi + r11*8]
movzx r11d, dl
movzx eax, dx
shr ax, 8
movzx r9d, al
sub r9d, 0x3c
mov eax, edx
shr eax, 0x10
movzx r10d, al
sub r10d, 0x46
sub r11d, 0x32
jns 0x1400edb76
mov r11d, r15d
jmp 0x1400edb7d
cmp r11d, ebx
cmovg r11d, ebx
test r9d, r9d
jns 0x1400edb87
mov r9d, r15d
jmp 0x1400edb8e
cmp r9d, ebx
cmovg r9d, ebx
test r10d, r10d
jns 0x1400edb98
mov r10d, r15d
jmp 0x1400edb9f
cmp r10d, ebx
cmovg r10d, ebx
movzx r8d, dl
movzx eax, dx
shr ax, 8
movzx ecx, al
add ecx, 0x46
shr edx, 0x10
movzx edx, dl
add edx, 0x50
add r8d, 0x3c
jns 0x1400edbc4
mov r8d, r15d
jmp 0x1400edbcb
cmp r8d, ebx
cmovg r8d, ebx
test ecx, ecx
jns 0x1400edbd4
mov ecx, r15d
jmp 0x1400edbd9
cmp ecx, ebx
cmovg ecx, ebx
test edx, edx
jns 0x1400edbe2
mov edx, r15d
jmp 0x1400edbe7
cmp edx, ebx
cmovg edx, ebx
movzx r9d, r9b
shl r9d, 8
movzx eax, r10b
shl eax, 0x10
or r9d, eax
movzx eax, r11b
or r9d, eax
movzx ecx, cl
shl ecx, 8
movzx eax, dl
shl eax, 0x10
or ecx, eax
movzx eax, r8b
or ecx, eax
mov eax, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x74]
sub eax, r8d
sub eax, 4
add r8d, 3
mov edx, dword [rsp + 0x70]
add edx, 6
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov r9d, 2
mov rcx, r12
call fcn.1400ebec0
cmp dword [r14 + 0x2bc], r15d
je 0x1400edd00
mov eax, dword [rsp + 0x70]
add eax, 7
mov dword [rsp + 0x70], eax
cmp qword [0x1402e4a10], r15
jne 0x1400edc86
lea edx, [rax + 2]
mov r9d, 0xca
mov r8d, 7
mov rcx, qword [r12]
call fcn.1400ea2e0
mov eax, dword [rsp + 0x70]
add eax, 0x14
mov dword [rsp + 0x70], eax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x31]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rbx, rax
mov r8d, dword [r14 + 0x2bc]
lea rdx, [0x1402a94e0]
lea rcx, [rsp + 0xa8]
call fcn.1400e95f0
mov dword [rsp + 0x20], 0x24
lea r9, [rsp + 0x70]
mov r8d, edi
lea rdx, [rsp + 0xa8]
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_DrawTextW]
mov rdx, rbx
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
jmp 0x1400edd00
xor r15d, r15d
mov edx, dword [rsp + 0x78]
add edx, 0xffffffe6
mov r9d, 0xcd
mov r8d, 5
mov rcx, qword [r12]
call fcn.1400ea2e0
mov edx, dword [rsp + 0x78]
add edx, 0xffffffc2
mov r9d, 0xd1
mov r8d, 5
mov rcx, qword [r12]
call fcn.1400ea2e0
cmp dword [0x1402e47d8], 0
je 0x1400edd9b
mov edx, 0x7f06
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadIconW]
test rax, rax
je 0x1400edd9b
mov edx, 4
mov ecx, 0x3c
cmp qword [r14 + 0x298], 0
cmovne edx, ecx
mov dword [rsp + 0x40], 3
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
mov r9, rax
lea r8d, [rcx - 0x36]
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_DrawIconEx]
cmp byte [r14 + 0x2b4], 5
jne 0x1400ee008
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x80], xmm0
mov r15d, dword [rsp + 0x78]
add r15d, 0xffffffdc
mov edi, dword [rsp + 0x88]
sub edi, 2
mov r13d, dword [rsp + 0x84]
add r13d, 2
mov esi, dword [rsp + 0x8c]
sub esi, 2
cmp byte [r14 + 0x2b5], 1
jne 0x1400edefe
movsxd rax, dword [r14 + 0x370]
add rax, rax
lea rcx, [0x1402db5e0]
mov edx, dword [rcx + rax*8]
movzx ebx, dl
movzx eax, dx
shr ax, 8
movzx r9d, al
add r9d, 0x46
mov eax, edx
shr eax, 0x10
movzx r11d, al
add r11d, 0x50
add ebx, 0x3c
jns 0x1400ede30
xor ebx, ebx
mov r10d, 0xff
jmp 0x1400ede3d
mov r10d, 0xff
cmp ebx, r10d
cmovg ebx, r10d
test r9d, r9d
jns 0x1400ede47
xor r9d, r9d
jmp 0x1400ede4e
cmp r9d, r10d
cmovg r9d, r10d
test r11d, r11d
jns 0x1400ede58
xor r11d, r11d
jmp 0x1400ede5f
cmp r11d, r10d
cmovg r11d, r10d
movzx r8d, dl
movzx eax, dx
shr ax, 8
movzx ecx, al
sub ecx, 0x3c
shr edx, 0x10
movzx edx, dl
sub edx, 0x46
sub r8d, 0x32
jns 0x1400ede84
xor r8d, r8d
jmp 0x1400ede8b
cmp r8d, r10d
cmovg r8d, r10d
test ecx, ecx
jns 0x1400ede93
xor ecx, ecx
jmp 0x1400ede9a
cmp ecx, r10d
cmovg ecx, r10d
test edx, edx
jns 0x1400edea2
xor edx, edx
jmp 0x1400edea9
cmp edx, r10d
cmovg edx, r10d
movzx r10d, r9b
shl r10d, 8
movzx eax, r11b
shl eax, 0x10
or r10d, eax
movzx eax, bl
or r10d, eax
movzx ecx, cl
shl ecx, 8
movzx eax, dl
shl eax, 0x10
or ecx, eax
movzx eax, r8b
or ecx, eax
sub esi, r13d
sub edi, r15d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], esi
mov r9d, edi
mov r8d, r13d
mov edx, r15d
mov rcx, r12
call fcn.1400ebec0
jmp 0x1400ee008
movsxd rax, dword [r14 + 0x370]
add rax, rax
lea rcx, [0x1402db5e0]
mov r8d, dword [rcx + rax*8]
movzx r11d, r8b
movzx eax, r8w
shr ax, 8
movzx edx, al
sub edx, 0x3c
mov eax, r8d
shr eax, 0x10
movzx r10d, al
sub r10d, 0x46
sub r11d, 0x32
jns 0x1400edf43
xor r11d, r11d
mov ebx, 0xff
jmp 0x1400edf4f
mov ebx, 0xff
cmp r11d, ebx
cmovg r11d, ebx
test edx, edx
jns 0x1400edf57
xor edx, edx
jmp 0x1400edf5c
cmp edx, ebx
cmovg edx, ebx
test r10d, r10d
jns 0x1400edf66
xor r10d, r10d
jmp 0x1400edf6d
cmp r10d, ebx
cmovg r10d, ebx
movzx r9d, r8b
movzx eax, r8w
shr ax, 8
movzx ecx, al
add ecx, 0x46
shr r8d, 0x10
movzx r8d, r8b
add r8d, 0x50
add r9d, 0x3c
jns 0x1400edf96
xor r9d, r9d
jmp 0x1400edf9d
cmp r9d, ebx
cmovg r9d, ebx
test ecx, ecx
jns 0x1400edfa5
xor ecx, ecx
jmp 0x1400edfaa
cmp ecx, ebx
cmovg ecx, ebx
test r8d, r8d
jns 0x1400edfb4
xor r8d, r8d
jmp 0x1400edfbb
cmp r8d, ebx
cmovg r8d, ebx
movzx edx, dl
shl edx, 8
movzx eax, r10b
shl eax, 0x10
or edx, eax
movzx eax, r11b
or edx, eax
movzx ecx, cl
shl ecx, 8
movzx eax, r8b
shl eax, 0x10
or ecx, eax
movzx eax, r9b
or ecx, eax
sub esi, r13d
sub edi, r15d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], esi
mov r9d, edi
mov r8d, r13d
mov edx, r15d
mov rcx, r12
call fcn.1400ebec0
mov rcx, qword [r14 + 0x1f8]
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [rsp + 0x170], eax
mov ecx, dword [r14 + 0x1f0]
mov dword [rsp + 0x178], ecx
mov r11d, dword [rsp + 0x78]
lea r15d, [r11 - 0x48]
mov dword [rsp + 0x70], r15d
sub r11d, 0x26
mov dword [rsp + 0x78], r11d
mov esi, dword [rsp + 0x74]
add esi, 2
mov dword [rsp + 0x74], esi
mov r13d, dword [rsp + 0x7c]
sub r13d, 2
mov dword [rsp + 0x7c], r13d
cmp byte [r14 + 0x2b4], 8
je 0x1400ee06e
test eax, eax
je 0x1400ee29b
jmp 0x1400ee076
test eax, eax
je 0x1400ee18c
movsxd rax, dword [r14 + 0x370]
add rax, rax
lea rcx, [0x1402db5e0]
mov edx, dword [rcx + rax*8]
movzx edi, dl
movzx eax, dx
shr ax, 8
movzx r9d, al
add r9d, 0x46
mov eax, edx
shr eax, 0x10
movzx ebx, al
add ebx, 0x50
add edi, 0x3c
jns 0x1400ee0b6
xor edi, edi
mov r10d, 0xff
jmp 0x1400ee0c3
mov r10d, 0xff
cmp edi, r10d
cmovg edi, r10d
test r9d, r9d
jns 0x1400ee0cd
xor r9d, r9d
jmp 0x1400ee0d4
cmp r9d, r10d
cmovg r9d, r10d
test ebx, ebx
jns 0x1400ee0dc
xor ebx, ebx
jmp 0x1400ee0e3
cmp ebx, r10d
cmovg ebx, r10d
movzx r8d, dl
movzx eax, dx
shr ax, 8
movzx ecx, al
sub ecx, 0x3c
shr edx, 0x10
movzx edx, dl
sub edx, 0x46
sub r8d, 0x32
jns 0x1400ee108
xor r8d, r8d
jmp 0x1400ee10f
cmp r8d, r10d
cmovg r8d, r10d
test ecx, ecx
jns 0x1400ee117
xor ecx, ecx
jmp 0x1400ee11e
cmp ecx, r10d
cmovg ecx, r10d
test edx, edx
jns 0x1400ee126
xor edx, edx
jmp 0x1400ee12d
cmp edx, r10d
cmovg edx, r10d
movzx r10d, r9b
shl r10d, 8
movzx eax, bl
shl eax, 0x10
or r10d, eax
movzx eax, dil
or r10d, eax
movzx ecx, cl
shl ecx, 8
movzx eax, dl
shl eax, 0x10
or ecx, eax
movzx eax, r8b
or ecx, eax
sub r13d, esi
sub r11d, r15d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r13d
mov r9d, r11d
mov r8d, esi
mov edx, r15d
mov rcx, r12
call fcn.1400ebec0
mov r11d, dword [rsp + 0x78]
mov esi, dword [rsp + 0x74]
jmp 0x1400ee29b
movsxd rax, dword [r14 + 0x370]
add rax, rax
lea rcx, [0x1402db5e0]
mov r8d, dword [rcx + rax*8]
movzx ebx, r8b
movzx eax, r8w
shr ax, 8
movzx edx, al
sub edx, 0x3c
mov eax, r8d
shr eax, 0x10
movzx r10d, al
sub r10d, 0x46
sub ebx, 0x32
jns 0x1400ee1cf
xor ebx, ebx
mov edi, 0xff
jmp 0x1400ee1d9
mov edi, 0xff
cmp ebx, edi
cmovg ebx, edi
test edx, edx
jns 0x1400ee1e1
xor edx, edx
jmp 0x1400ee1e6
cmp edx, edi
cmovg edx, edi
test r10d, r10d
jns 0x1400ee1f0
xor r10d, r10d
jmp 0x1400ee1f7
cmp r10d, edi
cmovg r10d, edi
movzx r9d, r8b
movzx eax, r8w
shr ax, 8
movzx ecx, al
add ecx, 0x46
shr r8d, 0x10
movzx r8d, r8b
add r8d, 0x50
add r9d, 0x3c
jns 0x1400ee220
xor r9d, r9d
jmp 0x1400ee227
cmp r9d, edi
cmovg r9d, edi
test ecx, ecx
jns 0x1400ee22f
xor ecx, ecx
jmp 0x1400ee234
cmp ecx, edi
cmovg ecx, edi
test r8d, r8d
jns 0x1400ee23e
xor r8d, r8d
jmp 0x1400ee245
cmp r8d, edi
cmovg r8d, edi
movzx edx, dl
shl edx, 8
movzx eax, r10b
shl eax, 0x10
or edx, eax
movzx eax, bl
or edx, eax
movzx ecx, cl
shl ecx, 8
movzx eax, r8b
shl eax, 0x10
or ecx, eax
movzx eax, r9b
or ecx, eax
sub r13d, esi
sub r11d, r15d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r13d
mov r9d, r11d
mov r8d, esi
mov edx, r15d
mov rcx, r12
call fcn.1400ebec0
mov r11d, dword [rsp + 0x78]
mov esi, dword [rsp + 0x74]
cmp qword [r14 + 0x298], 0
jne 0x1400ee40a
cmp byte [r14 + 0x2bb], 0
jne 0x1400ee404
mov eax, dword [r14 + 0x178]
cmp eax, 0x65
jle 0x1400ee3f5
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x31]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rsi, rax
mov edx, dword [rsp + 0x70]
sub edx, 0x32
mov dword [rsp + 0x70], edx
lea r9d, [rdx + 0x32]
mov dword [rsp + 0x78], r9d
mov ecx, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x74]
sub ecx, r8d
sub r9d, edx
mov dword [rsp + 0x30], 0xdd00
mov dword [rsp + 0x28], 0xdd00
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.1400ebec0
mov rdi, qword [0x1402e4a90]
or r13, 0xffffffffffffffff
nop word [rax + rax]
movsxd rcx, ebp
mov eax, 2
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1401e74e4
mov rbx, rax
test rax, rax
je 0x1400ee39a
mov r9d, ebp
mov r8, rax
mov edx, 0xba
mov rcx, rdi
call qword [sym.imp.USER32.dll_LoadStringW]
lea ecx, [rbp - 1]
cmp eax, ecx
jl 0x1400ee390
mov rcx, rbx
call fcn.1401e6538
xor ebx, ebx
add ebp, ebp
cmp ebp, 0x19000
jl 0x1400ee340
jmp 0x1400ee39a
test rbx, rbx
je 0x1400ee39a
mov rax, rbx
jmp 0x1400ee3a1
lea rax, [0x14023ce88]
mov dword [rsp + 0x20], 0x25
lea r9, [rsp + 0x70]
mov r8d, r13d
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_DrawTextW]
test rbx, rbx
je 0x1400ee3cb
mov rcx, rbx
call fcn.1401e6538
mov rdx, rsi
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov r11d, dword [rsp + 0x70]
add r11d, 0x32
mov dword [rsp + 0x70], r11d
add r11d, 0x24
mov dword [rsp + 0x78], r11d
mov esi, dword [rsp + 0x74]
jmp 0x1400ee40e
mov r11d, dword [rsp + 0x78]
mov esi, dword [rsp + 0x74]
or r13, 0xffffffffffffffff
jmp 0x1400ee40e
or r13, 0xffffffffffffffff
jmp 0x1400ee40e
or r13, 0xffffffffffffffff
cmp dword [rsp + 0x170], 0
jne 0x1400ee525
mov ebp, dword [rsp + 0x178]
test ebp, ebp
je 0x1400ee525
lea eax, [r11 - 0x12]
mov dword [rsp + 0x70], eax
lea eax, [rsi + 0x12]
mov dword [rsp + 0x7c], eax
mov ecx, 0xff
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rbx, rax
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdi, rax
mov ecx, dword [rsp + 0x7c]
mov dword [rsp + 0x20], ecx
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x74]
mov edx, dword [rsp + 0x70]
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_Ellipse]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x31]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rsi, rax
cmp ebp, 0x64
jae 0x1400ee4dc
mov r8d, ebp
lea rdx, [0x1402a94e0]
lea rcx, [rsp + 0xe8]
call fcn.1400e95f0
mov dword [rsp + 0x20], 0x25
lea r9, [rsp + 0x70]
mov r8d, r13d
lea rdx, [rsp + 0xe8]
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_DrawTextW]
jmp 0x1400ee4fd
mov dword [rsp + 0x20], 0x21
lea r9, [rsp + 0x70]
mov r8d, r13d
lea rdx, [0x14023dda8]
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_DrawTextW]
mov rdx, rsi
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, rdi
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
test rbx, rbx
je 0x1400ee525
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
xor edx, edx
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectClipRgn]
mov rbx, qword [rsp + 0x180]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret