Function at 0x140043b80
Capabilities:
Compare security identifiers

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x120], xmm6
mov rbx, r8
mov rbp, rdx
mov rdi, rcx
mov rax, qword [0x14022c040]
xor rax, rsp
mov qword [rsp + 0x118], rax
movaps xmm6, xmmword [0x1401fa990]
movaps xmmword [rsp + 0xf0], xmm6
xor eax, eax
mov byte [rsp + 0xf0], al
mov byte [rsp + 0xf8], al
lea rdx, [rcx + 0x18]
movabs r13, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xd0]
mov qword [rcx + 0x10], r13
movaps xmmword [rcx], xmm6
call fcn.140045280
cmp byte [rdi + 0x80], 1
je 0x140043d50
cmp byte [rdi + 0x63], 1
je 0x140043e83
lea r14, [rsp + 0xb0]
mov qword [r14 + 0x10], r13
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.140045280
cmp byte [rdi + 0x82], 1
je 0x140043de9
cmp byte [rdi + 0x83], 1
je 0x140044071
cmp byte [rdi + 0x81], 1
je 0x140044d51
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
jne 0x140043c80
mov rax, qword [rsp + 0xb0]
cmp rax, qword [rsp + 0xb8]
je 0x140044474
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
movzx r8d, byte [rdi + 0x61]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0xf01ff
lea r14, [rsp + 0x100]
lea r9, [rsp + 0xd0]
mov rcx, rbx
mov rdx, r14
call fcn.140045cb0
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x140043d35
lea rbx, [rsp + 0xf0]
test al, al
jne 0x140045101
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.140049e90
mov byte [rbx + 8], 1
cmp byte [rsp + 0x108], 1
jne 0x140043d0d
lea rcx, [rsp + 0x100]
call fcn.14004ce90
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x1400445ad
mov rbx, qword [rsp + 0x58]
mov rcx, rsi
cmp rbx, rsi
je 0x1400445a3
add rbx, 0xffffffffffffffe8
jmp 0x14004458d
test al, al
je 0x140043cf6
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.14003eae0
jmp 0x140043cf6
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
call fcn.140122a30
lea rdx, [rsp + 0x100]
mov rcx, r14
call fcn.140102970
mov rcx, qword [r14]
test rcx, rcx
jne 0x140043fa9
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jb 0x1400450b6
lea r14, [rsp + 0xd0]
lea r15, [rsp + 0x100]
mov rcx, r14
mov rdx, r15
call fcn.140045500
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x140043c0c
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x108], rcx
call fcn.140133b2c
jmp 0x140043c0c
lea r15, [rsp + 0x50]
mov rcx, rbx
mov rdx, r15
call fcn.140122a30
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.140102970
mov rcx, qword [r15]
test rcx, rcx
jne 0x140043fcb
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x14004511a
lea r15, [rsp + 0xb0]
lea r12, [rsp + 0x100]
mov rcx, r15
mov rdx, r12
call fcn.140045500
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
je 0x140043c3e
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x108], rcx
call fcn.140133b2c
jmp 0x140043c3e
mov qword [rsp + 0x38], rbp
mov rdx, qword [rbx]
lea r15, [rsp + 0x50]
mov rcx, r15
mov r8d, 2
call fcn.140124a00
mov r14, qword [r15]
mov rbp, qword [r15 + 8]
cmp r14, rbp
je 0x1400441b6
mov qword [rsp + 0x40], rbx
lea r15, [rsp + 0x100]
xorps xmm7, xmm7
mov rsi, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x140043f38
mov rcx, r14
mov rdx, r15
call fcn.140102970
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jae 0x140043f6c
test rax, rax
je 0x140043fa7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xd8], rax
add r14, 0x20
cmp r14, rbp
je 0x1400441ac
mov eax, dword [r14 + 0x18]
cmp eax, 0xbfffffff
ja 0x140043f2b
and eax, 0x20
jne 0x140043f2b
mov r12, qword [rdi + 0x68]
mov rbx, qword [rdi + 0x70]
cmp r12, rbx
je 0x140043ec7
mov rdx, qword [r14]
mov rcx, qword [r12]
call rsi
test eax, eax
jne 0x140043f2b
add r12, 0x18
jmp 0x140043f50
lea rcx, [rsp + 0xd0]
mov rdx, r15
call fcn.140045500
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xd8], rax
test rcx, rcx
je 0x140043f2b
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140043fed
ud2
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x58], rcx
call fcn.140133b2c
jmp 0x140043d7c
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x58], rcx
call fcn.140133b2c
jmp 0x140043e15
mov qword [rsp + 0x108], rcx
call fcn.140133b2c
jmp 0x140043f2b
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x58], rcx
call fcn.140133b2c
jmp 0x1400447af
mov rcx, r13
mov rdx, r12
call fcn.140045500
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xb8], rax
test rcx, rcx
je 0x140044117
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x108], rcx
call fcn.140133b2c
jmp 0x140044117
mov rdx, qword [rbx]
lea r12, [rsp + 0x50]
mov rcx, r12
mov r8d, 2
call fcn.140124a00
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
cmp r15, rsi
je 0x140044125
lea r12, [rsp + 0x100]
xorps xmm7, xmm7
lea r13, [rsp + 0xb0]
test byte [r15 + 0x18], 0x20
jne 0x140044117
mov rcx, r15
mov rdx, r12
call fcn.140102970
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jae 0x140044021
test rax, rax
je 0x140043fa7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xb8], rax
add r15, 0x20
cmp r15, rsi
jne 0x1400440ac
mov r15, qword [rsp + 0x50]
test r15, r15
je 0x140043c4b
mov rsi, qword [rsp + 0x58]
mov rcx, r15
cmp rsi, r15
je 0x140044161
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x140043fa7
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140044170
lea rax, [rsi - 0x20]
cmp rsi, r15
mov rsi, rax
jne 0x14004413f
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r15
call fcn.140133b2c
jmp 0x140043c4b
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
jmp 0x140044ffa
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsi + 8], rcx
call fcn.140133b2c
jmp 0x1400441e6
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
test r14, r14
mov rbp, qword [rsp + 0x38]
je 0x140043c16
mov rsi, qword [rsp + 0x58]
mov rcx, r14
cmp rsi, r14
je 0x1400441f7
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x140043fa7
mov rcx, qword [rsi]
test rcx, rcx
jne 0x14004418b
lea rax, [rsi - 0x20]
cmp rsi, r14
mov rsi, rax
jne 0x1400441d5
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r14
call fcn.140133b2c
jmp 0x140043c16
lea r12, [rsp + 0x68]
lea rdx, [rsp + 0x50]
movabs r15, 0xcccccccccccccccd
xorps xmm6, xmm6
mov qword [rsp + 0x38], rbp
mov rsi, qword [rbx + 0x18]
mov ebp, dword [rbx + 0x20]
mov rcx, rbx
call fcn.140102970
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x70], ebp
mov rsi, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rsi, rax
jb 0x14004521a
mov rcx, qword [rsp + 0x90]
sub rsi, rcx
sar rsi, 3
imul rsi, r15
lea rbp, [rsi + 1]
cmp rbp, r13
ja 0x14004504c
sub rax, rcx
sar rax, 3
imul rax, r15
lea rcx, [rax + rax]
cmp rcx, rbp
cmova rbp, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rbp, r13
test rbp, rbp
je 0x1400451c5
cmp rbp, r13
ja 0x140045047
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.140133b54
lea r15, [rsi + rsi*4]
shl r15, 3
add r15, rax
je 0x140043fa7
movups xmmword [r15], xmm6
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [r15], rdx
mov rdx, qword [rsp + 0x58]
mov qword [r15 + 8], rdx
mov rdx, qword [rsp + 0x60]
mov qword [r15 + 0x10], rdx
mov qword [rsp + 0x60], rcx
movaps xmmword [rsp + 0x50], xmm6
mov ecx, dword [r12 + 8]
mov dword [r15 + 0x20], ecx
mov rcx, qword [r12]
mov qword [r15 + 0x18], rcx
mov r12, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rcx, r12
sub rcx, rsi
lea r10, [r15 + rcx]
jne 0x1400443c5
lea rcx, [rbp*4]
add rcx, rbp
lea rax, [rax + rcx*8]
add r15, 0x28
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xa0], rax
test r12, r12
je 0x140044365
mov rcx, r12
call fcn.140133b2c
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x98], r15
test rcx, rcx
mov rbp, qword [rsp + 0x38]
lea r12, [rsp + 0x68]
movabs r15, 0xcccccccccccccccd
jne 0x1400443a2
add rbx, 0x28
cmp rbx, r14
lea rdx, [rsp + 0x50]
je 0x1400447c0
jmp 0x140044222
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x58], rcx
call fcn.140133b2c
jmp 0x14004438b
mov r9, r12
mov rcx, r10
test rcx, rcx
je 0x140043fa7
movups xmmword [rcx], xmm6
xor r8d, r8d
mov qword [rcx + 0x10], r8
mov rdx, qword [r9]
mov qword [rcx], rdx
mov rdx, qword [r9 + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [r9 + 0x10]
mov qword [rcx + 0x10], rdx
mov qword [r9 + 0x10], r8
movups xmmword [r9], xmm6
mov edx, dword [r9 + 0x20]
mov dword [rcx + 0x20], edx
mov rdx, qword [r9 + 0x18]
mov qword [rcx + 0x18], rdx
add r9, 0x28
add rcx, 0x28
cmp r9, rsi
jne 0x1400443cb
test r12, r12
je 0x140043fa7
mov rcx, qword [r12]
test rcx, rcx
jne 0x140044440
add r12, 0x28
cmp r12, rsi
jne 0x140044418
mov r12, qword [rsp + 0x90]
jmp 0x14004432d
mov r8, qword [r12 + 8]
mov rdx, r8
sub rdx, rcx
dec r8
cmp rdx, r8
ja 0x140043fa7
jmp 0x140045024
test al, al
je 0x1400444c2
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x50]
call fcn.14003eae0
jmp 0x1400444c2
cmp byte [rdi + 0x61], 1
je 0x140043c80
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.140045bc0
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x14004445c
lea rbx, [rsp + 0xf0]
test al, al
jne 0x140045209
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140049e90
mov byte [rbx + 8], 1
cmp byte [rsp + 0x58], 1
jne 0x1400445ad
lea rcx, [rsp + 0x50]
call fcn.14004ce90
jmp 0x1400445ad
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x140043fa7
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
mov r8, qword [rcx]
mov qword [rdx], r8
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov r8, qword [rcx + 0x10]
mov qword [rdx + 0x10], r8
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm0
mov r8d, dword [rcx + 0x20]
mov dword [rdx + 0x20], r8d
mov r8, qword [rcx + 0x18]
mov qword [rdx + 0x18], r8
add rcx, 0x28
add rdx, 0x28
cmp rcx, rbp
jne 0x1400444e7
test r15, r15
je 0x140043fa7
mov rcx, qword [r15]
test rcx, rcx
jne 0x140044558
add r15, 0x28
cmp r15, rbp
jne 0x140044531
mov r15, qword [rsp + 0x90]
jmp 0x140044758
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [r15 + 8], rcx
call fcn.140133b2c
jmp 0x140044542
mov rcx, qword [rbx]
call fcn.140133b2c
lea rax, [rbx - 0x18]
cmp rbx, rsi
mov rbx, rax
je 0x14004459e
test rbx, rbx
je 0x140043fa7
cmp byte [rbx + 0x17], 0
js 0x140044579
jmp 0x140044581
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rsi
call fcn.140133b2c
mov al, byte [rsp + 0xf8]
test al, al
je 0x14004506e
cmp byte [rdi + 0x61], 1
jne 0x1400445e4
cmp byte [rdi + 0x62], 1
jne 0x1400445e4
lea rcx, [rsp + 0xf0]
call fcn.140045940
test al, al
je 0x14004506e
mov al, byte [rsp + 0xf8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
movaps xmmword [rsp + 0x80], xmm6
test al, 1
je 0x140043fa7
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.140124ce0
cmp byte [rbx + 8], 0
je 0x140045061
movabs r13, 0x666666666666666
movabs rsi, 0x333333333333333
cmp byte [rdi + 0x60], 1
jne 0x140044dde
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
cmp byte [rsp + 0xf8], 0
je 0x140043fa7
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.1400456b0
cmp byte [rbx + 0x18], 1
jne 0x140045165
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x140045088
mov rcx, qword [rsp + 0x90]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea r12, [rbx + 1]
cmp r12, r13
ja 0x14004504c
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, r12
cmova r12, rcx
cmp rax, rsi
cmovae r12, r13
test r12, r12
je 0x140045059
cmp r12, r13
ja 0x140045047
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.140133b54
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x140043fa7
mov r13, rbp
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140102970
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov rax, r15
sub rax, rbp
lea rsi, [rbx + rax]
jne 0x1400444dc
lea rax, [r12 + r12*4]
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rax
test r15, r15
mov rbp, r13
jne 0x14004507b
movabs r13, 0x666666666666666
mov qword [rsp + 0x98], rbx
cmp byte [rsp + 0x68], 1
jne 0x1400447af
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x140043fff
mov rbx, qword [rdi + 0x30]
mov r14, qword [rdi + 0x38]
cmp rbx, r14
jne 0x140044206
cmp byte [rsp + 0xf8], 0
je 0x140043fa7
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.140122a30
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.140102970
mov rcx, qword [rbx]
test rcx, rcx
movabs rsi, 0x333333333333333
jne 0x140044ad8
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x140044b2a
mov rcx, qword [rsp + 0x90]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea r12, [rbx + 1]
cmp r12, r13
ja 0x14004504c
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, r12
cmova r12, rcx
cmp rax, rsi
cmovae r12, r13
test r12, r12
je 0x140045112
cmp r12, r13
ja 0x140045047
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.140133b54
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x140043fa7
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.140102970
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov rax, r15
sub rax, r13
lea rsi, [rbx + rax]
jne 0x140044be8
lea rax, [r12 + r12*4]
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rax
test r15, r15
je 0x140044916
mov rcx, r15
call fcn.140133b2c
mov qword [rsp + 0x98], rbx
mov rcx, qword [rsp + 0x100]
test rcx, rcx
jne 0x140044afe
cmp byte [rsp + 0x88], 0
je 0x140043fa7
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x90]
call fcn.14003f9a0
test al, al
je 0x140045061
cmp byte [rsp + 0xf8], 0
je 0x140043fa7
cmp byte [rsp + 0x88], 0
je 0x140043fa7
mov rax, qword [rsp + 0x80]
lea r8, [rsp + 0x50]
mov qword [r8], rax
mov rcx, qword [rsp + 0xf0]
mov edx, 6
mov r9d, 8
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x140045061
cmp byte [rdi + 0x5c], 1
jne 0x1400449d3
cmp byte [rsp + 0xf8], 0
je 0x140043fa7
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0xf0]
call fcn.1400457d0
test al, al
je 0x140045061
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
cmp byte [rsp + 0xf8], 1
jne 0x140044a02
test rbp, rbp
je 0x140043fa7
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.140049e90
mov byte [rbp + 8], 1
cmp byte [rsp + 0x88], 1
jne 0x140044a2a
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x80], 0
test rcx, rcx
je 0x140044a2a
call fcn.140133f1c
mov rsi, qword [rsp + 0x90]
test rsi, rsi
je 0x140044a81
mov rdi, qword [rsp + 0x98]
mov rcx, rsi
cmp rdi, rsi
je 0x140044a74
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x140043fa7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140044b61
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x140044a4b
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rsi
call fcn.140133b2c
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x140044b7c
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
jne 0x140044c85
cmp byte [rsp + 0xf8], 1
jne 0x140044aba
lea rcx, [rsp + 0xf0]
call fcn.14004ce90
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
cmp rcx, qword [0x14022c040]
je 0x140044ceb
call fcn.1401363f0
int3
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x58], rcx
call fcn.140133b2c
jmp 0x140044809
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x108], rcx
call fcn.140133b2c
jmp 0x14004492f
test rbx, rbx
je 0x140043fa7
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.140102970
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140044916
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
jmp 0x140045008
mov rdi, qword [rsp + 0xb8]
mov rcx, rsi
cmp rdi, rsi
je 0x140044bb5
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x140043fa7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140044bc7
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x140044b90
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rsi
call fcn.140133b2c
jmp 0x140044a92
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rdi + 8], rcx
call fcn.140133b2c
jmp 0x140044ba1
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x140043fa7
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
mov r8, qword [rcx]
mov qword [rdx], r8
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov r8, qword [rcx + 0x10]
mov qword [rdx + 0x10], r8
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm0
mov r8d, dword [rcx + 0x20]
mov dword [rdx + 0x20], r8d
mov r8, qword [rcx + 0x18]
mov qword [rdx + 0x18], r8
add rcx, 0x28
add rdx, 0x28
cmp rcx, r13
jne 0x140044bf3
test r15, r15
je 0x140043fa7
mov rcx, qword [r15]
test rcx, rcx
jne 0x140044c64
add r15, 0x28
cmp r15, r13
jne 0x140044c3d
mov r15, qword [rsp + 0x90]
jmp 0x1400448e5
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [r15 + 8], rcx
call fcn.140133b2c
jmp 0x140044c4e
mov rdi, qword [rsp + 0xd8]
mov rcx, rsi
cmp rdi, rsi
je 0x140044cbe
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x140043fa7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140044cd0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x140044c99
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rsi
call fcn.140133b2c
jmp 0x140044aa3
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
jmp 0x140045016
mov rax, rbp
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rax, rax
je 0x140043fa7
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x10], rdx
mov qword [rsp + 0x60], rcx
movaps xmmword [rsp + 0x50], xmm0
add rax, 0x18
jmp 0x140044d96
lea r15, [rsp + 0x50]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.1400456b0
mov al, byte [r15 + 0x18]
cmp al, 1
jne 0x140044da2
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x140044d12
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x50]
call fcn.140045500
mov qword [rsp + 0xb8], rax
mov al, byte [rsp + 0x68]
test al, 1
je 0x140043c58
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140043c58
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x58], rcx
call fcn.140133b2c
jmp 0x140043c58
mov qword [rsp + 0x38], rbp
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x1400451cc
mov rcx, qword [rsp + 0x90]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea rbp, [rbx + 1]
cmp rbp, r13
ja 0x14004504c
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rbp
cmova rbp, rcx
cmp rax, rsi
cmovae rbp, r13
test rbp, rbp
je 0x1400451bd
cmp rbp, r13
ja 0x140045047
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.140133b54
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x140043fa7
lea r15, [rsp + 0x50]
mov rcx, r15
mov edx, 0xa
call fcn.140048010
mov rax, qword [r15]
lea r12, [rsp + 0x100]
mov qword [r12], rax
movups xmm0, xmmword [r15 + 8]
movups xmmword [r12 + 8], xmm0
mov rcx, r12
mov rdx, rbx
call fcn.140102970
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov rcx, qword [r12]
test rcx, rcx
jne 0x140044f31
mov r15, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rax, r15
sub rax, r12
lea rsi, [rbx + rax]
jne 0x140044f5d
lea rax, [rbp*4]
add rax, rbp
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rax
test r15, r15
jne 0x1400451fc
mov rbp, qword [rsp + 0x38]
mov qword [rsp + 0x98], rbx
jmp 0x1400447af
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x108], rcx
call fcn.140133b2c
jmp 0x140044ecf
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x140043fa7
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
mov r8, qword [rcx]
mov qword [rdx], r8
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov r8, qword [rcx + 0x10]
mov qword [rdx + 0x10], r8
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm0
mov r8d, dword [rcx + 0x20]
mov dword [rdx + 0x20], r8d
mov r8, qword [rcx + 0x18]
mov qword [rdx + 0x18], r8
add rcx, 0x28
add rdx, 0x28
cmp rcx, r12
jne 0x140044f68
test r15, r15
je 0x140043fa7
mov rcx, qword [r15]
test rcx, rcx
jne 0x140044fd9
add r15, 0x28
cmp r15, r12
jne 0x140044fb2
mov r15, qword [rsp + 0x90]
jmp 0x140044eeb
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [r15 + 8], rcx
call fcn.140133b2c
jmp 0x140044fc3
mov qword [rsi + 8], rcx
call fcn.140133b2c
jmp 0x140044150
mov qword [rdi + 8], rcx
call fcn.140133b2c
jmp 0x140044a60
mov qword [rdi + 8], rcx
call fcn.140133b2c
jmp 0x140044caa
mov qword [r12 + 8], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r10
call fcn.140133b2c
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
jmp 0x14004442a
call fcn.14016eb90
lea rcx, [rsp + 0x90]
call fcn.14016f450
xor r14d, r14d
jmp 0x140044708
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x140044a02
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x140044a81
mov rcx, r15
call fcn.140133b2c
jmp 0x140044788
test rbx, rbx
je 0x140043fa7
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140102970
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140044792
test rax, rax
je 0x140043fa7
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xd8], rax
jmp 0x140043c0c
mov rcx, rbx
call fcn.14004ce90
mov byte [rbx + 8], 0
jmp 0x140043cf6
xor r14d, r14d
jmp 0x14004488f
test rax, rax
je 0x140043fa7
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xb8], rax
jmp 0x140043c3e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x14004479a
xor eax, eax
mov byte [rbp], al
mov rsi, rbp
mov byte [rbp + 8], al
cmp byte [rsp + 0x68], 1
jne 0x140045192
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x14004519a
mov rbp, rsi
jmp 0x140044a02
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140043fa7
mov qword [rsp + 0x58], rcx
call fcn.140133b2c
jmp 0x140045192
xor r14d, r14d
jmp 0x140044e69
xor eax, eax
jmp 0x1400442bd
test rbx, rbx
je 0x140043fa7
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.14006c7d0
add rbx, 0x28
jmp 0x140044f1f
mov rcx, r15
call fcn.140133b2c
jmp 0x140044f1f
mov rcx, rbx
call fcn.14004ce90
mov byte [rbx + 8], 0
jmp 0x1400444c2
test rsi, rsi
je 0x140043fa7
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
xor eax, eax
mov qword [rsi + 0x10], rax
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsi + 8], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsi + 0x10], rcx
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0x50], xmm0
mov eax, dword [r12 + 8]
mov dword [rsi + 0x20], eax
mov rax, qword [r12]
mov qword [rsi + 0x18], rax
add rsi, 0x28
mov qword [rsp + 0x98], rsi
mov rbp, qword [rsp + 0x38]
jmp 0x14004438b