Function at 0x1400e9180
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 [0x1402e2dc0], r15
je 0x1400e930b
movzx eax, word [0x1402e2dcc]
test ax, ax
je 0x1400e9275
mov edx, dword [rsp + 0x70]
add edx, 9
lea r9d, [rbx - 0x2c]
lea r8d, [r15 + 5]
mov rcx, qword [r12]
call fcn.1400e5e20
mov ax, word [0x1402e2dcc]
cmp word [0x1402e2dc8], r15w
je 0x1400e930b
test ax, ax
je 0x1400e92ef
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 0x1400e92e8
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
mov ebx, 0xff
jmp 0x1400e930b
mov ebx, 0xff
jmp 0x1400e930b
mov edx, dword [rsp + 0x70]
add edx, 9
mov r9d, 0xd2
mov r8d, 5
mov rcx, qword [r12]
call fcn.1400e5e20
mov ebp, 0x80
or rdi, 0xffffffffffffffff
lea rsi, [0x1402d9680]
cmp qword [r14 + 0x2a0], r15
jne 0x1400e95b2
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x1400e949b
lea rax, [0x14023aed0]
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 [0x1402e2df0]
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.1401e3608
mov rsi, rax
test rax, rax
je 0x1400e940d
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 0x1400e9404
mov rcx, rsi
call fcn.1401e3600
xor esi, esi
add edi, edi
cmp edi, 0x19000
jl 0x1400e93b0
jmp 0x1400e940d
mov dword [rsp + 0x88], edi
jmp 0x1400e9418
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x80], rsi
lea rdx, str._10.2
lea rcx, [rsp + 0x80]
call fcn.1400e56d0
lea rdx, [0x140239da0]
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 0x1400e9473
mov rcx, rdi
call fcn.1401e3600
mov rdx, r15
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
nop
test rbx, rbx
je 0x1400e987d
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
xor r15d, r15d
jmp 0x1400e9880
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 [0x1402e2df0]
mov ebx, ebp
jmp 0x1400e94d4
or rdi, 0xffffffffffffffff
movsxd rcx, ebx
mov eax, 2
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1401e3608
mov rdi, rax
test rax, rax
je 0x1400e952b
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 0x1400e9522
mov rcx, rdi
call fcn.1401e3600
mov rdi, r15
add ebx, ebx
cmp ebx, 0x19000
jl 0x1400e94d0
jmp 0x1400e952b
mov dword [rsp + 0x98], ebx
jmp 0x1400e9533
mov dword [rsp + 0x98], r15d
mov qword [rsp + 0x90], rdi
lea rdx, str._10.2
lea rcx, [rsp + 0x90]
call fcn.1400e56d0
mov edx, __WSAFDIsSet
lea rcx, [rsp + 0x90]
call fcn.1400e6f30
lea rdx, [0x140239da0]
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 0x1400e95a0
mov rcx, rbx
call fcn.1401e3600
mov rdx, r13
mov rcx, qword [r12]
call qword [sym.imp.GDI32.dll_SelectObject]
jmp 0x1400e9880
movsxd rax, dword [r14 + 0x378]
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 0x1400e95ea
mov r11d, r15d
jmp 0x1400e95f1
cmp r11d, ebx
cmovg r11d, ebx
test r9d, r9d
jns 0x1400e95fb
mov r9d, r15d
jmp 0x1400e9602
cmp r9d, ebx
cmovg r9d, ebx
test r10d, r10d
jns 0x1400e960c
mov r10d, r15d
jmp 0x1400e9613
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 0x1400e9638
mov r8d, r15d
jmp 0x1400e963f
cmp r8d, ebx
cmovg r8d, ebx
test ecx, ecx
jns 0x1400e9648
mov ecx, r15d
jmp 0x1400e964d
cmp ecx, ebx
cmovg ecx, ebx
test edx, edx
jns 0x1400e9656
mov edx, r15d
jmp 0x1400e965b
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.1400e7a60
movsxd r11, dword [r14 + 0x378]
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 0x1400e96f6
mov r11d, r15d
jmp 0x1400e96fd
cmp r11d, ebx
cmovg r11d, ebx
test r9d, r9d
jns 0x1400e9707
mov r9d, r15d
jmp 0x1400e970e
cmp r9d, ebx
cmovg r9d, ebx
test r10d, r10d
jns 0x1400e9718
mov r10d, r15d
jmp 0x1400e971f
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 0x1400e9744
mov r8d, r15d
jmp 0x1400e974b
cmp r8d, ebx
cmovg r8d, ebx
test ecx, ecx
jns 0x1400e9754
mov ecx, r15d
jmp 0x1400e9759
cmp ecx, ebx
cmovg ecx, ebx
test edx, edx
jns 0x1400e9762
mov edx, r15d
jmp 0x1400e9767
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.1400e7a60
cmp dword [r14 + 0x2c4], r15d
je 0x1400e9880
mov eax, dword [rsp + 0x70]
add eax, 7
mov dword [rsp + 0x70], eax
cmp qword [0x1402e2dc0], r15
jne 0x1400e9806
lea edx, [rax + 2]
mov r9d, 0xca
mov r8d, 7
mov rcx, qword [r12]
call fcn.1400e5e20
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 + 0x2c4]
lea rdx, [0x1402a6820]
lea rcx, [rsp + 0xa8]
call fcn.1400e5070
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 0x1400e9880
xor r15d, r15d
mov edx, dword [rsp + 0x78]
add edx, 0xffffffe6
mov r9d, 0xcd
mov r8d, 5
mov rcx, qword [r12]
call fcn.1400e5e20
mov edx, dword [rsp + 0x78]
add edx, 0xffffffc2
mov r9d, 0xd1
mov r8d, 5
mov rcx, qword [r12]
call fcn.1400e5e20
cmp dword [0x1402e2b58], 0
je 0x1400e991b
mov edx, 0x7f06
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadIconW]
test rax, rax
je 0x1400e991b
mov edx, 4
mov ecx, 0x3c
cmp qword [r14 + 0x2a0], 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 + 0x2bc], 5
jne 0x1400e9b88
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 + 0x2bd], 1
jne 0x1400e9a7e
movsxd rax, dword [r14 + 0x378]
add rax, rax
lea rcx, [0x1402d9680]
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 0x1400e99b0
xor ebx, ebx
mov r10d, 0xff
jmp 0x1400e99bd
mov r10d, 0xff
cmp ebx, r10d
cmovg ebx, r10d
test r9d, r9d
jns 0x1400e99c7
xor r9d, r9d
jmp 0x1400e99ce
cmp r9d, r10d
cmovg r9d, r10d
test r11d, r11d
jns 0x1400e99d8
xor r11d, r11d
jmp 0x1400e99df
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 0x1400e9a04
xor r8d, r8d
jmp 0x1400e9a0b
cmp r8d, r10d
cmovg r8d, r10d
test ecx, ecx
jns 0x1400e9a13
xor ecx, ecx
jmp 0x1400e9a1a
cmp ecx, r10d
cmovg ecx, r10d
test edx, edx
jns 0x1400e9a22
xor edx, edx
jmp 0x1400e9a29
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.1400e7a60
jmp 0x1400e9b88
movsxd rax, dword [r14 + 0x378]
add rax, rax
lea rcx, [0x1402d9680]
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 0x1400e9ac3
xor r11d, r11d
mov ebx, 0xff
jmp 0x1400e9acf
mov ebx, 0xff
cmp r11d, ebx
cmovg r11d, ebx
test edx, edx
jns 0x1400e9ad7
xor edx, edx
jmp 0x1400e9adc
cmp edx, ebx
cmovg edx, ebx
test r10d, r10d
jns 0x1400e9ae6
xor r10d, r10d
jmp 0x1400e9aed
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 0x1400e9b16
xor r9d, r9d
jmp 0x1400e9b1d
cmp r9d, ebx
cmovg r9d, ebx
test ecx, ecx
jns 0x1400e9b25
xor ecx, ecx
jmp 0x1400e9b2a
cmp ecx, ebx
cmovg ecx, ebx
test r8d, r8d
jns 0x1400e9b34
xor r8d, r8d
jmp 0x1400e9b3b
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.1400e7a60
mov rcx, qword [r14 + 0x200]
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [rsp + 0x170], eax
mov ecx, dword [r14 + 0x1f8]
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 + 0x2bc], 8
je 0x1400e9bee
test eax, eax
je 0x1400e9e1b
jmp 0x1400e9bf6
test eax, eax
je 0x1400e9d0c
movsxd rax, dword [r14 + 0x378]
add rax, rax
lea rcx, [0x1402d9680]
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 0x1400e9c36
xor edi, edi
mov r10d, 0xff
jmp 0x1400e9c43
mov r10d, 0xff
cmp edi, r10d
cmovg edi, r10d
test r9d, r9d
jns 0x1400e9c4d
xor r9d, r9d
jmp 0x1400e9c54
cmp r9d, r10d
cmovg r9d, r10d
test ebx, ebx
jns 0x1400e9c5c
xor ebx, ebx
jmp 0x1400e9c63
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 0x1400e9c88
xor r8d, r8d
jmp 0x1400e9c8f
cmp r8d, r10d
cmovg r8d, r10d
test ecx, ecx
jns 0x1400e9c97
xor ecx, ecx
jmp 0x1400e9c9e
cmp ecx, r10d
cmovg ecx, r10d
test edx, edx
jns 0x1400e9ca6
xor edx, edx
jmp 0x1400e9cad
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.1400e7a60
mov r11d, dword [rsp + 0x78]
mov esi, dword [rsp + 0x74]
jmp 0x1400e9e1b
movsxd rax, dword [r14 + 0x378]
add rax, rax
lea rcx, [0x1402d9680]
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 0x1400e9d4f
xor ebx, ebx
mov edi, 0xff
jmp 0x1400e9d59
mov edi, 0xff
cmp ebx, edi
cmovg ebx, edi
test edx, edx
jns 0x1400e9d61
xor edx, edx
jmp 0x1400e9d66
cmp edx, edi
cmovg edx, edi
test r10d, r10d
jns 0x1400e9d70
xor r10d, r10d
jmp 0x1400e9d77
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 0x1400e9da0
xor r9d, r9d
jmp 0x1400e9da7
cmp r9d, edi
cmovg r9d, edi
test ecx, ecx
jns 0x1400e9daf
xor ecx, ecx
jmp 0x1400e9db4
cmp ecx, edi
cmovg ecx, edi
test r8d, r8d
jns 0x1400e9dbe
xor r8d, r8d
jmp 0x1400e9dc5
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.1400e7a60
mov r11d, dword [rsp + 0x78]
mov esi, dword [rsp + 0x74]
cmp qword [r14 + 0x2a0], 0
jne 0x1400e9f8a
cmp byte [r14 + 0x2c3], 0
jne 0x1400e9f84
mov eax, dword [r14 + 0x180]
cmp eax, 0x66
jle 0x1400e9f75
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.1400e7a60
mov rdi, qword [0x1402e2df0]
or r13, 0xffffffffffffffff
nop word [rax + rax]
movsxd rcx, ebp
mov eax, 2
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1401e3608
mov rbx, rax
test rax, rax
je 0x1400e9f1a
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 0x1400e9f10
mov rcx, rbx
call fcn.1401e3600
xor ebx, ebx
add ebp, ebp
cmp ebp, 0x19000
jl 0x1400e9ec0
jmp 0x1400e9f1a
test rbx, rbx
je 0x1400e9f1a
mov rax, rbx
jmp 0x1400e9f21
lea rax, [0x140239da0]
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 0x1400e9f4b
mov rcx, rbx
call fcn.1401e3600
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 0x1400e9f8e
mov r11d, dword [rsp + 0x78]
mov esi, dword [rsp + 0x74]
or r13, 0xffffffffffffffff
jmp 0x1400e9f8e
or r13, 0xffffffffffffffff
jmp 0x1400e9f8e
or r13, 0xffffffffffffffff
cmp dword [rsp + 0x170], 0
jne 0x1400ea0a5
mov ebp, dword [rsp + 0x178]
test ebp, ebp
je 0x1400ea0a5
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 0x1400ea05c
mov r8d, ebp
lea rdx, [0x1402a6820]
lea rcx, [rsp + 0xe8]
call fcn.1400e5070
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 0x1400ea07d
mov dword [rsp + 0x20], 0x21
lea r9, [rsp + 0x70]
mov r8d, r13d
lea rdx, [0x14023aeb8]
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 0x1400ea0a5
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