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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0xf0
mov edi, r8d
mov rsi, rdx
mov rbx, rcx
test r8d, r8d
je 0x100171ae3
test rcx, rcx
je 0x100171ae3
mov r10, qword [0x10019f908]
mov r11, qword [0x10019f910]
test r10, r10
jne 0x1001717c1
test r11, r11
je 0x100171a95
cmp byte [0x10019f581], 0
jne 0x100171a95
cmp qword [rcx + 4], 0
mov rax, qword [0x10019f8f0]
mov qword [rcx + 0xc], rax
jne 0x1001717eb
mov rax, qword [0x10019f8e8]
mov qword [rcx + 4], rax
mov rcx, qword [rcx + 4]
test rcx, rcx
je 0x100171811
call qword [sym.imp.USER32.dll_IsIconic]
mov r10, qword [0x10019f908]
mov r11, qword [0x10019f910]
test eax, eax
jne 0x100171811
bts dword [rbx + 0x14], 0xc
xor eax, eax
mov dword [rsp + 0x110], eax
test r10, r10
je 0x10017185c
and dword [rsp + 0x40], eax
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0x110]
xor r8d, r8d
mov rcx, rbx
call r10
mov rdx, qword [rsp + 0x120]
mov r11d, eax
test rdx, rdx
je 0x100171a61
cmp dword [rsp + 0x40], 0
setne cl
mov byte [rdx], cl
jmp 0x100171a61
test r11, r11
je 0x100171a80
mov rax, qword [rbx + 4]
and dword [rsp + 0x40], 0
lea r8, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0xc]
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 0x14]
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x50], 0xa0
mov dword [rsp + 0x6c], eax
mov rax, qword [rbx + 0x1c]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x24]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x2c]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x34]
mov qword [rsp + 0x88], rax
mov eax, dword [rbx + 0x3c]
mov dword [rsp + 0x90], eax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x98], rax
mov eax, dword [rbx + 0x48]
mov dword [rsp + 0xa0], eax
mov rax, qword [rbx + 0x5c]
mov qword [rsp + 0xa8], rax
mov rax, qword [rbx + 0x64]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 0x6c]
mov qword [rsp + 0xb8], rax
mov rax, qword [rbx + 0x74]
mov qword [rsp + 0xc0], rax
mov rax, qword [rbx + 0x7c]
mov qword [rsp + 0xc8], rax
mov rax, qword [rbx + 0x84]
mov qword [rsp + 0xd0], rax
mov rax, qword [rbx + 0x8c]
mov qword [rsp + 0xd8], rax
mov rax, qword [rbx + 0x94]
mov qword [rsp + 0xe0], rax
mov eax, dword [rbx + 0x9c]
mov dword [rsp + 0xe8], eax
call r11
mov rcx, qword [rsp + 0x120]
mov r11d, eax
test rcx, rcx
je 0x100171981
cmp dword [rsp + 0x40], 0
setne al
mov byte [rcx], al
mov rax, qword [rsp + 0x58]
mov qword [rbx + 4], rax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0xc], rax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0x14], eax
mov eax, dword [rsp + 0x6c]
mov dword [rbx + 0x18], eax
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x1c], rax
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0x24], rax
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0x2c], rax
mov rax, qword [rsp + 0x88]
mov qword [rbx + 0x34], rax
mov eax, dword [rsp + 0x90]
mov dword [rbx + 0x3c], eax
mov rax, qword [rsp + 0x98]
mov qword [rbx + 0x40], rax
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 0x48], eax
mov rax, qword [rsp + 0xa8]
mov qword [rbx + 0x5c], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbx + 0x64], rax
mov rax, qword [rsp + 0xb8]
mov qword [rbx + 0x6c], rax
mov rax, qword [rsp + 0xc0]
mov qword [rbx + 0x74], rax
mov rax, qword [rsp + 0xc8]
mov qword [rbx + 0x7c], rax
mov rax, qword [rsp + 0xd0]
mov qword [rbx + 0x84], rax
mov rax, qword [rsp + 0xd8]
mov qword [rbx + 0x8c], rax
mov rax, qword [rsp + 0xe0]
mov qword [rbx + 0x94], rax
mov eax, dword [rsp + 0xe8]
mov dword [rbx + 0x9c], eax
test r11d, r11d
je 0x100171a6b
or ebx, 0xffffffff
jmp 0x100171ad1
mov eax, dword [rsp + 0x110]
cmp eax, 1
je 0x100171a7c
cmp eax, 2
jne 0x100171a80
mov ebx, eax
jmp 0x100171ad1
or ebx, 0xffffffff
mov ecx, ebx
sub ecx, eax
js 0x100171ad1
cmp ecx, edi
jge 0x100171ad1
movsxd rax, ecx
mov ebx, dword [rsi + rax*4]
jmp 0x100171ad1
mov rdx, qword [rcx + 4]
movzx ecx, word [rsp + 0x128]
lea r8, [0x100171cc0]
test rdx, rdx
cmove rdx, qword [0x10019f8e8]
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], r9d
mov r9d, 2
mov byte [rsp + 0x20], 0
call fcn.100171f70
mov rbx, rax
mov rax, qword [0x10019f928]
test rax, rax
je 0x100171adf
call rax
mov eax, ebx
jmp 0x100171ae6
or eax, 0xffffffff
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret