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

Disassembly:
mov r11, rsp
push rsi
push r14
sub rsp, 0x158
mov rax, qword [0x1406836b8]
xor rax, rsp
mov qword [rsp + 0x80], rax
xor eax, eax
mov r14, rdx
test dword [rcx + 4], 0x801
mov rsi, rcx
jne 0x1401c3dfa
mov dword [rsp + 0x50], eax
cmp dword [rcx + 0x1c], eax
jbe 0x1401c3df5
mov qword [r11 + 0x18], rbx
mov qword [r11 - 0x18], rbp
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r15
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x58], xmm7
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movaps xmmword [r11 - 0x88], xmm10
movaps xmmword [r11 - 0x98], xmm11
movaps xmmword [r11 - 0xa8], xmm12
movaps xmmword [r11 - 0xb8], xmm13
movaps xmmword [r11 - 0xc8], xmm14
movaps xmmword [r11 - 0xd8], xmm15
nop dword [rax]
mov edx, dword [rsi + 0x8c]
lea rbp, [rax + rax*8]
movups xmm0, xmmword [rsi + rbp*4 + 0xc0]
mov ecx, dword [rsi + 0x88]
neg edx
mov edi, dword [rsi + rbp*4 + 0xcc]
neg ecx
sub edi, dword [rsi + rbp*4 + 0xc4]
mov ebx, dword [rsi + rbp*4 + 0xc8]
sub ebx, dword [rsi + rbp*4 + 0xc0]
movups xmmword [rsp + 0x70], xmm0
add dword [rsp + 0x78], ecx
sub dword [rsp + 0x74], edx
add dword [rsp + 0x7c], edx
movd eax, xmm0
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x54], ebx
sub eax, ecx
mov ecx, 0xf
test dword [rsi], 0x800
mov dword [rsp + 0x70], eax
je 0x1401c361f
call sym.ErrorReportClient.exe_SfGetUIBrush
jmp 0x1401c3625
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, r14
call qword [sym.imp.USER32.dll_FillRect]
test dword [rsi], 0x800
mov ecx, 6
je 0x1401c364a
call sym.ErrorReportClient.exe_SfGetUIBrush
jmp 0x1401c3650
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [rsi + rbp*4 + 0xc0]
add ebx, 0xfffffffe
mov r8d, dword [rsi + rbp*4 + 0xc4]
inc edx
mov dword [rsp + 0x28], 0xf00021
mov r9d, ebx
mov rcx, r14
mov dword [rsp + 0x4c], ebx
mov r12, rax
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xcc]
mov r9d, ebx
mov edx, dword [rsi + rbp*4 + 0xc0]
dec r8d
inc edx
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xc4]
lea r15d, [rdi - 2]
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
mov dword [rsp + 0x28], 0xf00021
mov r9d, 1
mov rcx, r14
mov dword [rsp + 0x20], r15d
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov r9d, 1
mov edx, dword [rsi + rbp*4 + 0xc8]
inc r8d
dec edx
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], r15d
call qword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [rsi]
mov ecx, 0x10
and eax, 0x800
test dword [rsi + 4], 0x1000000
je 0x1401c3c49
test eax, eax
je 0x1401c3749
call sym.ErrorReportClient.exe_SfGetSysColor
jmp 0x1401c374f
call qword [sym.imp.USER32.dll_GetSysColor]
test dword [rsi], 0x800
mov ebx, eax
mov dword [rsp + 0x38], eax
mov ecx, 0xf
je 0x1401c3769
call sym.ErrorReportClient.exe_SfGetSysColor
jmp 0x1401c376f
call qword [sym.imp.USER32.dll_GetSysColor]
test dword [rsi], 0x800
mov r13d, eax
mov dword [rsp + 0x34], eax
mov ecx, ILFindChild
je 0x1401c378a
call sym.ErrorReportClient.exe_SfGetSysColor
jmp 0x1401c3790
call qword [sym.imp.USER32.dll_GetSysColor]
movzx ecx, bl
movzx r12d, al
shr cl, 1
add r12d, 0xff
mov byte [rsp + 0x30], cl
movzx ecx, bx
shr cx, 8
mov word [rsp + 0x3e], cx
shr cl, 1
mov byte [rsp + 0x31], cl
mov ecx, ebx
movzx ebx, ax
shr eax, 0x10
movzx edi, al
movzx eax, r13w
shr ax, 8
add edi, 0xff
shr ecx, 0x10
shr ebx, 8
mov word [rsp + 0x3c], ax
add ebx, 0xff
mov dword [rsp + 0x44], ecx
mov eax, r13d
shr cl, 1
shr eax, 0x10
shr r12d, 1
shr ebx, 1
shr edi, 1
test dword [rsi], 0x800
mov byte [rsp + 0x32], cl
mov ecx, 6
mov dword [rsp + 0x40], eax
je 0x1401c380f
call sym.ErrorReportClient.exe_SfGetUIBrush
jmp 0x1401c3815
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [rsi + rbp*4 + 0xc0]
mov rcx, r14
mov r9d, dword [rsp + 0x4c]
inc edx
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov dword [rsp + 0x28], 0xf00021
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xcc]
mov rcx, r14
mov edx, dword [rsi + rbp*4 + 0xc0]
dec r8d
mov r9d, dword [rsp + 0x4c]
inc edx
mov dword [rsp + 0x28], 0xf00021
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov r9d, 1
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], r15d
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov r9d, 1
mov edx, dword [rsi + rbp*4 + 0xc8]
inc r8d
dec edx
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], r15d
call qword [sym.imp.GDI32.dll_PatBlt]
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
mov qword [rsp + 0x60], rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r13d, dword [rsp + 0x48]
xor r15d, r15d
mov qword [rsp + 0x58], rax
mov r9, rax
add r13d, 0xfffffffe
je 0x1401c3b89
movzx ecx, byte [rsp + 0x31]
xorps xmm7, xmm7
movzx edx, byte [rsp + 0x32]
movzx r8d, byte [rsp + 0x30]
mov eax, r13d
movd xmm9, ecx
movd xmm11, edx
movd xmm13, r8d
cvtsi2ss xmm7, rax
movzx eax, word [rsp + 0x3c]
sub eax, ecx
movzx ecx, byte [rsp + 0x44]
sub edi, ecx
cvtdq2ps xmm9, xmm9
movd xmm8, eax
movzx eax, byte [rsp + 0x40]
sub eax, edx
movd xmm0, edi
movzx edx, byte [rsp + 0x38]
cvtdq2ps xmm0, xmm0
movd xmm10, eax
movzx eax, byte [rsp + 0x34]
movss dword [rsp + 0x44], xmm0
sub eax, r8d
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm12, eax
movzx eax, byte [rsp + 0x3e]
movss dword [rsp + 0x40], xmm0
sub ebx, eax
sub r12d, edx
cvtdq2ps xmm8, xmm8
movd xmm0, r12d
mov r12d, dword [rsp + 0x54]
cvtdq2ps xmm0, xmm0
movd xmm14, ebx
mov rbx, qword [rsp + 0x60]
movss dword [rsp + 0x38], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm15, eax
movss dword [rsp + 0x34], xmm0
cvtdq2ps xmm10, xmm10
cvtdq2ps xmm11, xmm11
cvtdq2ps xmm12, xmm12
cvtdq2ps xmm13, xmm13
cvtdq2ps xmm14, xmm14
cvtdq2ps xmm15, xmm15
nop word [rax + rax]
movss xmm6, dword [0x1404521c8]
xorps xmm0, xmm0
mov eax, r15d
mov rdx, r9
mov rcx, r14
cvtsi2ss xmm0, rax
divss xmm0, xmm7
subss xmm6, xmm0
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
movaps xmm0, xmm8
mulss xmm0, xmm6
addss xmm0, xmm9
cvttss2si eax, xmm0
movaps xmm0, xmm10
mulss xmm0, xmm6
movzx ecx, al
shl ecx, 8
addss xmm0, xmm11
cvttss2si eax, xmm0
movaps xmm0, xmm12
movzx edx, al
shl edx, 0x10
or ecx, edx
mulss xmm0, xmm6
addss xmm0, xmm13
cvttss2si eax, xmm0
movzx edx, al
or ecx, edx
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
mov rcx, r14
mov rdi, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov r8d, dword [rsi + rbp*4 + 0xc4]
lea r9d, [r12 - 2]
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
add r8d, r15d
mov dword [rsp + 0x28], 0xf00021
inc edx
mov dword [rsp + 0x20], 1
mov rcx, r14
mov rbx, rax
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
movaps xmm0, xmm14
mulss xmm0, xmm6
addss xmm0, xmm15
cvttss2si eax, xmm0
movss xmm0, dword [rsp + 0x44]
mulss xmm0, xmm6
movzx ecx, al
shl ecx, 8
addss xmm0, dword [rsp + 0x40]
cvttss2si eax, xmm0
movss xmm0, dword [rsp + 0x38]
movzx edx, al
shl edx, 0x10
or ecx, edx
mulss xmm0, xmm6
addss xmm0, dword [rsp + 0x34]
cvttss2si eax, xmm0
movzx edx, al
or ecx, edx
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
mov rcx, r14
mov rbx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x58], rax
mov r9, rax
cmp r15d, 1
jb 0x1401c3b7b
lea eax, [r13 - 1]
cmp r15d, eax
jae 0x1401c3b7b
mov r8d, dword [rsi + rbp*4 + 0xc4]
lea r9d, [r12 - 4]
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
add r8d, r15d
mov dword [rsp + 0x28], 0xf00021
add edx, 2
mov dword [rsp + 0x20], 1
mov rcx, r14
call qword [sym.imp.GDI32.dll_PatBlt]
mov r9, qword [rsp + 0x58]
inc r15d
cmp r15d, r13d
jb 0x1401c39f0
jmp 0x1401c3b8e
mov rbx, qword [rsp + 0x60]
test dword [rsi], 0x800
mov ecx, ILFindChild
je 0x1401c3ba2
call sym.ErrorReportClient.exe_SfGetUIBrush
jmp 0x1401c3ba8
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [rsp + 0x48]
mov r9d, 1
mov r8d, dword [rsi + rbp*4 + 0xc4]
add eax, 0xfffffffd
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
inc edx
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov rcx, r14
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
mov r9d, dword [rsp + 0x4c]
inc edx
mov dword [rsp + 0x28], 0xf00021
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, qword [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rsp + 0x68]
mov rcx, r14
mov rdx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
jmp 0x1401c3d4e
test eax, eax
je 0x1401c3c54
call sym.ErrorReportClient.exe_SfGetUIBrush
jmp 0x1401c3c5a
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov r9d, 1
mov edx, dword [rsi + rbp*4 + 0xc8]
inc r8d
sub edx, 2
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], r15d
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xcc]
mov r9d, ebx
mov edx, dword [rsi + rbp*4 + 0xc0]
sub r8d, 2
inc edx
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
test dword [rsi], 0x800
mov ecx, ILFindChild
je 0x1401c3cdc
call sym.ErrorReportClient.exe_SfGetUIBrush
jmp 0x1401c3ce2
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov r9d, 1
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
inc edx
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], r15d
call qword [sym.imp.GDI32.dll_PatBlt]
mov r8d, dword [rsi + rbp*4 + 0xc4]
mov r9d, ebx
mov edx, dword [rsi + rbp*4 + 0xc0]
inc r8d
inc edx
mov dword [rsp + 0x28], 0xf00021
mov rcx, r14
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, r12
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x1c]
jb 0x1401c35b0
movaps xmm15, xmmword [rsp + 0x90]
movaps xmm14, xmmword [rsp + 0xa0]
movaps xmm13, xmmword [rsp + 0xb0]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
mov r15, qword [rsp + 0x130]
mov r13, qword [rsp + 0x138]
mov r12, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x180]
mov eax, 1
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14039bbb0
add rsp, 0x158
pop r14
pop rsi
ret