Function at 0x100047bec
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 [0x1000a7574]
mov edi, dword [0x1000a7324]
movaps xmmword [rax - 0x28], xmm6
lea r9, [0x10001b7c0]
lea r8, [0x10001a278]
mov edx, 0x7fb
movaps xmmword [rax - 0x38], xmm7
mov ecx, 0x10
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
call fcn.100069a3c
mov rcx, qword [0x1000acb70]
xor r12d, r12d
cmp rcx, r12
je 0x100047c72
cmp dword [0x1000acc4c], r12d
jne 0x100047c72
cmp byte [0x1000acaca], r12b
je 0x100047c68
lea r8d, [rbx + rbx]
lea edx, [rdi + rdi]
jmp 0x100047c6d
mov r8d, ebx
mov edx, edi
call fcn.10003dae0
mov eax, dword [0x1000a7324]
pxor xmm0, xmm0
pxor xmm6, xmm6
cvtsi2ss xmm0, rax
pxor xmm7, xmm7
cvtsi2ss xmm6, rdi
mov eax, dword [0x1000a7574]
divss xmm6, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm7, rbx
cvtsi2ss xmm0, rax
mov rax, qword [0x1000acb80]
divss xmm7, xmm0
cmp rax, r12
je 0x100047cc2
mov dword [rax + 0x100], edi
mov dword [rax + 0x104], ebx
mov r9, qword [0x1000acbf8]
mov r8, qword [0x1000acba0]
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0xe0]
mov dword [0x1000a7324], edi
mov dword [0x1000a7574], ebx
call fcn.10006442c
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 [0x1000acc12], r12b
je 0x100047dbf
mov r8d, edi
mov r9d, ebx
cmp ebx, r12d
je 0x100047d51
mov eax, r8d
mov ecx, r9d
cdq
mov r8d, ecx
idiv r9d
mov r9d, edx
cmp edx, r12d
jne 0x100047d3c
cmp r8d, r12d
jle 0x100047dbf
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 [0x1000acbf8]
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0xe0]
mov qword [rsp + 0x28], rcx
mov rcx, qword [0x1000acba0]
mov edx, edi
mov qword [rsp + 0x20], rcx
mov ecx, ebx
call fcn.100064638
mov r11d, dword [0x1000a7dbc]
cmp dword [rsp + 0xe0], r11d
jb 0x100047db9
mov eax, dword [0x1000a84a4]
cmp dword [rsp + 0xf8], eax
jae 0x100047dbf
add ebx, esi
add edi, ebp
jmp 0x100047d68
xor edx, edx
lea rcx, [rsp + 0x44]
lea r8d, [rdx + 0x24]
call sub.msvcrt.dll_memset
mov rcx, qword [0x1000acba0]
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 [0x1000a7574]
mov r11d, dword [0x1000a7324]
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 [0x1000acbf8]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1000acba0]
mov qword [rsp + 0x20], rax
divss xmm6, xmm0
call fcn.100064638
mov r11d, dword [rsp + 0x5c]
sub r11d, dword [rsp + 0x54]
sub r11d, dword [rsp + 0xe0]
cmp r11d, ebx
jae 0x100047e76
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 0x100047e9d
pxor xmm0, xmm0
mov edi, eax
cvtsi2ss xmm0, rdi
mulss xmm0, xmm6
cvttss2si rbx, xmm0
mov edx, edi
mov ecx, ebx
call fcn.100049208
lea rcx, [rsp + 0x6c]
mov r8, rsi
xor edx, edx
mov dword [rsp + 0x68], r12d
call sub.msvcrt.dll_memset
mov rcx, qword [0x1000acba0]
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 0x100047ffb
cmp byte [0x1000acbbe], r12b
jne 0x100047ffb
mov edx, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0x84]
cmp edx, dword [rsp + 0x5c]
jle 0x100047f49
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 0x100047f6a
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 0x100047f99
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 0x100047fb7
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 [0x1000a24a2], 1
mov rcx, qword [0x1000acba0]
cmove r11d, r12d
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x70], r11d
call qword [sym.imp.USER32.dll_SetWindowPlacement]
call fcn.100048c04
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