Function at 0x14003d320
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 + 0x6a], r15b
je 0x14003d426
cmp byte [r8 + 0xf4], 7
movzx eax, word [rdx + 0x88]
mov word [r8 + 0xec], ax
movzx eax, word [rdx + 0x8c]
mov word [r8 + 0xee], ax
jne 0x14003d37c
cmp r9b, r15b
je 0x14003d39a
movzx eax, word [rdx + 0x90]
mov word [r8 + 0xf0], ax
movzx eax, word [rdx + 0x94]
mov word [r8 + 0xf2], ax
mov rcx, qword [r8]
lea rdx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetClientRect]
cmp dword [rdi + 0x88], 0xffffffff
jne 0x14003d3bd
movzx eax, word [rsp + 0x20]
mov word [rbx + 0xec], ax
cmp dword [rdi + 0x8c], 0xffffffff
jne 0x14003d3d2
movzx eax, word [rsp + 0x24]
mov word [rbx + 0xee], ax
mov rcx, qword [rbx]
lea rdx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [rdi + 0x90], 0xffffffff
jne 0x14003d3fa
movzx eax, word [rsp + 0x28]
sub ax, word [rsp + 0x20]
mov word [rbx + 0xf0], ax
cmp dword [rdi + 0x94], 0xffffffff
je 0x14003d410
cmp byte [rbx + 0xf4], r15b
jne 0x14003d6ac
movzx eax, word [rsp + 0x2c]
sub ax, word [rsp + 0x24]
mov word [rbx + 0xf2], ax
jmp 0x14003d6ac
mov rcx, qword [rdi]
movzx esi, word [r8 + 0xea]
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 + 0x74]
mov r13d, dword [rdi + 0x78]
mov eax, 1
cmp r12d, r15d
jne 0x14003d461
mov r12d, r14d
cmp r14d, r15d
cmove r12d, eax
cmp ebp, r15d
jne 0x14003d46f
mov ebp, r13d
cmp r13d, r15d
cmove ebp, eax
cmp qword [rdi + 0x2a8], r15
je 0x14003d486
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 + 0xec], ax
mov eax, r10d
imul eax, r13d
cdq
idiv ebp
mov word [rbx + 0xee], ax
mov eax, r11d
imul eax, r14d
cdq
idiv r12d
mov word [rbx + 0xf0], ax
mov eax, r15d
imul eax, r13d
cdq
idiv ebp
mov word [rbx + 0xf2], ax
cmp si, di
je 0x14003d6ac
mov eax, 0x100
movzx r9d, cx
lea r8d, [rdi + 2]
test ax, si
je 0x14003d58f
mov word [rbx + 0xf0], r11w
test r8b, sil
jne 0x14003d58f
test sil, 4
jne 0x14003d58f
test sil, 8
je 0x14003d566
mov eax, r14d
sub eax, r12d
cdq
idiv r8d
sub cx, ax
mov word [rbx + 0xec], cx
jmp 0x14003d58f
mov eax, r12d
cdq
idiv r8d
cmp ecx, eax
jle 0x14003d58f
sub ecx, r12d
lea eax, [r11 + rcx]
imul eax, r14d
cdq
idiv r12d
sub ax, r11w
add ax, r14w
mov word [rbx + 0xec], ax
movzx r8d, word [rsp + 0x24]
mov eax, 0x200
test ax, si
je 0x14003d5d3
mov word [rbx + 0xf2], r15w
test sil, 0x20
jne 0x14003d5d3
test sil, 0x40
jne 0x14003d5d3
mov ecx, 2
test sil, sil
jns 0x14003d611
mov eax, r13d
sub eax, ebp
cdq
idiv ecx
movzx ecx, r8w
sub cx, ax
mov word [rbx + 0xee], cx
mov ecx, 2
movzx eax, si
and ax, cx
je 0x14003d5e8
mov word [rbx + 0xec], r9w
test sil, 4
je 0x14003d656
cmp ax, di
je 0x14003d63a
sub r9w, word [rbx + 0xec]
sub r9w, r12w
add r9w, r14w
add r9w, r11w
mov word [rbx + 0xf0], r9w
jmp 0x14003d656
mov eax, ebp
cdq
idiv ecx
cmp r10d, eax
jle 0x14003d5d8
sub r10d, ebp
lea eax, [r15 + r10]
imul eax, r13d
cdq
idiv ebp
sub ax, r15w
add ax, r13w
mov word [rbx + 0xee], ax
jmp 0x14003d5d8
sub r9w, r12w
sub r9w, word [rbx + 0xf0]
add r9w, r14w
add r9w, r11w
mov word [rbx + 0xec], r9w
movzx eax, si
and ax, 0x20
je 0x14003d667
mov word [rbx + 0xee], r8w
test sil, 0x40
je 0x14003d6ac
cmp ax, di
je 0x14003d690
sub r8w, word [rbx + 0xee]
sub r8w, bp
add r8w, r13w
add r8w, r15w
mov word [rbx + 0xf2], r8w
jmp 0x14003d6ac
sub r8w, word [rbx + 0xf2]
sub r8w, bp
add r8w, r13w
add r8w, r15w
mov word [rbx + 0xee], 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