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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
mov rbx, r8
mov rdi, rdx
cmp byte [rdx + 0x62], r15b
je 0x14003e6d6
cmp byte [r8 + 0xd4], 7
movzx eax, word [rdx + 0x80]
mov word [r8 + 0xcc], ax
movzx eax, word [rdx + 0x84]
mov word [r8 + 0xce], ax
jne 0x14003e62c
cmp r9b, r15b
je 0x14003e64a
movzx eax, word [rdx + 0x88]
mov word [r8 + 0xd0], ax
movzx eax, word [rdx + 0x8c]
mov word [r8 + 0xd2], ax
mov rcx, qword [r8]
lea rdx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetClientRect]
cmp dword [rdi + 0x80], 0xffffffff
jne 0x14003e66d
movzx eax, word [rsp + 0x20]
mov word [rbx + 0xcc], ax
cmp dword [rdi + 0x84], 0xffffffff
jne 0x14003e682
movzx eax, word [rsp + 0x24]
mov word [rbx + 0xce], ax
mov rcx, qword [rbx]
lea rdx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [rdi + 0x88], 0xffffffff
jne 0x14003e6aa
movzx eax, word [rsp + 0x28]
sub ax, word [rsp + 0x20]
mov word [rbx + 0xd0], ax
cmp dword [rdi + 0x8c], 0xffffffff
je 0x14003e6c0
cmp byte [rbx + 0xd4], r15b
jne 0x14003e95c
movzx eax, word [rsp + 0x2c]
sub ax, word [rsp + 0x24]
mov word [rbx + 0xd2], ax
jmp 0x14003e95c
mov rcx, qword [rdi]
movzx esi, word [r8 + 0xca]
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r12d, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x3c]
mov r14d, dword [rdi + 0x6c]
mov r13d, dword [rdi + 0x70]
mov eax, 1
cmp r12d, r15d
jne 0x14003e711
mov r12d, r14d
cmp r14d, r15d
cmove r12d, eax
cmp ebp, r15d
jne 0x14003e71f
mov ebp, r13d
cmp r13d, r15d
cmove ebp, eax
cmp qword [rdi + 0x2a0], r15
je 0x14003e736
mov ecx, reloc.WSOCK32.dll_ntohs
call qword [sym.imp.USER32.dll_GetSystemMetrics]
sub r13d, eax
mov rcx, qword [rbx]
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x38]
mov r15d, dword [rsp + 0x3c]
mov dword [rsp + 0x20], ecx
sub r11d, ecx
mov rcx, qword [rdi]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x78], r11d
sub r15d, eax
mov dword [rsp + 0x24], eax
call qword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [rsp + 0x20]
mov r10d, dword [rsp + 0x24]
mov r11d, dword [rsp + 0x78]
mov eax, ecx
xor edi, edi
imul eax, r14d
cdq
idiv r12d
mov word [rbx + 0xcc], ax
mov eax, r10d
imul eax, r13d
cdq
idiv ebp
mov word [rbx + 0xce], ax
mov eax, r11d
imul eax, r14d
cdq
idiv r12d
mov word [rbx + 0xd0], ax
mov eax, r15d
imul eax, r13d
cdq
idiv ebp
mov word [rbx + 0xd2], ax
cmp si, di
je 0x14003e95c
mov eax, 0x100
movzx r9d, cx
lea r8d, [rdi + 2]
test ax, si
je 0x14003e83f
mov word [rbx + 0xd0], r11w
test r8b, sil
jne 0x14003e83f
test sil, 4
jne 0x14003e83f
test sil, 8
je 0x14003e816
mov eax, r14d
sub eax, r12d
cdq
idiv r8d
sub cx, ax
mov word [rbx + 0xcc], cx
jmp 0x14003e83f
mov eax, r12d
cdq
idiv r8d
cmp ecx, eax
jle 0x14003e83f
sub ecx, r12d
lea eax, [r11 + rcx]
imul eax, r14d
cdq
idiv r12d
sub ax, r11w
add ax, r14w
mov word [rbx + 0xcc], ax
movzx r8d, word [rsp + 0x24]
mov eax, 0x200
test ax, si
je 0x14003e883
mov word [rbx + 0xd2], r15w
test sil, 0x20
jne 0x14003e883
test sil, 0x40
jne 0x14003e883
mov ecx, 2
test sil, sil
jns 0x14003e8c1
mov eax, r13d
sub eax, ebp
cdq
idiv ecx
movzx ecx, r8w
sub cx, ax
mov word [rbx + 0xce], cx
mov ecx, 2
movzx eax, si
and ax, cx
je 0x14003e898
mov word [rbx + 0xcc], r9w
test sil, 4
je 0x14003e906
cmp ax, di
je 0x14003e8ea
sub r9w, word [rbx + 0xcc]
sub r9w, r12w
add r9w, r14w
add r9w, r11w
mov word [rbx + 0xd0], r9w
jmp 0x14003e906
mov eax, ebp
cdq
idiv ecx
cmp r10d, eax
jle 0x14003e888
sub r10d, ebp
lea eax, [r15 + r10]
imul eax, r13d
cdq
idiv ebp
sub ax, r15w
add ax, r13w
mov word [rbx + 0xce], ax
jmp 0x14003e888
sub r9w, r12w
sub r9w, word [rbx + 0xd0]
add r9w, r14w
add r9w, r11w
mov word [rbx + 0xcc], r9w
movzx eax, si
and ax, 0x20
je 0x14003e917
mov word [rbx + 0xce], r8w
test sil, 0x40
je 0x14003e95c
cmp ax, di
je 0x14003e940
sub r8w, word [rbx + 0xce]
sub r8w, bp
add r8w, r13w
add r8w, r15w
mov word [rbx + 0xd2], r8w
jmp 0x14003e95c
sub r8w, word [rbx + 0xd2]
sub r8w, bp
add r8w, r13w
add r8w, r15w
mov word [rbx + 0xce], r8w
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret