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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov dword [rax + 8], ecx
push rsi
push rdi
push r12
sub rsp, 0xc0
mov ebx, dword [0x1000abbac]
mov edi, dword [0x1000ab6ac]
movaps xmmword [rax - 0x28], xmm6
lea r9, [0x10001aef0]
lea r8, [0x100017c98]
mov edx, 0x7fb
movaps xmmword [rax - 0x38], xmm7
mov ecx, 0x10
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
call fcn.10005e0ac
mov rcx, qword [0x1000b10c0]
xor r12d, r12d
cmp rcx, r12
je 0x1000460ca
cmp dword [0x1000b1138], r12d
jne 0x1000460ca
cmp byte [0x1000b0f59], r12b
je 0x1000460c0
lea r8d, [rbx + rbx]
lea edx, [rdi + rdi]
jmp 0x1000460c5
mov r8d, ebx
mov edx, edi
call fcn.10003dabc
mov eax, dword [0x1000ab6ac]
pxor xmm0, xmm0
pxor xmm6, xmm6
cvtsi2ss xmm0, rax
pxor xmm7, xmm7
cvtsi2ss xmm6, rdi
mov eax, dword [0x1000abbac]
divss xmm6, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm7, rbx
cvtsi2ss xmm0, rax
mov rax, qword [0x1000b10d8]
divss xmm7, xmm0
cmp rax, r12
je 0x10004611a
mov dword [rax + 0x100], edi
mov dword [rax + 0x104], ebx
mov r9, qword [0x1000b10e0]
mov r8, qword [0x1000b1078]
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0xe0]
mov dword [0x1000ab6ac], edi
mov dword [0x1000abbac], ebx
call fcn.10006036c
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 [0x1000b10f6], r12b
je 0x100046217
mov r8d, edi
mov r9d, ebx
cmp ebx, r12d
je 0x1000461a9
mov eax, r8d
mov ecx, r9d
cdq
mov r8d, ecx
idiv r9d
mov r9d, edx
cmp edx, r12d
jne 0x100046194
cmp r8d, r12d
jle 0x100046217
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 [0x1000b10e0]
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0xe0]
mov qword [rsp + 0x28], rcx
mov rcx, qword [0x1000b1078]
mov edx, edi
mov qword [rsp + 0x20], rcx
mov ecx, ebx
call fcn.100060578
mov r11d, dword [0x1000acdf8]
cmp dword [rsp + 0xe0], r11d
jb 0x100046211
mov eax, dword [0x1000acdfc]
cmp dword [rsp + 0xf8], eax
jae 0x100046217
add ebx, esi
add edi, ebp
jmp 0x1000461c0
xor edx, edx
lea rcx, [rsp + 0x44]
lea r8d, [rdx + 0x24]
call sub.msvcrt.dll_memset
mov rcx, qword [0x1000b1078]
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 [0x1000abbac]
mov r11d, dword [0x1000ab6ac]
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 [0x1000b10e0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1000b1078]
mov qword [rsp + 0x20], rax
divss xmm6, xmm0
call fcn.100060578
mov r11d, dword [rsp + 0x5c]
sub r11d, dword [rsp + 0x54]
sub r11d, dword [rsp + 0xe0]
cmp r11d, ebx
jae 0x1000462ce
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 0x1000462f5
pxor xmm0, xmm0
mov edi, eax
cvtsi2ss xmm0, rdi
mulss xmm0, xmm6
cvttss2si rbx, xmm0
mov edx, edi
mov ecx, ebx
call fcn.100047608
lea rcx, [rsp + 0x6c]
mov r8, rsi
xor edx, edx
mov dword [rsp + 0x68], r12d
call sub.msvcrt.dll_memset
mov rcx, qword [0x1000b1078]
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 0x100046453
cmp byte [0x1000b10f2], r12b
jne 0x100046453
mov edx, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0x84]
cmp edx, dword [rsp + 0x5c]
jle 0x1000463a1
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 0x1000463c2
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 0x1000463f1
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 0x10004640f
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 [0x1000a6373], 1
mov rcx, qword [0x1000b1078]
cmove r11d, r12d
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x70], r11d
call qword [sym.imp.USER32.dll_SetWindowPlacement]
call fcn.10004705c
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