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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0xc0
mov ebx, edx
mov edi, ecx
mov sil, r8b
movaps xmmword [rax - 0x28], xmm6
mov ebp, 0x10
lea r8, [0x10001a210]
movaps xmmword [rax - 0x38], xmm7
lea r9, [0x10001aea0]
mov edx, 0x7fb
mov ecx, ebp
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
call fcn.100061370
xor r12d, r12d
cmp dword [0x1000a53e4], edi
jne 0x100046693
cmp dword [0x1000a5634], ebx
jne 0x100046693
cmp sil, r12b
jne 0x100046693
lea r9, [0x10001aef0]
lea r8, [0x10001a210]
mov edx, 0x800
mov ecx, ebp
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
call fcn.100061370
jmp 0x100046a52
mov rcx, qword [0x1000aac30]
cmp rcx, r12
je 0x1000466c4
cmp dword [0x1000aacfc], r12d
jne 0x1000466c4
cmp byte [0x1000aac3d], r12b
je 0x1000466ba
lea r8d, [rbx + rbx]
lea edx, [rdi + rdi]
jmp 0x1000466bf
mov r8d, ebx
mov edx, edi
call fcn.10003eefc
mov eax, dword [0x1000a53e4]
pxor xmm0, xmm0
pxor xmm6, xmm6
cvtsi2ss xmm0, rax
pxor xmm7, xmm7
cvtsi2ss xmm6, rdi
mov eax, dword [0x1000a5634]
divss xmm6, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm7, rbx
cvtsi2ss xmm0, rax
mov rax, qword [0x1000aac18]
divss xmm7, xmm0
cmp rax, r12
je 0x100046714
mov dword [rax + 0x100], edi
mov dword [rax + 0x104], ebx
mov r9, qword [0x1000aaca8]
mov r8, qword [0x1000aac60]
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0xe0]
mov dword [0x1000a53e4], edi
mov dword [0x1000a5634], ebx
call fcn.100060dbc
mov r11d, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xf8]
pxor xmm0, xmm0
cvtsi2ss xmm0, r11
mulss xmm0, xmm6
cvttss2si rbx, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
cvttss2si rdi, xmm0
cmp byte [0x1000aace0], r12b
je 0x100046811
mov r8d, edi
mov r9d, ebx
cmp ebx, r12d
je 0x1000467a3
mov eax, r8d
mov ecx, r9d
cdq
mov r8d, ecx
idiv r9d
mov r9d, edx
cmp edx, r12d
jne 0x10004678e
cmp r8d, r12d
jle 0x100046811
xor edx, edx
mov eax, ebx
div r8d
xor edx, edx
mov esi, eax
mov eax, edi
div r8d
mov ebp, eax
mov rcx, qword [0x1000aaca8]
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0xe0]
mov qword [rsp + 0x28], rcx
mov rcx, qword [0x1000aac60]
mov edx, edi
mov qword [rsp + 0x20], rcx
mov ecx, ebx
call fcn.100060fc8
mov r11d, dword [0x1000a5e7c]
cmp dword [rsp + 0xe0], r11d
jb 0x10004680b
mov eax, dword [0x1000a6564]
cmp dword [rsp + 0xf8], eax
jae 0x100046811
add ebx, esi
add edi, ebp
jmp 0x1000467ba
xor edx, edx
lea rcx, [rsp + 0x44]
lea r8d, [rdx + 0x24]
call sub.msvcrt.dll_memset
mov rcx, qword [0x1000aac60]
mov esi, 0x28
lea edx, [rsi - 0x26]
mov dword [rsp + 0x40], esi
call qword [sym.imp.USER32.dll_MonitorFromWindow]
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [0x1000a5634]
mov r11d, dword [0x1000a53e4]
pxor xmm6, xmm6
pxor xmm0, xmm0
cvtsi2ss xmm6, r11
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0xe0]
xor edx, edx
xor ecx, ecx
cvtsi2ss xmm0, rax
mov rax, qword [0x1000aaca8]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1000aac60]
mov qword [rsp + 0x20], rax
divss xmm6, xmm0
call fcn.100060fc8
mov r11d, dword [rsp + 0x5c]
sub r11d, dword [rsp + 0x54]
sub r11d, dword [rsp + 0xe0]
cmp r11d, ebx
jae 0x1000468c8
pxor xmm0, xmm0
mov ebx, r11d
cvtsi2ss xmm0, rbx
divss xmm0, xmm6
cvttss2si rdi, xmm0
mov eax, dword [rsp + 0x60]
sub eax, dword [rsp + 0x58]
sub eax, dword [rsp + 0xf8]
cmp eax, edi
jae 0x1000468ef
pxor xmm0, xmm0
mov edi, eax
cvtsi2ss xmm0, rdi
mulss xmm0, xmm6
cvttss2si rbx, xmm0
mov edx, edi
mov ecx, ebx
call fcn.100047bb4
lea rcx, [rsp + 0x6c]
mov r8, rsi
xor edx, edx
mov dword [rsp + 0x68], r12d
call sub.msvcrt.dll_memset
mov rcx, qword [0x1000aac60]
lea rdx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetWindowPlacement]
xor eax, eax
lea r8, [rsp + 0x84]
lea rdx, [rsp + 0x54]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
call qword [sym.imp.USER32.dll_UnionRect]
lea rdx, [rsp + 0x54]
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_EqualRect]
cmp eax, r12d
jne 0x100046a4d
cmp byte [0x1000aacb8], r12b
jne 0x100046a4d
mov edx, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0x84]
cmp edx, dword [rsp + 0x5c]
jle 0x10004699b
mov eax, edx
sub eax, dword [rsp + 0x5c]
sub edx, eax
sub ecx, eax
mov dword [rsp + 0x84], ecx
mov dword [rsp + 0x8c], edx
mov r10d, dword [rsp + 0x54]
cmp ecx, r10d
jge 0x1000469bc
mov eax, r10d
sub eax, ecx
add ecx, eax
add edx, eax
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x84], ecx
mov edx, dword [rsp + 0x88]
mov r9d, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x90]
cmp edx, r9d
jge 0x1000469eb
mov eax, r9d
sub eax, edx
add edx, eax
add ecx, eax
mov dword [rsp + 0x90], ecx
mov dword [rsp + 0x88], edx
cmp ecx, dword [rsp + 0x60]
jle 0x100046a09
mov eax, ecx
sub eax, dword [rsp + 0x60]
sub ecx, eax
sub edx, eax
mov dword [rsp + 0x88], edx
mov dword [rsp + 0x90], ecx
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0x84]
sub r8d, r9d
sub edx, r10d
call qword [sym.imp.USER32.dll_OffsetRect]
mov r11d, dword [rsp + 0x70]
cmp byte [0x1000a0562], 1
mov rcx, qword [0x1000aac60]
cmove r11d, r12d
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x70], r11d
call qword [sym.imp.USER32.dll_SetWindowPlacement]
call fcn.100047608
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret