Function at 0x14000ae50
Capabilities:
Hide graphical window

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x228]
sub rsp, 0x300
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140033018]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
movzx edi, dl
mov byte [rsp + 0x30], dl
mov r13, rcx
call qword [0x1400234f0]
mov r9, qword [rax]
mov r8, qword [r13 + 8]
lea rdx, [0x14000a9d0]
mov rcx, rax
call qword [r9 + 0x98]
lea rcx, [rbp - 0x60]
call fcn.14000c940
nop
lea rcx, [rbp - 0x60]
call fcn.14000c9a0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x20]
call fcn.14000fcc0
call qword [0x1400234f0]
mov r9, qword [rax]
mov r8d, 0x104
lea rdx, [rbp - 0x20]
mov rcx, rax
call qword [r9 + 0xa8]
lea rcx, [rbp - 0x60]
test al, al
jne 0x14000af0c
call fcn.14000cd10
xor bl, bl
jmp 0x14000b8fb
call fcn.14000cd10
lea rcx, [rbp - 0x20]
mov r12, 0xffffffffffffffff
mov rax, r12
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x14000af20
mov r8d, eax
lea rdx, [rbp - 0x20]
lea rcx, [r13 + 0x78]
call fcn.140005610
test dil, dil
je 0x14000af69
call qword [0x1400234f0]
mov r10, qword [rax]
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x20], rcx
lea r9, [0x14000a9b0]
xor r8d, r8d
mov rdx, qword [r13 + 0x78]
mov rcx, rax
call qword [r10 + 0xc8]
call qword [0x1400234f0]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
mov rdi, rax
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400016c0
nop
mov rcx, qword [rsp + 0x50]
mov edx, dword [rcx - 0x10]
test edx, edx
js 0x14000b952
mov r8d, 1
sub r8d, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, edx
or eax, r8d
jge 0x14000afbc
lea rcx, [rsp + 0x50]
call fcn.140003910
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.shlwapi.dll_PathStripPathW]
mov rcx, qword [rsp + 0x50]
movsxd rdx, dword [rcx - 0xc]
call fcn.140012778
test eax, eax
js 0x14000b947
mov rcx, qword [rsp + 0x50]
cmp eax, dword [rcx - 0xc]
jg 0x14000b947
mov dword [rcx - 0x10], eax
movsxd rcx, eax
xor r15d, r15d
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], r15w
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
call fcn.14000a9f0
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x78], r15
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x78]
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.shell32.dll_ExtractIconExW]
mov r9, qword [rbp - 0x78]
test r9, r9
jne 0x14000b04c
mov edx, 0x7f01
xor ecx, ecx
call qword [sym.imp.user32.dll_LoadIconW]
mov r9, rax
xor r8d, r8d
mov edx, 0x80
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SendMessageW]
call fcn.140001430
mov rcx, rax
test rax, rax
je 0x14000b95d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
call qword [0x1400234f0]
mov rdi, rax
call qword [0x1400234f0]
mov rsi, rax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x28]
mov rdi, rax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x20]
mov r8, rax
mov qword [rsp + 0x20], rbx
mov r9, rdi
lea rdx, str._s__s_____s
lea rcx, [rsp + 0x70]
call fcn.140008810
mov rdx, qword [rsp + 0x70]
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetWindowTextW]
call fcn.140001430
mov rcx, rax
test rax, rax
je 0x14000b968
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
call qword [0x1400234f0]
mov rdi, rax
call qword [0x1400234f0]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov rbx, rax
call fcn.140001430
mov rcx, rax
test rax, rax
je 0x14000b973
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
test rbx, rbx
je 0x14000b15c
cmp rbx, 0x10000
jae 0x14000b148
movzx edx, bx
lea rcx, [rsp + 0x68]
call fcn.140002f40
jmp 0x14000b170
mov rax, r12
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14000b150
jmp 0x14000b15f
mov eax, r15d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140005610
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
mov r8, rax
test rax, rax
je 0x14000b97e
mov rax, qword [rsp + 0x68]
mov rcx, rax
sub r8, rax
movzx ebx, word [rcx]
movzx edx, word [rcx + r8]
sub ebx, edx
jne 0x14000b1a4
add rcx, 2
test edx, edx
jne 0x14000b190
lea rdx, [rax - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000b1be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
call qword [0x1400234f0]
test ebx, ebx
mov rbx, rax
jne 0x14000b21a
call qword [0x1400234f0]
mov rdi, rax
call fcn.140006f50
mov rcx, rax
call fcn.140006f70
mov r14, qword [rax]
mov r8, qword [rbx]
mov rcx, rbx
call qword [r8 + 0x28]
mov rbx, rax
mov r8, qword [rdi]
mov rcx, rdi
call qword [r8 + 0x20]
mov r8, rax
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.140008810
jmp 0x14000b285
call qword [0x1400234f0]
mov rsi, rax
call qword [0x1400234f0]
mov r14, rax
call fcn.140006f50
mov rcx, rax
call fcn.140006f80
mov r15, qword [rax]
mov r8, qword [rbx]
mov rcx, rbx
call qword [r8 + 0x38]
mov rdi, rax
mov r8, qword [rsi]
mov rcx, rsi
call qword [r8 + 0x28]
mov rbx, rax
mov r8, qword [r14]
mov rcx, r14
call qword [r8 + 0x20]
mov r8, rax
mov qword [rsp + 0x28], rdi
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.140008810
xor r15d, r15d
call qword [0x1400234f0]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x78]
mov rbx, rax
call fcn.140001430
mov rcx, rax
test rax, rax
je 0x14000b989
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
test rbx, rbx
je 0x14000b2ec
cmp rbx, 0x10000
jae 0x14000b2d4
movzx edx, bx
lea rcx, [rsp + 0x48]
call fcn.140002f40
jmp 0x14000b300
mov rax, r12
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14000b2e0
jmp 0x14000b2ef
mov eax, r15d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140005610
nop
mov rdi, qword [rsp + 0x48]
cmp dword [rdi - 0x10], 0
jne 0x14000b36c
call qword [0x1400234f0]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x68]
movzx ebx, al
call qword [0x1400234f0]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x70]
test bl, bl
je 0x14000b33f
call fcn.140006f50
mov rcx, rax
call fcn.140006fd0
jmp 0x14000b350
test al, al
je 0x14000b362
call fcn.140006f50
mov rcx, rax
call fcn.140006fc0
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14000a640
mov rdi, qword [rsp + 0x48]
cmp dword [rdi - 0x10], 0
je 0x14000b519
lea r14, [0x140024760]
mov rax, r12
nop word [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x14000b380
mov rcx, r14
mov rbx, qword [rsp + 0x38]
sub rcx, rbx
sar rcx, 1
mov qword [rbp - 0x80], rcx
mov r15d, dword [rbx - 0x10]
mov dword [rsp + 0x40], r15d
test eax, eax
js 0x14000b994
movsxd rdx, eax
mov rcx, r14
call fcn.140012778
mov rdx, rax
mov qword [rsp + 0x60], rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r15d
jl 0x14000b99f
add r15d, eax
js 0x14000b9aa
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r15d
or eax, ecx
jge 0x14000b403
mov edx, r15d
lea rcx, [rsp + 0x38]
call fcn.140003910
mov rbx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x40]
mov rax, qword [rbp - 0x80]
cmp rax, rcx
ja 0x14000b414
lea r14, [rbx + rax*2]
movsxd rdx, edx
add rdx, rdx
lea rcx, [rbx + rcx*2]
mov r9, rdx
mov r8, r14
call fcn.14000c890
cmp r15d, dword [rbx - 0xc]
jg 0x14000b9e1
mov dword [rbx - 0x10], r15d
movsxd rax, r15d
xor ecx, ecx
mov word [rbx + rax*2], cx
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140006e30
lea rdi, [0x140024764]
mov rax, r12
nop dword [rax + rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x14000b460
mov r15, rdi
mov rbx, qword [rsp + 0x38]
sub r15, rbx
sar r15, 1
mov r14d, dword [rbx - 0x10]
mov dword [rsp + 0x40], r14d
test eax, eax
js 0x14000b9b5
movsxd rdx, eax
mov rcx, rdi
call fcn.140012778
mov rdx, rax
mov qword [rbp - 0x80], rax
mov eax, 0x7fffffff
sub eax, edx
cmp eax, r14d
jl 0x14000b9c0
add r14d, edx
js 0x14000b9cb
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x14000b4dc
mov edx, r14d
lea rcx, [rsp + 0x38]
call fcn.140003910
mov rbx, qword [rsp + 0x38]
mov rdx, qword [rbp - 0x80]
mov eax, dword [rsp + 0x40]
cmp r15, rax
ja 0x14000b4e9
lea rdi, [rbx + r15*2]
movsxd rdx, edx
add rdx, rdx
lea rcx, [rbx + rax*2]
mov r9, rdx
mov r8, rdi
call fcn.14000c890
cmp r14d, dword [rbx - 0xc]
jg 0x14000b9d6
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
xor r15d, r15d
mov word [rbx + rax*2], r15w
jmp 0x14000b51e
mov rbx, qword [rsp + 0x38]
mov r8, rbx
mov edx, 0x404
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetDlgItemTextW]
call qword [0x1400234f0]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x80]
mov rbx, rax
call fcn.140001430
mov rcx, rax
test rax, rax
je 0x14000b9ec
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
test rbx, rbx
je 0x14000b591
cmp rbx, 0x10000
jae 0x14000b582
movzx edx, bx
lea rcx, [rsp + 0x40]
call fcn.140002f40
jmp 0x14000b5a5
mov rax, r12
inc rax
cmp word [rbx + rax*2], 0
jne 0x14000b585
jmp 0x14000b594
mov eax, r15d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140005610
nop
mov rax, qword [rsp + 0x40]
cmp dword [rax - 0x10], 0
je 0x14000b604
mov rdi, qword [r13 + 0x88]
cmp qword [r13 + 0x90], rdi
je 0x14000b5da
lea rcx, [rax - 0x18]
call fcn.14000a9f0
add rax, 0x18
mov qword [rdi], rax
add qword [r13 + 0x88], 8
jmp 0x14000b5ee
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [r13 + 0x80]
call fcn.140009f10
mov edx, 0x405
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_GetDlgItem]
mov edx, 5
jmp 0x14000b615
mov edx, 0x405
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_GetDlgItem]
xor edx, edx
mov rcx, rax
call qword [sym.imp.user32.dll_ShowWindow]
call fcn.140001430
mov rcx, rax
test rax, rax
je 0x14000b93c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
call fcn.140006f50
mov rcx, rax
call fcn.140006fa0
mov r8, rsi
mov rdx, qword [rax]
lea rcx, [rsp + 0x60]
call fcn.140008810
mov rdi, qword [rsp + 0x60]
mov r8, rdi
mov edx, 0x3ea
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetDlgItemTextW]
xor r8d, r8d
mov edx, 0x3ea
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_CheckDlgButton]
call qword [0x1400234f0]
mov rsi, rax
mov edx, 0x3ea
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_GetDlgItem]
mov rbx, rax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x88]
neg al
sbb edx, edx
and edx, 5
mov rcx, rbx
call qword [sym.imp.user32.dll_ShowWindow]
call fcn.140006f50
mov rcx, rax
call fcn.140006f90
mov r8, qword [rax]
mov edx, 0x3eb
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetDlgItemTextW]
call fcn.140006f50
mov rcx, rax
call fcn.140006f90
mov r8, qword [rax]
mov edx, 1
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetDlgItemTextW]
call fcn.140006f50
mov rcx, rax
call fcn.140006fb0
mov r8, qword [rax]
mov edx, 0x405
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetDlgItemTextW]
call fcn.140006f50
mov rcx, rax
call fcn.140006f60
mov r8, qword [rax]
mov edx, 0x3ee
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetDlgItemTextW]
mov edx, 0x3eb
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_GetDlgItem]
mov rcx, rax
cmp byte [rsp + 0x30], 0
je 0x14000b76e
xor edx, edx
call qword [sym.imp.user32.dll_ShowWindow]
mov edx, 1
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_GetDlgItem]
mov edx, 5
jmp 0x14000b78a
mov edx, 5
call qword [sym.imp.user32.dll_ShowWindow]
mov edx, 1
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_GetDlgItem]
xor edx, edx
mov rcx, rax
call qword [sym.imp.user32.dll_ShowWindow]
mov dword [rsp + 0x58], r15d
call qword [0x1400234f0]
mov r10, qword [rax]
xor r9d, r9d
lea r8, [rsp + 0x58]
xor edx, edx
mov rcx, rax
call qword [r10 + 0x48]
movsxd rax, dword [rsp + 0x58]
test eax, eax
jle 0x14000b80f
mov rcx, rax
mov eax, 2
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.14000e7c4
mov rbx, rax
call qword [0x1400234f0]
mov r10, qword [rax]
xor r9d, r9d
lea r8, [rsp + 0x58]
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x48]
mov r8, rbx
mov edx, 0x403
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_SetDlgItemTextW]
mov edx, 2
mov rcx, rbx
call fcn.14000dd7c
mov edx, 5
mov rcx, qword [r13 + 8]
call qword [sym.imp.user32.dll_ShowWindow]
mov bl, 1
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000b83b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000b85b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000b87b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000b89b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000b8bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000b8db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rsp + 0x50]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x14000b8fb
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14000b909
call fcn.14000d964
movzx eax, bl
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.14000e3e0
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.140002750
nop
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
nop
mov ecx, 0x80004005
call fcn.140002750
nop
mov ecx, 0x80004005
call fcn.140002750
nop
mov ecx, 0x80004005
call fcn.140002750
nop
mov ecx, 0x80004005
call fcn.140002750
nop
mov ecx, 0x80004005
call fcn.140002750
nop
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80070057
call fcn.140002750
int3
mov ecx, 0x80004005
call fcn.140002750
int3