Function at 0x140041400
Capabilities:
Compare security identifiers

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm7
movaps xmmword [rsp + 0x130], xmm6
mov rbx, r8
mov qword [rsp + 0x48], rdx
mov rdi, rcx
mov rax, qword [0x140231040]
xor rax, rsp
mov qword [rsp + 0x128], rax
movaps xmm6, xmmword [0x1401fd000]
movaps xmmword [rsp + 0x100], xmm6
xor esi, esi
mov byte [rsp + 0x100], sil
mov byte [rsp + 0x108], sil
lea rdx, [rcx + 0x18]
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xe0]
mov qword [rcx + 0x10], r12
movaps xmmword [rcx], xmm6
call fcn.140043030
cmp byte [rdi + 0x80], sil
mov qword [rsp + 0x40], rbx
jne 0x140042331
cmp byte [rdi + 0x63], 0
je 0x1400416a5
mov rdx, qword [rbx]
lea r14, [rsp + 0x80]
mov rcx, r14
mov r8d, 2
call fcn.1400435d0
mov rsi, qword [r14]
mov rbp, qword [r14 + 8]
cmp rsi, rbp
je 0x140041633
xorps xmm7, xmm7
lea r15, [rsp + 0x110]
mov rbx, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x1400415ee
lea rcx, [rsp + 0xe0]
mov rdx, r15
call fcn.140042e70
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x1400415e5
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042b39
mov qword [rsp + 0x118], rcx
call fcn.14012aa6c
jmp 0x1400415e5
mov r12, qword [rsi]
mov r13, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub r13, r12
je 0x14004158c
js 0x140042b03
mov rcx, r13
call fcn.14012aa30
mov qword [rsp + 0x110], rax
lea r14, [rax + r13]
mov qword [rsp + 0x120], r14
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140163ed0
mov qword [rsp + 0x118], r14
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jae 0x1400414df
test rax, rax
je 0x140042b2b
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xe8], rax
add rsi, 0x20
cmp rsi, rbp
je 0x140041621
mov eax, dword [rsi + 0x18]
cmp eax, 0xbfffffff
ja 0x1400415e5
and eax, 0x20
jne 0x1400415e5
mov r12, qword [rdi + 0x68]
mov r13, qword [rdi + 0x70]
cmp r12, r13
je 0x140041534
mov rdx, qword [rsi]
mov rcx, qword [r12]
call rbx
test eax, eax
jne 0x1400415e5
add r12, 0x18
jmp 0x140041605
mov rsi, qword [rsp + 0x80]
movabs r12, 0xaaaaaaaaaaaaaaaa
test rsi, rsi
je 0x1400416a0
mov rbx, qword [rsp + 0x88]
mov rcx, rsi
cmp rbx, rsi
je 0x140041693
add rbx, 0xffffffffffffffe0
jmp 0x140041663
mov qword [rbx + 8], rcx
call fcn.14012aa6c
lea rax, [rbx - 0x20]
cmp rbx, rsi
mov rbx, rax
je 0x14004168b
test rbx, rbx
je 0x140042b13
mov rcx, qword [rbx]
test rcx, rcx
je 0x140041657
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14004164e
jmp 0x140042b22
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.14012aa6c
mov rbx, qword [rsp + 0x40]
lea r14, [rsp + 0xc0]
mov qword [r14 + 0x10], r12
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.140043030
cmp byte [rdi + 0x82], 0
je 0x1400417cb
lea r12, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
call fcn.140036050
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
sub r12, r15
je 0x140041745
js 0x140042b03
mov rcx, r12
call fcn.14012aa30
mov qword [rsp + 0x110], rax
lea rbx, [rax + r12]
mov qword [rsp + 0x120], rbx
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140163ed0
mov qword [rsp + 0x118], rbx
mov rbx, qword [rsp + 0x40]
test r15, r15
je 0x140041766
dec rsi
cmp r12, rsi
ja 0x140042c61
mov qword [rsp + 0x88], r15
mov rcx, r15
call fcn.14012aa6c
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140042d01
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
call fcn.140042e70
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
je 0x1400417cb
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042c64
mov qword [rsp + 0x118], rcx
call fcn.14012aa6c
cmp byte [rdi + 0x83], 0
je 0x1400419ac
mov rdx, qword [rbx]
lea r15, [rsp + 0x80]
mov rcx, r15
mov r8d, 2
call fcn.1400435d0
mov rsi, qword [r15]
mov rbx, qword [r15 + 8]
cmp rsi, rbx
je 0x14004193a
xorps xmm7, xmm7
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
jmp 0x140041866
test rax, rax
je 0x140042b1f
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xc8], rax
add rsi, 0x20
cmp rsi, rbx
je 0x14004192a
test byte [rsi + 0x18], 0x20
jne 0x140041859
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub rbp, r13
je 0x1400418c4
js 0x140042b03
mov rcx, rbp
call fcn.14012aa30
mov qword [rsp + 0x110], rax
lea r14, [rax + rbp]
mov qword [rsp + 0x120], r14
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.140163ed0
mov qword [rsp + 0x118], r14
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140041816
mov rcx, r15
mov rdx, r12
call fcn.140042e70
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rax
test rcx, rcx
je 0x140041859
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042b3c
mov qword [rsp + 0x118], rcx
call fcn.14012aa6c
jmp 0x140041859
mov rsi, qword [rsp + 0x80]
lea r14, [rsp + 0xc0]
test rsi, rsi
je 0x1400419a7
mov rbx, qword [rsp + 0x88]
mov rcx, rsi
cmp rbx, rsi
je 0x14004199a
add rbx, 0xffffffffffffffe0
jmp 0x14004196a
mov qword [rbx + 8], rcx
call fcn.14012aa6c
lea rax, [rbx - 0x20]
cmp rbx, rsi
mov rbx, rax
je 0x140041992
test rbx, rbx
je 0x140042b16
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004195e
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140041955
jmp 0x140042b25
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.14012aa6c
mov rbx, qword [rsp + 0x40]
cmp byte [rdi + 0x81], 0
jne 0x140042a5e
mov rax, qword [rsp + 0xe0]
cmp rax, qword [rsp + 0xe8]
jne 0x1400419e1
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
je 0x140042765
xorps xmm0, xmm0
lea rax, [rsp + 0x80]
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 + 0x110]
lea r9, [rsp + 0xe0]
mov rcx, rbx
mov rdx, r14
call fcn.1400439a0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x1400422c0
lea rbx, [rsp + 0x100]
test al, al
jne 0x140042c67
lea rdx, [rsp + 0x110]
mov rcx, rbx
call fcn.14003da50
mov byte [rbx + 8], 1
cmp byte [rsp + 0x118], 0
je 0x140041a75
lea rcx, [rsp + 0x110]
call fcn.1400376a0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
jne 0x140042c32
cmp byte [rsp + 0x108], 0
je 0x140042bad
cmp byte [rdi + 0x61], 0
jne 0x1400422e2
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0xb0]
mov rdx, rbx
call fcn.140043370
cmp byte [rbx + 8], 0
je 0x140042bc1
movabs rbp, 0x666666666666666
movabs r14, 0x333333333333333
cmp byte [rdi + 0x60], 0
movabs r15, 0xcccccccccccccccd
je 0x1400427f8
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
cmp byte [rsp + 0x108], 0
je 0x140042b67
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.140043460
cmp byte [rbx + 0x18], 0
je 0x140042c87
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140042bd2
mov rcx, qword [rsp + 0x110]
sub rbx, rcx
sar rbx, 3
imul rbx, r15
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x140042b6a
sub rax, rcx
sar rax, 3
imul rax, r15
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
cmp rax, r14
cmovae rsi, rbp
test rsi, rsi
je 0x140042b6d
cmp rsi, rbp
ja 0x140042b75
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.14012aa30
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x140042b78
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r12, r15
je 0x140041c22
js 0x140042b2e
mov rcx, r12
call fcn.14012aa30
mov qword [rbx], rax
lea r13, [rax + r12]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140163ed0
mov qword [rbx + 8], r13
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
mov r13, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov rax, r13
sub rax, r15
lea r12, [rbx + rax]
je 0x140041ce8
xorps xmm0, xmm0
xor eax, eax
mov rcx, r13
mov rdx, r12
test rdx, rdx
je 0x140042c4f
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, r15
jne 0x140041c5c
test r13, r13
je 0x140042c52
mov rcx, qword [r13]
test rcx, rcx
je 0x140041cd7
mov rax, qword [r13 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042c55
mov qword [r13 + 8], rcx
call fcn.14012aa6c
add r13, 0x28
cmp r13, r15
jne 0x140041ca6
mov r15, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rax
test r15, r15
jne 0x140042ba0
mov qword [rsp + 0x118], rbx
cmp byte [rsp + 0x98], 0
je 0x140041d5b
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140041d5b
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042bbe
mov qword [rsp + 0x88], rcx
call fcn.14012aa6c
mov r12, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
cmp r12, rax
jne 0x140042435
cmp byte [rsp + 0x108], 0
je 0x140042b4e
lea rcx, [rsp + 0x100]
lea r14, [rsp + 0x80]
mov rdx, r14
call fcn.140036050
mov rbx, qword [r14]
mov rsi, qword [r14 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
sub r12, rbx
je 0x140042b8f
js 0x140042b51
mov rcx, r12
call fcn.14012aa30
mov r14, rax
mov qword [rsp + 0x60], rax
lea r15, [rax + r12]
mov qword [rsp + 0x70], r15
mov rcx, rax
mov rdx, rbx
mov r8, r12
call fcn.140163ed0
mov qword [rsp + 0x68], r15
test rbx, rbx
je 0x140041e09
dec rsi
cmp r12, rsi
ja 0x140042b9a
mov qword [rsp + 0x88], rbx
mov rcx, rbx
call fcn.14012aa6c
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140042700
mov rcx, qword [rsp + 0x110]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x140042b7b
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rsi, rbp
test rsi, rsi
je 0x140042b7e
cmp rsi, rbp
ja 0x140042b86
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.14012aa30
mov r12, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r12
je 0x140042b89
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140041ee8
js 0x140042b2e
mov rcx, r15
call fcn.14012aa30
mov qword [rbx], rax
lea r13, [rax + r15]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140163ed0
mov qword [rbx + 8], r13
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov r13, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov rax, r13
sub rax, r14
lea r15, [rbx + rax]
je 0x140041fb4
xorps xmm0, xmm0
xor eax, eax
mov rcx, r13
mov rdx, r15
test rdx, rdx
je 0x140042c58
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, r14
jne 0x140041f28
test r13, r13
je 0x140042c5b
mov rcx, qword [r13]
test rcx, rcx
je 0x140041fa3
mov rax, qword [r13 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042c5e
mov qword [r13 + 8], rcx
call fcn.14012aa6c
add r13, 0x28
cmp r13, r14
jne 0x140041f72
mov r14, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
lea rax, [r12 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rax
test r14, r14
je 0x140041fe5
mov rcx, r14
call fcn.14012aa6c
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x118], rbx
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140042018
mov rax, qword [rsp + 0x68]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042b9d
call fcn.14012aa6c
cmp byte [rsp + 0xb8], 0
je 0x140042b5b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x110]
call fcn.140049990
test al, al
je 0x140042b3f
cmp byte [rsp + 0x108], 0
je 0x140042b5e
cmp byte [rsp + 0xb8], 0
je 0x140042b61
mov rax, qword [rsp + 0xb0]
lea r8, [rsp + 0x80]
mov qword [r8], rax
mov rcx, qword [rsp + 0x100]
mov edx, 6
mov r9d, 8
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x140042b3f
cmp byte [rdi + 0x5c], 0
je 0x1400420bf
cmp byte [rsp + 0x108], 0
je 0x140042b8c
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0x100]
call fcn.140043210
test al, al
je 0x140042b3f
xor eax, eax
mov byte [rsi], al
mov byte [rsi + 8], al
cmp byte [rsp + 0x108], al
je 0x1400420ec
test rsi, rsi
je 0x140042b64
lea rdx, [rsp + 0x100]
mov rcx, rsi
call fcn.14003da50
mov byte [rsi + 8], 1
cmp byte [rsp + 0xb8], 0
je 0x140042114
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], 0
test rcx, rcx
je 0x140042114
call fcn.14012ab3c
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x140042186
mov rdi, qword [rsp + 0x118]
mov rcx, rsi
cmp rdi, rsi
je 0x140042179
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x140042b36
mov rcx, qword [rdi]
test rcx, rcx
je 0x140042165
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042b4b
mov qword [rdi + 8], rcx
call fcn.14012aa6c
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x140042135
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rsi
call fcn.14012aa6c
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x1400421fb
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x1400421ee
add rdi, 0xffffffffffffffe8
jmp 0x1400421be
mov qword [rdi + 8], rcx
call fcn.14012aa6c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x1400421e6
test rdi, rdi
je 0x140042b10
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400421b2
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400421a9
jmp 0x140042b1c
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14012aa6c
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
je 0x140042270
mov rdi, qword [rsp + 0xe8]
mov rcx, rsi
cmp rdi, rsi
je 0x140042263
add rdi, 0xffffffffffffffe8
jmp 0x140042233
mov qword [rdi + 8], rcx
call fcn.14012aa6c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14004225b
test rdi, rdi
je 0x140042b19
mov rcx, qword [rdi]
test rcx, rcx
je 0x140042227
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14004221e
jmp 0x140042b28
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rsi
call fcn.14012aa6c
cmp byte [rsp + 0x108], 0
je 0x140042287
lea rcx, [rsp + 0x100]
call fcn.1400376a0
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.14012d2c0
mov rax, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test al, al
je 0x140041a75
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x110]
call fcn.14004ac40
jmp 0x140041a5e
cmp byte [rdi + 0x62], 0
je 0x140041a9e
lea rcx, [rsp + 0x100]
call fcn.1400437d0
test al, al
je 0x140042bad
cmp byte [rsp + 0x108], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
jne 0x140041abd
int3
lea r15, [rsp + 0x80]
mov rcx, rbx
mov rdx, r15
call fcn.140036050
mov r14, qword [r15]
mov rsi, qword [r15 + 8]
mov r15, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
sub r15, r14
je 0x1400423a7
js 0x140042b03
mov rcx, r15
call fcn.14012aa30
mov qword [rsp + 0x110], rax
lea rbx, [rax + r15]
mov qword [rsp + 0x120], rbx
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140163ed0
mov qword [rsp + 0x118], rbx
mov rbx, qword [rsp + 0x40]
test r14, r14
je 0x1400423c8
dec rsi
cmp r15, rsi
ja 0x140042c81
mov qword [rsp + 0x88], r14
mov rcx, r14
call fcn.14012aa6c
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x140042d5e
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
call fcn.140042e70
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x140041495
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042c84
mov qword [rsp + 0x118], rcx
call fcn.14012aa6c
jmp 0x140041495
xorps xmm6, xmm6
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov ebp, dword [r12 + 0x18]
mov edi, dword [r12 + 0x1c]
mov r13d, dword [r12 + 0x20]
mov r14, qword [r12]
mov r15, qword [r12 + 8]
movaps xmmword [rsp + 0x80], xmm6
mov qword [rsp + 0x90], 0
sub r15, r14
je 0x140042c78
js 0x140042c05
mov rcx, r15
call fcn.14012aa30
mov rbx, rax
mov qword [rsp + 0x80], rax
lea rsi, [rax + r15]
mov qword [rsp + 0x90], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140163ed0
mov qword [rsp + 0x88], rsi
mov dword [rsp + 0x98], ebp
mov dword [rsp + 0x9c], edi
mov dword [rsp + 0xa0], r13d
mov r14, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp r14, rax
jb 0x140042db1
mov rcx, qword [rsp + 0x110]
sub r14, rcx
sar r14, 3
movabs rdx, 0xcccccccccccccccd
imul r14, rdx
lea rsi, [r14 + 1]
movabs rbp, 0x666666666666666
cmp rsi, rbp
mov rdi, qword [rsp + 0x50]
ja 0x140042c12
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rsi, rbp
test rsi, rsi
je 0x140042c15
cmp rsi, rbp
ja 0x140042c1d
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.14012aa30
mov r9, rax
lea r15, [r14 + r14*4]
shl r15, 3
add r15, r9
je 0x140042c20
movups xmmword [r15], xmm6
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov rax, qword [rsp + 0x80]
mov qword [r15], rax
mov rax, qword [rsp + 0x88]
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x90]
mov qword [r15 + 0x10], rax
mov qword [rsp + 0x90], rcx
movaps xmmword [rsp + 0x80], xmm6
lea rcx, [rsp + 0x98]
mov eax, dword [rcx + 8]
mov dword [r15 + 0x20], eax
mov rax, qword [rcx]
mov qword [r15 + 0x18], rax
mov rbx, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov rax, rbx
sub rax, r14
lea r13, [r15 + rax]
je 0x140042687
mov rax, rbx
mov rcx, r13
test rcx, rcx
je 0x140042c26
movups xmmword [rcx], xmm6
xor r8d, r8d
mov qword [rcx + 0x10], r8
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rdx, qword [rax + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [rax + 0x10]
mov qword [rcx + 0x10], rdx
mov qword [rax + 0x10], r8
movups xmmword [rax], xmm6
mov edx, dword [rax + 0x20]
mov dword [rcx + 0x20], edx
mov rdx, qword [rax + 0x18]
mov qword [rcx + 0x18], rdx
add rax, 0x28
add rcx, 0x28
cmp rax, r14
jne 0x1400425f1
test rbx, rbx
je 0x140042c29
mov rcx, qword [rbx]
test rcx, rcx
je 0x140042676
mov qword [rsp + 0x58], r9
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042c2c
mov qword [rbx + 8], rcx
call fcn.14012aa6c
mov r9, qword [rsp + 0x58]
add rbx, 0x28
cmp rbx, r14
jne 0x14004263c
mov r14, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
lea rax, [r9 + rax*8]
add r15, 0x28
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x118], r15
mov qword [rsp + 0x120], rax
test r14, r14
je 0x1400426b8
mov rcx, r14
call fcn.14012aa6c
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x118], r15
test rcx, rcx
je 0x1400426ec
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042c23
call fcn.14012aa6c
add r12, 0x28
cmp r12, qword [rsp + 0x40]
je 0x140041d6c
jmp 0x140042442
test rbx, rbx
je 0x140042cfe
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140042747
js 0x140042b2e
mov rcx, r15
call fcn.14012aa30
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140163ed0
mov qword [rbx + 8], rsi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140041fe5
cmp byte [rdi + 0x61], 0
jne 0x1400419e1
lea r14, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.1400438c0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x1400427d9
lea rbx, [rsp + 0x100]
test al, al
jne 0x140042e4a
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.14003da50
mov byte [rbx + 8], 1
cmp byte [rsp + 0x88], 0
je 0x140041a86
lea rcx, [rsp + 0x80]
call fcn.1400376a0
jmp 0x140041a86
test al, al
je 0x140041a86
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x80]
call fcn.14004ac40
jmp 0x1400427b9
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140042e12
mov rcx, qword [rsp + 0x110]
sub rbx, rcx
sar rbx, 3
imul rbx, r15
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x140042cee
sub rax, rcx
sar rax, 3
imul rax, r15
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
cmp rax, r14
cmovae rsi, rbp
test rsi, rsi
je 0x140042cf1
cmp rsi, rbp
ja 0x140042cf8
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.14012aa30
lea rbx, [rbx + rbx*4]
shl rbx, 3
mov qword [rsp + 0x40], rax
add rbx, rax
je 0x140042cfb
lea r12, [rsp + 0x80]
mov rcx, r12
mov edx, 0xa
call fcn.140046c70
mov r15, qword [r12]
mov r13, qword [r12 + 8]
mov r12, r13
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r12, r15
je 0x1400428ec
js 0x140042b2e
mov r14, rbp
mov rcx, r12
call fcn.14012aa30
mov qword [rbx], rax
lea rbp, [rax + r12]
mov qword [rbx + 0x10], rbp
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140163ed0
mov qword [rbx + 8], rbp
mov rbp, r14
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
test r15, r15
je 0x14004291a
dec r13
cmp r12, r13
ja 0x140042dae
mov rcx, r15
call fcn.14012aa6c
mov r13, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov rax, r13
sub rax, r15
lea r12, [rbx + rax]
je 0x1400429d1
xorps xmm0, xmm0
xor eax, eax
mov rcx, r13
mov rdx, r12
test rdx, rdx
je 0x140042e41
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, r15
jne 0x140042945
test r13, r13
je 0x140042e44
mov rcx, qword [r13]
test rcx, rcx
je 0x1400429c0
mov rax, qword [r13 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042e47
mov qword [r13 + 8], rcx
call fcn.14012aa6c
add r13, 0x28
cmp r13, r15
jne 0x14004298f
mov r15, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rax*8]
add rbx, 0x28
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rax
test r15, r15
jne 0x140042d51
mov qword [rsp + 0x118], rbx
jmp 0x140041d5b
test rax, rax
je 0x140042e5b
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + 0x80]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rax + 0x10], rdx
mov qword [rsp + 0x90], rcx
movaps xmmword [rsp + 0x80], xmm0
add rax, 0x18
jmp 0x140042ab0
lea r15, [rsp + 0x80]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.140043460
cmp byte [r15 + 0x18], 0
je 0x1400419b9
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140042a10
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
call fcn.140042e70
mov qword [rsp + 0xc8], rax
cmp byte [rsp + 0x98], 0
je 0x1400419b9
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1400419b9
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042e3e
mov qword [rsp + 0x88], rcx
call fcn.14012aa6c
jmp 0x1400419b9
lea rcx, [rsp + 0x110]
call fcn.140164a90
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.140164a90
int3
int3
int3
xor eax, eax
mov byte [rsi], al
mov byte [rsi + 8], al
jmp 0x1400420ec
int3
int3
lea rcx, [rsp + 0x60]
call fcn.140164a90
int3
int3
int3
int3
int3
int3
xor r14d, r14d
jmp 0x140041bc3
int3
int3
int3
xor r12d, r12d
jmp 0x140041e99
int3
int3
int3
xor r14d, r14d
xor r15d, r15d
jmp 0x140041de8
int3
int3
mov rcx, r15
call fcn.14012aa6c
jmp 0x140041d15
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
mov byte [rcx + 8], al
jmp 0x140042186
int3
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
mov byte [rcx + 8], al
jmp 0x1400420ec
test rbx, rbx
je 0x140042e61
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x80]
mov rcx, rbx
mov r8d, 3
xor r9d, r9d
call fcn.140071ac0
add rbx, 0x28
jmp 0x140041d15
lea rcx, [rsp + 0x80]
call fcn.140164a90
int3
xor r9d, r9d
jmp 0x140042567
int3
int3
int3
int3
int3
int3
int3
lea rbx, [rsp + 0x80]
mov rcx, rbx
call fcn.14011aa40
mov rcx, qword [rbx]
call fcn.14012aa6c
jmp 0x140041a86
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.1400376a0
mov byte [rbx + 8], 0
jmp 0x140041a5e
xor esi, esi
xor ebx, ebx
jmp 0x1400424b2
int3
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x140041d1d
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
mov byte [rcx + 8], al
cmp byte [rsp + 0x98], al
je 0x1400420ec
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1400420ec
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042e5e
mov qword [rsp + 0x88], rcx
call fcn.14012aa6c
jmp 0x1400420ec
int3
xor eax, eax
jmp 0x140042871
int3
int3
int3
test rax, rax
je 0x140042e64
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xc8], rax
mov rbx, qword [rsp + 0x40]
jmp 0x1400417cb
mov rcx, r15
call fcn.14012aa6c
jmp 0x140042a03
test rax, rax
je 0x140042e67
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xe8], rax
mov rbx, qword [rsp + 0x40]
jmp 0x140041495
int3
test r14, r14
je 0x140042c2f
mov qword [r14], rbx
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0x98]
mov eax, dword [rcx + 8]
mov dword [r14 + 0x20], eax
mov rax, qword [rcx]
mov qword [r14 + 0x18], rax
add r14, 0x28
mov qword [rsp + 0x118], r14
movabs rbp, 0x666666666666666
mov rdi, qword [rsp + 0x50]
jmp 0x1400426ec
test rbx, rbx
je 0x140042e6a
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.140071b50
add rbx, 0x28
jmp 0x140042a03
int3
int3
int3
int3
mov rcx, rbx
call fcn.1400376a0
mov byte [rbx + 8], 0
jmp 0x1400427b9
int3
int3
int3
int3
int3
int3