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

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x108
mov qword [rax - 0x98], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
mov rax, qword [0x140083bc0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x88], r9d
mov qword [rsp + 0xa8], r8
mov r14, rdx
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x178]
mov eax, dword [rcx + 0xa4]
sub eax, 2
cmp eax, 1
jbe 0x140057363
mov ecx, dword [rdx + 8]
mov r8d, dword [rdx]
mov dword [rsp + 0x84], r8d
lea r9d, [r8 + 5]
mov dword [rsp + 0x70], r9d
mov edi, dword [rdx + 4]
lea esi, [rdi - 0xa5]
mov ebx, dword [rdx + 0xc]
add ebx, 0xfffffff2
lea r15d, [r8 + 0x9b]
add r15d, r9d
mov dword [rsp + 0x30], r15d
lea r13d, [rcx + 7]
mov dword [rsp + 0x80], r13d
lea eax, [rbx - 4]
mov dword [rsp + 0x48], eax
lea eax, [r13 + 2]
mov dword [rsp + 0x44], eax
lea eax, [rcx + 0x2b]
mov dword [rsp + 0x34], eax
xor ecx, ecx
call qword [sym.imp.GDI32.dll_GetStockObject]
nop dword [rax + rax]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
lea ecx, [rbx + r13]
xor eax, eax
cmp esi, edi
cmovbe eax, esi
lea ebx, [rax + r15]
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x20], ecx
mov r9d, ebx
mov r8d, r13d
mov edx, r15d
mov rcx, r14
call qword [sym.imp.GDI32.dll_Rectangle]
nop dword [rax + rax]
cmp dword [rsp + 0x190], 1
jne 0x140057363
lea rcx, [0x140084ff8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop dword [rax + rax]
nop
mov r8, qword [0x140085308]
mov qword [rsp + 0x60], r8
movsd xmm6, qword [0x140085300]
mov eax, dword [0x140085310]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm6
xor eax, eax
movabs r12, 0x8000000000000000
movsd xmm1, qword [0x140071bb0]
comisd xmm0, xmm1
jb 0x14005673e
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005673e
mov rax, r12
cvttsd2si rdx, xmm0
add rdx, rax
add rdx, r8
mov qword [rsp + 0x98], rdx
movsd xmm0, qword [0x140071b88]
divsd xmm0, xmm6
xor eax, eax
comisd xmm0, xmm1
jb 0x140056772
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140056772
mov rax, r12
cvttsd2si rcx, xmm0
add rcx, rax
mov qword [rsp + 0x78], rcx
add ebx, 0xfffffffe
mov dword [rsp + 0x74], ebx
mov rsi, qword [rsp + 0x180]
mov rbx, qword [rsi]
mov r13d, dword [rbx + 0xc]
mov dword [rsp + 0x50], r13d
cmp r8, rdx
je 0x1400572b9
movabs rdi, 0x7fffffffffffffff
cmp rbx, qword [rsi + 8]
je 0x1400572b9
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call rax
nop dword [rax]
cmp rax, rdi
jge 0x1400567dd
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call rax
nop dword [rax]
mov rdi, rax
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call rax
nop dword [rax]
cmp rax, r12
jle 0x140056803
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call rax
nop dword [rax]
mov r12, rax
add rbx, 0x28
cmp rbx, qword [rsi + 8]
jne 0x1400567b7
cmp r12, rdi
jle 0x1400572b9
xor r9d, r9d
mov dword [rsp + 0x3c], r9d
mov rax, r12
sub rax, rdi
mov ebp, dword [rsp + 0x170]
lea ecx, [rbp + 1]
movsxd r8, ecx
cqo
idiv r8
mov rbx, rax
xor r15d, r15d
mov rsi, rdi
mov qword [rsp + 0x58], rdi
mov eax, r13d
test r13d, r13d
je 0x140056972
cmp eax, 1
jne 0x14005697d
mov eax, r13d
mov r8d, eax
mov r15d, eax
mov ecx, 0x400
cmp rbx, rcx
jle 0x14005688b
cmp r9d, 4
jae 0x140056894
add r9d, eax
mov dword [rsp + 0x3c], r9d
shr rbx, 0xa
shl r8, 0xa
shl r15, 0xa
cmp rbx, rcx
ja 0x14005686c
cmp rbx, 0x12c
jle 0x1400568bf
lea rcx, [rbx + 0x63]
movabs rax, 0xa3d70a3d70a3d70b
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rbx, rdx, 0x64
jmp 0x140056943
cmp rbx, 0x32
jle 0x1400568ed
lea rcx, [rbx + 0x31]
movabs rax, 0xa3d70a3d70a3d70b
imul rcx
add rdx, rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rbx, rdx, 0x32
jmp 0x140056943
cmp rbx, 0xa
jle 0x14005691b
lea rcx, [rbx + 9]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rbx, [rdx + rdx*4]
add rbx, rbx
jmp 0x140056943
cmp rbx, 3
jle 0x140056943
lea rcx, [rbx + 4]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rbx, [rdx + rdx*4]
imul rbx, r8
mov rax, rsi
cqo
idiv rbx
sub rsi, rdx
mov rax, rbx
sub rax, rsi
dec r12
add rax, r12
cqo
idiv rbx
lea ebp, [rax - 1]
movsxd r12, eax
imul r12, rbx
add r12, rsi
jmp 0x140056978
mov r15d, 1
mov qword [rsp + 0x58], rsi
sub r12, rsi
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rdx + 0x18]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov rdx, qword [0x140087258]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov edx, 1
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetBkMode]
nop dword [rax + rax]
mov edx, 2
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetTextAlign]
nop dword [rax + rax]
add ebp, 2
lea rax, [rsi - 1]
xor r13d, r13d
test ebp, ebp
jle 0x140056b36
mov rdi, rsi
cmp rdi, rax
je 0x140056b27
mov rax, rdi
sub rax, rsi
mov r8d, dword [rsp + 0x48]
imul rax, r8
cqo
idiv r12
mov esi, r8d
sub esi, eax
add esi, dword [rsp + 0x44]
test r13d, r13d
je 0x140056a5a
lea eax, [rbp - 1]
cmp r13d, eax
jge 0x140056a5a
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x10]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
lea eax, [rsi + 2]
mov edx, dword [rsp + 0x30]
inc edx
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, esi
mov rcx, r14
call qword [sym.imp.GDI32.dll_Rectangle]
nop dword [rax + rax]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 8]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov rax, rdi
cqo
idiv r15
mov rcx, rax
mov r9d, 0xa
lea r8d, [r9 + 0x14]
lea rdx, [rsp + 0xb8]
call qword [sym.imp.msvcrt.dll__i64toa_s]
nop dword [rax + rax]
cmp dword [rsp + 0x50], 1
jne 0x140056ac4
mov r8d, dword [rsp + 0x3c]
lea rax, [0x140067198]
mov r8, qword [rax + r8*8]
mov edx, 0x1e
lea rcx, [rsp + 0xb8]
call fcn.140001c84
mov edx, 0x1e
lea rax, [rsp + 0xb8]
cmp byte [rax], 0
je 0x140056adf
inc rax
sub rdx, 1
jne 0x140056ad1
mov rax, rdx
mov ecx, 0x1e
sub rcx, rdx
neg rax
sbb r9, r9
and r9, rcx
test rdx, rdx
je 0x140056b1f
lea r8d, [rsi - 6]
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0xb8]
mov edx, dword [rsp + 0x30]
add edx, 0xfffffffa
mov rcx, r14
call qword [sym.imp.GDI32.dll_TextOutA]
nop dword [rax + rax]
mov rsi, qword [rsp + 0x58]
mov rax, rdi
inc r13d
add rdi, rbx
cmp r13d, ebp
jl 0x1400569eb
and dword [rsp + 0x50], 0
mov rax, qword [rsp + 0x180]
mov rbx, qword [rax]
mov qword [rsp + 0x90], rbx
cmp rbx, qword [rax + 8]
je 0x1400572b9
mov r13d, dword [rsp + 0x70]
mov dword [rsp + 0x3c], r13d
mov rdi, qword [rsp + 0x60]
add rdi, qword [rsp + 0x78]
mov qword [rsp + 0xa0], rdi
mov rbp, qword [rsp + 0x98]
sub rbp, qword [rsp + 0x78]
mov qword [rsp + 0x98], rbp
mov ecx, dword [rsp + 0x34]
lea eax, [rcx + 3]
mov dword [rsp + 0x38], eax
add ecx, 0x13
mov dword [rsp + 0x4c], ecx
mov r15, qword [rbx]
mov rax, qword [r15]
mov rax, qword [rax + 0x40]
mov rcx, r15
call rax
nop dword [rax]
mov rsi, qword [rax]
mov rax, qword [r15]
mov rax, qword [rax + 0x10]
mov rdx, rdi
mov rcx, r15
call rax
nop dword [rax]
mov edi, eax
shl rdi, 4
add rdi, rsi
mov rax, qword [r15]
mov rax, qword [rax + 0x40]
mov rcx, r15
call rax
nop dword [rax]
mov rsi, qword [rax]
mov rax, qword [r15]
mov rax, qword [rax + 0x10]
mov rdx, rbp
mov rcx, r15
call rax
nop dword [rax]
mov ebp, eax
shl rbp, 4
add rbp, 0x10
add rbp, rsi
cmp byte [rbx + 0x11], 0
je 0x140056c66
mov rax, qword [r15]
mov rax, qword [rax + 0x40]
mov rcx, r15
call rax
nop dword [rax]
mov rax, qword [rax]
add rax, 0x10
cmp rax, rdi
jb 0x140056c33
mov rax, qword [r15]
mov rax, qword [rax + 0x40]
mov rcx, r15
call rax
nop dword [rax]
mov rdi, qword [rax]
add rdi, 0x10
mov rax, qword [r15]
mov rax, qword [rax + 0x40]
mov rcx, r15
call rax
nop dword [rax]
mov rax, qword [rax + 8]
sub rax, 0x20
cmp rbp, rax
jb 0x140056c66
mov rax, qword [r15]
mov rax, qword [rax + 0x40]
mov rcx, r15
call rax
nop dword [rax]
mov rbp, qword [rax + 8]
sub rbp, 0x20
cmp rdi, rbp
jae 0x14005728b
mov ecx, dword [rbx + 8]
sub ecx, 1
je 0x140056dcb
cmp ecx, 1
jne 0x140056ed4
mov rdx, qword [rbx + 0x18]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 8]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
lea r9d, [r13 + 0x13]
mov r15d, dword [rsp + 0x4c]
mov dword [rsp + 0x20], r15d
mov r8d, dword [rsp + 0x34]
mov edx, r13d
mov rcx, r14
call qword [sym.imp.GDI32.dll_Rectangle]
nop dword [rax + rax]
mov rdx, qword [0x140087258]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov edx, 1
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetBkMode]
nop dword [rax + rax]
xor edx, edx
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetTextAlign]
nop dword [rax + rax]
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x58]
call rax
nop dword [rax]
test rax, rax
je 0x140056d7e
mov ecx, 0x104
mov edx, ecx
cmp byte [rax], 0
je 0x140056d38
inc rax
sub rdx, 1
jne 0x140056d2a
mov rax, rdx
sub rcx, rdx
neg rax
sbb rsi, rsi
and rsi, rcx
test rdx, rdx
je 0x140056d7e
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x58]
call rax
nop dword [rax]
mov r9, rax
lea edx, [r13 + 4]
mov dword [rsp + 0x20], esi
mov esi, dword [rsp + 0x38]
mov r8d, esi
mov rcx, r14
call qword [sym.imp.GDI32.dll_TextOutA]
nop dword [rax + rax]
jmp 0x140056d82
mov esi, dword [rsp + 0x38]
mov edx, dword [rsp + 0x50]
cmp edx, 5
jne 0x140056da0
add dword [rsp + 0x34], 0x17
add r15d, 0x17
mov dword [rsp + 0x4c], r15d
add esi, 0x17
mov dword [rsp + 0x38], esi
lea eax, [r13 + 0x17]
mov r13d, dword [rsp + 0x70]
cmp edx, 5
cmovne r13d, eax
mov dword [rsp + 0x3c], r13d
mov eax, edx
lea ecx, [rdx + 1]
xor edx, edx
cmp eax, 5
cmovne edx, ecx
mov dword [rsp + 0x50], edx
jmp 0x140056ed4
mov rdx, qword [rbx + 0x18]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 8]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
lea r9d, [r13 + 0x13]
mov r15d, dword [rsp + 0x4c]
mov dword [rsp + 0x20], r15d
mov r8d, dword [rsp + 0x34]
mov edx, r13d
mov rcx, r14
call qword [sym.imp.GDI32.dll_Rectangle]
nop dword [rax + rax]
mov rdx, qword [0x140087258]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov edx, 1
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetBkMode]
nop dword [rax + rax]
xor edx, edx
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetTextAlign]
nop dword [rax + rax]
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x58]
call rax
nop dword [rax]
test rax, rax
je 0x140056ec1
mov ecx, 0x104
mov edx, ecx
cmp byte [rax], 0
je 0x140056e7f
inc rax
sub rdx, 1
jne 0x140056e71
mov rax, rdx
sub rcx, rdx
neg rax
sbb rsi, rsi
and rsi, rcx
test rdx, rdx
je 0x140056ec1
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x58]
call rax
nop dword [rax]
mov r9, rax
lea edx, [r13 + 0x17]
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x38]
mov rcx, r14
call qword [sym.imp.GDI32.dll_TextOutA]
nop dword [rax + rax]
add dword [rsp + 0x34], 0x17
add r15d, 0x17
mov dword [rsp + 0x4c], r15d
add dword [rsp + 0x38], 0x17
mov r13d, dword [rsp + 0x48]
lea rsi, [rdi + 0x10]
mov rcx, r14
cmp byte [rbx + 0x10], 0
je 0x1400570b7
mov rdx, qword [rbx + 0x20]
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
movups xmm1, xmmword [rdi]
movq rax, xmm1
sub rax, qword [rsp + 0x60]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
cvttsd2si r9d, xmm0
mov r10d, dword [rsp + 0x30]
add r9d, r10d
psrldq xmm1, 8
movq rax, xmm1
sub rax, qword [rsp + 0x58]
imul rax, r13
cqo
idiv r12
mov edi, dword [rsp + 0x48]
mov r8d, edi
sub r8d, eax
add r8d, dword [rsp + 0x44]
movups xmm1, xmmword [rsi]
movq rax, xmm1
sub rax, qword [rsp + 0x60]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
cvttsd2si r15d, xmm0
add r15d, r10d
psrldq xmm1, 8
movq rax, xmm1
sub rax, qword [rsp + 0x58]
imul rax, r13
cqo
idiv r12
sub edi, eax
add edi, dword [rsp + 0x44]
lea ecx, [r10 + 2]
cmp r9d, ecx
jge 0x140056fc3
mov r10d, ecx
mov dword [rsp + 0x40], ecx
cmp r15d, r9d
jne 0x140056fa9
lea eax, [rdi + r8]
cdq
sub eax, edx
sar eax, 1
mov r13d, eax
jmp 0x140056fce
mov eax, edi
sub eax, r8d
sub ecx, r9d
imul eax, ecx
mov ecx, r15d
sub ecx, r9d
cdq
idiv ecx
lea r13d, [r8 + rax]
jmp 0x140056fce
mov r10d, r9d
mov dword [rsp + 0x40], r9d
mov r13d, r8d
xor r9d, r9d
mov r8d, r13d
mov edx, r10d
mov rcx, r14
call qword [sym.imp.GDI32.dll_MoveToEx]
nop dword [rax + rax]
cmp rsi, rbp
je 0x140057065
mov rbx, qword [rsp + 0x58]
mov r8d, edi
mov edx, r15d
mov rcx, r14
call qword [sym.imp.GDI32.dll_LineTo]
nop dword [rax + rax]
mov ecx, r15d
mov r13d, edi
add rsi, 0x10
movups xmm1, xmmword [rsi]
movq rax, xmm1
sub rax, qword [rsp + 0x60]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
cvttsd2si r15d, xmm0
add r15d, dword [rsp + 0x30]
psrldq xmm1, 8
movq rax, xmm1
sub rax, rbx
mov r8d, dword [rsp + 0x48]
imul rax, r8
cqo
idiv r12
mov edi, r8d
sub edi, eax
add edi, dword [rsp + 0x44]
cmp rsi, rbp
jne 0x140056ff0
mov rbx, qword [rsp + 0x90]
jmp 0x140057069
mov ecx, dword [rsp + 0x40]
mov esi, dword [rsp + 0x74]
cmp r15d, esi
jle 0x1400570af
cmp r15d, ecx
jne 0x140057082
lea eax, [rdi + r13]
cdq
sub eax, edx
sar eax, 1
jmp 0x140057096
sub edi, r13d
mov eax, esi
sub eax, ecx
imul eax, edi
sub r15d, ecx
cdq
idiv r15d
add eax, r13d
mov r8d, eax
mov edx, esi
mov rcx, r14
call qword [sym.imp.GDI32.dll_LineTo]
nop dword [rax + rax]
jmp 0x140057286
mov r8d, edi
mov edx, r15d
jmp 0x14005709b
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x10]
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov rdx, qword [rbx + 0x18]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
movups xmm1, xmmword [rdi]
movq rax, xmm1
mov r9, qword [rsp + 0x60]
sub rax, r9
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
cvttsd2si ecx, xmm0
psrldq xmm1, 8
movq rax, xmm1
sub rax, qword [rsp + 0x58]
imul rax, r13
cqo
idiv r12
mov r11d, dword [rsp + 0x48]
mov r8d, r11d
sub r8d, eax
add r8d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x30]
lea eax, [rdx + rcx]
mov r10d, 2
lea edi, [rdx + 2]
cmp eax, edi
cmovg r10d, ecx
add r10d, edx
mov edi, r10d
mov dword [rsp + 0x40], r8d
mov r15d, r8d
mov r13d, r8d
cmp rsi, rbp
je 0x140057245
mov rbx, qword [rsp + 0x58]
movups xmm1, xmmword [rsi]
movq rax, xmm1
sub rax, r9
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
cvttsd2si r9d, xmm0
add r9d, edx
mov dword [rsp + 0x78], r9d
psrldq xmm1, 8
movq rax, xmm1
sub rax, rbx
mov ecx, r11d
imul rax, rcx
cqo
idiv r12
mov ecx, r11d
sub ecx, eax
add ecx, dword [rsp + 0x44]
cmp r9d, edi
jne 0x1400571cb
cmp ecx, r15d
cmovl r15d, ecx
cmp ecx, r13d
cmovg r13d, ecx
mov dword [rsp + 0x40], ecx
add rsi, 0x10
cmp rsi, rbp
mov edx, dword [rsp + 0x30]
mov r9, qword [rsp + 0x60]
jne 0x14005715c
lea eax, [r10 + 1]
lea r9d, [rdi + 2]
cmp edi, eax
jle 0x1400571f5
lea eax, [r8 + 2]
mov dword [rsp + 0x20], eax
mov edx, r10d
mov rcx, r14
call qword [sym.imp.GDI32.dll_Rectangle]
nop dword [rax + rax]
lea r9d, [rdi + 2]
lea eax, [r13 + 2]
mov dword [rsp + 0x20], eax
mov r8d, r15d
mov edx, edi
mov rcx, r14
call qword [sym.imp.GDI32.dll_Rectangle]
nop dword [rax + rax]
mov r9d, dword [rsp + 0x40]
mov r13d, r9d
mov r15d, r9d
mov r10d, edi
mov r8d, r9d
mov edi, dword [rsp + 0x78]
cmp rsi, rbp
mov edx, dword [rsp + 0x30]
mov r9, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x48]
jne 0x14005715c
mov rbx, qword [rsp + 0x90]
mov rax, qword [rsi]
sub rax, r9
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
cvttsd2si eax, xmm0
add eax, edx
mov r9d, dword [rsp + 0x74]
cmp eax, r9d
cmovl r9d, eax
lea eax, [r8 + 2]
inc r9d
mov dword [rsp + 0x20], eax
mov edx, r10d
mov rcx, r14
call qword [sym.imp.GDI32.dll_Rectangle]
nop dword [rax + rax]
mov r13d, dword [rsp + 0x3c]
add rbx, 0x28
mov qword [rsp + 0x90], rbx
mov rax, qword [rsp + 0x180]
cmp rbx, qword [rax + 8]
mov rbp, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
jne 0x140056b9b
xor edx, edx
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetTextAlign]
nop dword [rax + rax]
mov rdx, qword [0x140087260]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
mov edx, 1
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetBkMode]
nop dword [rax + rax]
mov r8d, dword [rsp + 0x80]
add r8d, 5
mov edx, dword [rsp + 0x84]
add edx, 3
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0xa8]
mov rcx, r14
call qword [sym.imp.GDI32.dll_TextOutA]
nop dword [rax + rax]
mov ecx, 7
call qword [sym.imp.GDI32.dll_GetStockObject]
nop dword [rax + rax]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
nop
lea rcx, [0x140084ff8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop dword [rax + rax]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140061140
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret