Function at 0x180033bc0
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
movaps xmmword [rbp - 0x10], xmm7
movaps xmmword [rbp - 0x20], xmm6
mov rax, qword [0x180335e10]
xor rax, rbp
mov qword [rbp - 0x28], rax
cmp dword [0x180343270], 0xa
jl 0x180033c12
mov eax, dword [0x18034326c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180033c12
nop word cs:[rax + rax]
nop
jmp 0x180033c10
mov eax, 0x10
call fcn.1800e8ef0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1800e8ef0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1800e8ef0
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.1800e8ef0
sub rsp, rax
mov rbx, rsp
mov edx, dword [0x180343580]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp dword [0x18034357c], 0xa
setl dl
jl 0x180033c82
test eax, eax
je 0x180033c82
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x180033c80
movaps xmm6, xmmword [str.ZwOpenThreadTokeZwReadVirtualMemlyo]
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
movaps xmm7, xmmword [0x18010b600]
mov qword [rbp - 0x30], rbx
mov byte [rcx], 0x79
movabs rbx, 0x7372793277767d6c
mov qword [rcx + 1], rbx
mov byte [rcx + 9], 0
test eax, eax
sete al
or al, dl
nop word [rax + rax]
test al, 1
je 0x180033cc0
mov eax, dword [0x180343794]
lea edx, [rax - 1]
imul edx, eax
cmp dword [0x180343798], 9
setg r8b
and r8b, dl
mov r11d, 0x7fffffe8
xor r15d, r15d
jmp 0x180033d5c
movzx edx, byte [rcx + r15]
mov esi, r11d
and esi, 0x5905c091
lea eax, [r15 + 0x17]
mov edi, eax
and edi, 0xa6fa3f6e
or edi, esi
xor edi, edx
xor edi, 0x91
and edi, eax
lea esi, [r11 - 0x7ff80000]
and esi, 0x69081
mov ebx, eax
and ebx, 0x2c402f0e
or ebx, esi
and eax, 0xd3b94070
or eax, ebx
mov ebx, eax
xor ebx, 0x7e
or ebx, edx
xor eax, edx
xor eax, 0x81
and eax, ebx
or eax, edi
mov byte [rcx + r15], al
add r15, 1
add r11d, 0xffffffff
cmp r15, 9
je 0x180033e60
test r8b, r8b
je 0x180033cf0
movzx r9d, byte [rcx + r15]
lea r10d, [r11 - 0x80000000]
lea esi, [r15 + 0x17]
mov eax, r10d
and eax, 0x91d39476
mov edx, esi
and edx, 0x6e2c6b89
or edx, eax
mov eax, edx
and eax, 0x879a8605
xor eax, 0x81928404
xor edx, 0x16491273
or edx, eax
mov eax, edx
not eax
mov ebx, esi
and ebx, 0xa9aaaec9
mov edi, r11d
and edi, 0x56555136
or edi, ebx
mov ebx, esi
or ebx, 0x879a8605
xor edi, 0x2e3028cc
and edi, ebx
and eax, edi
xor edi, edx
xor edi, eax
mov edx, r10d
or edx, r9d
mov eax, esi
and eax, 0x240c0e26
and r10d, 0x92d20151
and esi, 0x48210088
add eax, r10d
add eax, 0x100f000
or esi, 0x240c0e26
xor esi, eax
mov eax, esi
xor eax, 0x4921f088
or eax, r9d
xor esi, r9d
xor esi, 0xb6de0f77
and esi, eax
mov ebx, edx
and ebx, 0xac6624d7
mov eax, edx
and eax, 0x5399db28
or eax, 0x846220c2
xor eax, ebx
mov r9d, eax
xor r9d, 0xea
mov ebx, esi
not edx
and edx, esi
and esi, 0xac6604d7
or esi, 0x41994b28
and ebx, 0x52990b28
xor ebx, esi
and r9d, ebx
not ebx
xor eax, 0x15
and eax, ebx
or edx, r9d
or edx, eax
xor edx, edi
xor dl, 5
mov byte [rcx + r15], dl
jmp 0x180033cf0
mov byte [rcx + 9], 0
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rsp, 0x20
mov rsi, rax
cmp dword [0x180343508], 0xa
jl 0x180033e93
mov eax, dword [0x180343504]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800346a0
movups xmmword [r14], xmm6
mov word [r14 + 0x10], 0x6e
sub rsp, 0x20
mov rcx, rsi
mov rdx, r14
call r12
add rsp, 0x20
movsx eax, byte [rax + 4]
add eax, 0xffffffff
mov dword [0x180337088], eax
mov dword [0x18033708c], eax
cmp dword [0x180343500], 0xa
jl 0x180033ee0
mov eax, dword [0x1803434fc]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800346b0
mov dword [r13 + 0x10], 0x797248
movups xmmword [r13], xmm7
mov byte [r13 + 0x10], 0x6f
sub rsp, 0x20
mov rcx, rsi
mov rdx, r13
call r12
add rsp, 0x20
mov eax, dword [rax + 4]
mov dword [0x180337090], eax
mov edx, dword [0x1803438cc]
mov ecx, dword [0x1803438d0]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180033f2e
test eax, eax
jne 0x1800346c0
movabs rdx, 0x4d646e7e6f486f4d
mov rbx, qword [rbp - 0x30]
mov qword [rbx], rdx
mov dword [rbx + 8], 0x4b55437a
mov word [rbx + 0xc], 0x4a4c
cmp ecx, 0xa
jl 0x180033f59
test eax, eax
jne 0x1800346d0
mov qword [rbp - 0x38], rsi
mov eax, dword [0x180343668]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp dword [0x180343664], 9
mov byte [rbx + 0xe], 0
setg r12b
mov r14d, r12d
and r14b, dl
xor al, r12b
or r12b, dl
and r12b, al
mov dl, 0x4d
xor edi, edi
nop word cs:[rax + rax]
nop dword [rax + rax]
lea r9d, [rdi + 0x17]
mov eax, r9d
and eax, 0xe6d52275
mov r10d, 0x1fffffe8
sub r10d, edi
and r10d, 0x192add8a
or r10d, eax
mov esi, 0x7fffffe8
sub esi, edi
mov eax, esi
and eax, 0x47c0ded1
mov r13d, r9d
and r13d, 0xb83f212e
or r13d, eax
mov eax, r13d
xor eax, 0xb83f212e
mov dword [rbp - 0x40], eax
mov ebx, 0xffffffe8
sub ebx, edi
mov eax, ebx
and eax, 0x8792391c
mov r11d, r9d
and r11d, 0x786dc6e3
or r11d, eax
mov r15d, r9d
and r15d, 3
mov r8d, esi
and r8d, 0xfc
or r8d, r15d
xor r8d, 3
mov ecx, 0x7fe8
mov r15, rdi
sub ecx, edi
and ecx, 0x4024
and esi, 0x5830925b
and r9d, 0x27892080
or r9d, ecx
or r9d, esi
mov esi, r9d
xor esi, 0x27892080
test r14b, r14b
je 0x180034080
nop dword [rax]
movzx ecx, dl
mov edi, r10d
xor edi, ecx
xor edi, 0xe6d52275
mov edx, ebx
and edx, ecx
or edx, edi
mov edi, dword [rbp - 0x40]
or edi, ecx
xor ecx, r13d
xor ecx, 0x47c0ded1
and ecx, edi
mov edi, edx
xor edi, ecx
not edx
and edx, ecx
xor edx, edi
not dl
movzx eax, dl
mov ecx, r11d
xor ecx, eax
xor ecx, 0x786dc6e3
or ecx, ebx
mov edi, ecx
not edi
and eax, r8d
and edi, eax
xor eax, ecx
xor eax, edi
not al
test r12b, r12b
je 0x1800340d0
movzx edx, al
mov ecx, ebx
or ecx, edx
mov edi, esi
or edi, edx
xor edx, r9d
xor edx, 0x5830d27f
and edx, edi
mov edi, ecx
not edi
and edi, edx
xor edx, ecx
xor edx, edi
not dl
test r14b, r14b
jne 0x180034050
jmp 0x180034080
mov rdx, qword [rbp - 0x30]
mov rdi, r15
mov byte [rdx + r15], al
add rdi, 1
cmp rdi, 0xe
je 0x1800340f0
mov dl, byte [rdx + rdi]
jmp 0x180033fa0
mov byte [rdx + 0xe], 0
sub rsp, 0x20
mov rcx, qword [rbp - 0x38]
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call r12
add rsp, 0x20
mov eax, dword [rax + 4]
add rax, 0xffffffffffffffff
mov qword [0x180337078], rax
cmp dword [0x180343270], 0xa
jl 0x180034722
mov eax, dword [0x18034326c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180034722
mov eax, 0x10
call fcn.1800e8ef0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1800e8ef0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1800e8ef0
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.1800e8ef0
sub rsp, rax
mov rsi, rsp
mov ebx, dword [0x180343580]
mov edx, dword [0x18034357c]
lea edi, [rbx - 1]
imul edi, ebx
cmp edx, 0xa
jl 0x18003419c
mov eax, edi
and eax, 1
jne 0x1800346e0
mov qword [rbp - 0x30], rsi
cmp edx, 0xa
setl dl
movabs rax, 0x72793277767d6c79
mov qword [rcx], rax
mov word [rcx + 8], 0x73
test dil, 1
sete al
or al, dl
nop word cs:[rax + rax]
nop dword [rax]
test al, al
je 0x1800341d0
mov eax, dword [0x180343794]
lea edx, [rax - 1]
imul edx, eax
cmp dword [0x180343798], 9
setg r8b
and r8b, dl
mov r11d, 0x7fffffe8
xor r14d, r14d
jmp 0x18003426c
movzx edx, byte [rcx + r14]
mov esi, r11d
and esi, 0x5905c091
lea eax, [r14 + 0x17]
mov edi, eax
and edi, 0xa6fa3f6e
or edi, esi
xor edi, edx
xor edi, 0x91
and edi, eax
lea esi, [r11 - 0x7ff80000]
and esi, 0x69081
mov ebx, eax
and ebx, 0x2c402f0e
or ebx, esi
and eax, 0xd3b94070
or eax, ebx
mov ebx, eax
xor ebx, 0x7e
or ebx, edx
xor eax, edx
xor eax, 0x81
and eax, ebx
or eax, edi
mov byte [rcx + r14], al
add r14, 1
add r11d, 0xffffffff
cmp r14, 9
je 0x180034370
test r8b, r8b
je 0x180034200
movzx r9d, byte [rcx + r14]
lea r10d, [r11 - 0x80000000]
lea esi, [r14 + 0x17]
mov eax, r10d
and eax, 0x91d39476
mov edx, esi
and edx, 0x6e2c6b89
or edx, eax
mov eax, edx
and eax, 0x879a8605
xor eax, 0x81928404
xor edx, 0x16491273
or edx, eax
mov eax, edx
not eax
mov ebx, esi
and ebx, 0xa9aaaec9
mov edi, r11d
and edi, 0x56555136
or edi, ebx
mov ebx, esi
or ebx, 0x879a8605
xor edi, 0x2e3028cc
and edi, ebx
and eax, edi
xor edi, edx
xor edi, eax
mov edx, r10d
or edx, r9d
mov eax, esi
and eax, 0x240c0e26
and r10d, 0x92d20151
and esi, 0x48210088
add eax, r10d
add eax, 0x100f000
or esi, 0x240c0e26
xor esi, eax
mov eax, esi
xor eax, 0x4921f088
or eax, r9d
xor esi, r9d
xor esi, 0xb6de0f77
and esi, eax
mov ebx, edx
and ebx, 0xac6624d7
mov eax, edx
and eax, 0x5399db28
or eax, 0x846220c2
xor eax, ebx
mov r9d, eax
xor r9d, 0xea
mov ebx, esi
not edx
and edx, esi
and esi, 0xac6604d7
or esi, 0x41994b28
and ebx, 0x52990b28
xor ebx, esi
and r9d, ebx
not ebx
xor eax, 0x15
and eax, ebx
or edx, r9d
or edx, eax
xor edx, edi
xor dl, 5
mov byte [rcx + r14], dl
jmp 0x180034200
mov byte [rcx + 9], 0
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rsp, 0x20
mov rsi, rax
cmp dword [0x180343508], 0xa
jl 0x1800343a3
mov eax, dword [0x180343504]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800346f0
movaps xmmword [r15], xmm6
mov word [r15 + 0x10], 0x6e
sub rsp, 0x20
mov rcx, rsi
mov rdx, r15
call r12
add rsp, 0x20
movsx eax, byte [rax + 4]
add eax, 0xffffffff
mov dword [0x180337088], eax
mov dword [0x18033708c], eax
cmp dword [0x180343500], 0xa
jl 0x1800343f0
mov eax, dword [0x1803434fc]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180034700
mov dword [r13 + 0x10], 0x797248
movaps xmmword [r13], xmm7
mov byte [r13 + 0x10], 0x6f
sub rsp, 0x20
mov rcx, rsi
mov rdx, r13
call r12
add rsp, 0x20
mov eax, dword [rax + 4]
mov dword [0x180337090], eax
mov edx, dword [0x1803438cc]
mov ecx, dword [0x1803438d0]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x18003443e
test eax, eax
jne 0x180034710
movabs rdx, 0x4d646e7e6f486f4d
mov rbx, qword [rbp - 0x30]
mov qword [rbx], rdx
mov dword [rbx + 8], 0x4b55437a
mov word [rbx + 0xc], 0x4a4c
cmp ecx, 0xa
jl 0x180034469
test eax, eax
jne 0x180034720
mov qword [rbp - 0x38], rsi
mov eax, dword [0x180343668]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp dword [0x180343664], 9
mov byte [rbx + 0xe], 0
setg r15b
mov r13d, r15d
and r13b, cl
xor al, r15b
or r15b, cl
and r15b, al
mov dl, 0x4d
xor ecx, ecx
nop word cs:[rax + rax]
nop dword [rax + rax]
lea r9d, [rcx + 0x17]
mov eax, r9d
and eax, 0xe6d52275
mov r10d, 0x1fffffe8
sub r10d, ecx
and r10d, 0x192add8a
or r10d, eax
mov esi, 0x7fffffe8
sub esi, ecx
mov eax, esi
and eax, 0x47c0ded1
mov r12d, r9d
and r12d, 0xb83f212e
or r12d, eax
mov ebx, r12d
xor ebx, 0xb83f212e
mov edi, 0xffffffe8
sub edi, ecx
mov eax, edi
and eax, 0x8792391c
mov r11d, r9d
and r11d, 0x786dc6e3
or r11d, eax
mov r14d, r9d
and r14d, 3
mov r8d, esi
and r8d, 0xfc
or r8d, r14d
xor r8d, 3
mov r14d, 0x7fe8
mov qword [rbp - 0x40], rcx
sub r14d, ecx
and r14d, 0x4024
and esi, 0x5830925b
and r9d, 0x27892080
or r9d, r14d
mov r14d, ebx
or r9d, esi
mov esi, r9d
xor esi, 0x27892080
test r13b, r13b
je 0x180034590
nop
movzx ecx, dl
mov ebx, r10d
xor ebx, ecx
xor ebx, 0xe6d52275
mov edx, edi
and edx, ecx
or edx, ebx
mov ebx, r14d
or ebx, ecx
xor ecx, r12d
xor ecx, 0x47c0ded1
and ecx, ebx
mov ebx, edx
xor ebx, ecx
not edx
and edx, ecx
xor edx, ebx
not dl
movzx eax, dl
mov ebx, r11d
xor ebx, eax
xor ebx, 0x786dc6e3
or ebx, edi
mov ecx, ebx
not ecx
and eax, r8d
and ecx, eax
xor eax, ebx
xor eax, ecx
not al
test r15b, r15b
je 0x1800345e0
movzx edx, al
mov ecx, edi
or ecx, edx
mov ebx, esi
or ebx, edx
xor edx, r9d
xor edx, 0x5830d27f
and edx, ebx
mov ebx, ecx
not ebx
and ebx, edx
xor edx, ecx
xor edx, ebx
not dl
test r13b, r13b
jne 0x180034560
jmp 0x180034590
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x40]
mov byte [rdx + rcx], al
add rcx, 1
cmp rcx, 0xe
je 0x180034600
mov dl, byte [rdx + rcx]
jmp 0x1800344b0
mov byte [rdx + 0xe], 0
sub rsp, 0x20
mov rcx, qword [rbp - 0x38]
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call r12
add rsp, 0x20
mov eax, dword [rax + 4]
add rax, 0xffffffffffffffff
mov qword [0x180337078], rax
mov eax, 0x10
call fcn.1800e8ef0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1800e8ef0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1800e8ef0
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.1800e8ef0
sub rsp, rax
mov rbx, rsp
mov edx, dword [0x180343580]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp dword [0x18034357c], 0xa
setl dl
jl 0x180033c97
test eax, eax
je 0x180033c97
jmp 0x180033c80
jmp 0x1800346a0
jmp 0x1800346b0
jmp 0x1800346c0
jmp 0x1800346d0
jmp 0x1800346e0
jmp 0x1800346f0
jmp 0x180034700
jmp 0x180034710
jmp 0x180034720
mov rcx, qword [rbp - 0x28]
xor rcx, rbp
sub rsp, 0x20
call fcn.1800e8f50
add rsp, 0x20
movaps xmm6, xmmword [rbp - 0x20]
movaps xmm7, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret