Function at 0x587d80
Capabilities:
Run powershell expression

Disassembly:
lea r12, [rsp - 0x148]
cmp r12, qword [r14 + 0x10]
jbe 0x588ad0
push rbp
mov rbp, rsp
sub rsp, 0x1c0
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x208], rbx
test rcx, rcx
je 0x5885fe
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], rax
mov rdx, rcx
and edx, 0x1f
mov qword [rsp + 0x78], rdx
nop
nop word [rax + rax]
cmp rdx, 0x14
jne 0x587e2f
bt ecx, 9
jb 0x587df5
lea rsi, [0x0078ef68]
jmp 0x587e00
call fcn.0049d680
mov rsi, rax
mov rax, rbx
mov rcx, qword [rsi + 0xd0]
call rcx
test rax, rax
je 0x5885ad
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
cmp rdx, 0x17
jne 0x587e42
cmp qword [rbx + 8], 0
sete sil
nop
jmp 0x587e44
xor esi, esi
test sil, sil
je 0x587e76
cmp byte [rsp + 0x1f9], 0
je 0x587e76
xor eax, eax
xor ebx, ebx
mov rcx, rbx
call fcn.0040b020
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x0078b830]
add rsp, 0x1c0
pop rbp
ret
cmp byte [rsp + 0x1d0], 0
nop
je 0x587fab
cmp qword [rsp + 0x1d8], 0
je 0x587fab
lea rsi, [rdx - 2]
nop dword [rax]
cmp rsi, 4
ja 0x587fab
bt ecx, 9
jb 0x587eb9
lea rsi, [0x0078ef68]
jmp 0x587ec4
call fcn.0049d680
mov rsi, rax
mov rax, rbx
mov rbx, rax
mov rax, rsi
call fcn.0049e8a0
call fcn.0049ab40
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xc0], rbx
mov rdx, qword [rsp + 0x1d8]
mov rdi, qword [rdx]
call fcn.0049c940
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov edi, 1
call fcn.0049afe0
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], rbx
mov rcx, qword [rsp + 0x70]
mov edi, 1
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
call fcn.0049afe0
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
call fcn.004953a0
test al, al
jne 0x587f88
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
jmp 0x587fab
xor eax, eax
xor ebx, ebx
mov rcx, rbx
call fcn.0040b020
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x0078b830]
add rsp, 0x1c0
pop rbp
ret
cmp byte [rsp + 0x1d0], 0
je 0x588093
cmp qword [rsp + 0x1d8], 0
jne 0x588093
mov edi, 1
call fcn.0049afe0
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xa8], rbx
mov rcx, qword [rsp + 0x80]
bt ecx, 9
jb 0x588002
lea rdx, [0x0078ef68]
mov rsi, qword [rsp + 0xd0]
nop
jmp 0x58801d
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
call fcn.0049d680
mov rdx, rax
mov rsi, rbx
mov rax, rdx
mov rbx, rsi
call fcn.0049e7c0
mov edi, 1
call fcn.0049afe0
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xa8]
call fcn.004953a0
test al, al
jne 0x588070
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
jmp 0x588093
xor eax, eax
xor ebx, ebx
mov rcx, rbx
call fcn.0040b020
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x0078b830]
add rsp, 0x1c0
pop rbp
ret
bt ecx, 9
jb 0x5880a5
mov rsi, rax
lea rdi, [0x0078ef68]
jmp 0x5880cd
call fcn.0049d680
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xd0]
mov rdi, rax
mov rax, rbx
mov rbx, qword [rsp + 0xd8]
cmp qword [0x00984270], rdi
je 0x5880dc
bt ecx, 9
jmp 0x588117
mov rcx, qword [0x00984278]
mov rbx, rax
mov rax, rdi
call fcn.00404a60
test al, al
jne 0x5883ae
mov rcx, qword [rsp + 0x80]
bt ecx, 9
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xd0]
jb 0x588122
lea rax, [0x0078ef68]
jmp 0x58812d
mov rax, rsi
call fcn.0049d680
mov rsi, rbx
mov rbx, rsi
call fcn.005844a0
test dil, dil
je 0x588303
nop
test al, al
jne 0x5882f5
mov rdx, qword [rsp + 0x1f0]
test rdx, rdx
je 0x58819f
cmp rbx, 0x17
je 0x58819f
lea rcx, [0x00719376]
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], 0x2b
mov rax, qword [rsp + 0x100]
mov ebx, 0x2b
call fcn.0040af80
xor ebx, ebx
lea rcx, [0x0078ab20]
mov rdi, rax
xor eax, eax
add rsp, 0x1c0
pop rbp
ret
mov byte [rsp + 0x4f], cl
mov rsi, qword [rsp + 0x1e8]
test rsi, rsi
je 0x588200
cmp rbx, 0x13
jne 0x5881bb
test rsi, rsi
jmp 0x588209
lea rcx, [0x0071a9af]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], 0x2f
mov rax, qword [rsp + 0xf0]
mov ebx, 0x2f
call fcn.0040af80
xor ebx, ebx
lea rcx, [0x0078ab20]
mov rdi, rax
xor eax, eax
add rsp, 0x1c0
pop rbp
ret
cmp rbx, 0x13
jne 0x588274
test rsi, rsi
jne 0x58895e
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x18
jne 0x58822b
mov rbx, qword [rsp + 0xd8]
mov rsi, qword [rbx]
mov rdi, qword [rbx + 8]
jmp 0x588260
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
call fcn.0049d5c0
movzx ecx, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x78]
mov rdi, rbx
mov rsi, rax
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x50], rdi
xor eax, eax
jmp 0x588969
cmp rbx, 0x17
jne 0x5882ed
nop word [rax + rax]
cmp rdx, 0x18
je 0x5882d4
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov edi, 1
call fcn.0049afe0
lea rdx, [0x006ff4a0]
cmp rax, rdx
jne 0x58894f
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
mov rbx, rdx
call fcn.00585e60
test al, al
je 0x5882de
movzx ecx, byte [rsp + 0x4f]
mov eax, 0x18
jmp 0x588638
movzx ecx, byte [rsp + 0x4f]
mov eax, 0x17
jmp 0x588638
mov rax, rbx
jmp 0x588638
mov rcx, qword [rsp + 0x80]
bt ecx, 9
jmp 0x58830f
mov rcx, qword [rsp + 0x80]
bt ecx, 9
jb 0x588322
lea rax, [0x0078ef68]
mov rbx, qword [rsp + 0xd0]
jmp 0x588337
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
call fcn.0049d680
movups xmmword [rsp + 0x120], xmm15
test rax, rax
je 0x588349
mov rax, qword [rax + 8]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rbx
lea rax, [0x0070c968]
mov ebx, 0x13
lea rcx, [rsp + 0x120]
mov edi, 1
mov rsi, rdi
call fcn.004cfa00
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rbx
mov rax, qword [rsp + 0x110]
call fcn.0040af80
xor ebx, ebx
lea rcx, [0x0078ab20]
mov rdi, rax
xor eax, eax
add rsp, 0x1c0
pop rbp
ret
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov edi, 1
call fcn.0049afe0
movups xmmword [rsp + 0x178], xmm15
movups xmmword [rsp + 0x180], xmm15
movups xmmword [rsp + 0x190], xmm15
movups xmmword [rsp + 0x1a0], xmm15
movups xmmword [rsp + 0x1b0], xmm15
lea rdx, [0x006e75e0]
cmp rax, rdx
jne 0x588629
mov rdx, qword [rbx]
mov qword [rsp + 0x178], rdx
movups xmm0, xmmword [rbx + 8]
movups xmmword [rsp + 0x180], xmm0
movups xmm0, xmmword [rbx + 0x18]
movups xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [rbx + 0x28]
movups xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [rbx + 0x38]
movups xmmword [rsp + 0x1b0], xmm0
mov rdx, qword [rsp + 0x178]
mov qword [rsp + 0x130], rdx
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rsp + 0x138], xmm0
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0x158], xmm0
movups xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rsp + 0x168], xmm0
mov rbx, qword [rsp + 0x168]
test rbx, rbx
jne 0x588581
lea rax, [0x006d88e0]
call fcn.0040d7c0
mov qword [rsp + 0xa0], rax
mov rdi, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x138]
mov r8, qword [rsp + 0x150]
movzx r9d, byte [rsp + 0x140]
xor ebx, ebx
mov ecx, 8
call fcn.00585620
call fcn.0040b020
lea rcx, [0x0078b830]
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + 8], rcx
cmp dword [0x009d9570], 0
je 0x58851b
call fcn.004673c0
mov qword [r11], rax
mov rsi, qword [rdx + 0x10]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x10], rax
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
call fcn.0040b020
lea rdx, [0x0078b830]
mov rbx, qword [rsp + 0xa0]
mov qword [rbx + 0x18], rdx
cmp dword [0x009d9570], 0
je 0x588568
call fcn.004673c0
mov qword [r11], rax
mov rdx, qword [rbx + 0x20]
mov qword [r11 + 8], rdx
mov qword [rbx + 0x20], rax
lea rax, [0x0078b858]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c0
pop rbp
nop
ret
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x170]
call fcn.0040b020
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x0078b830]
add rsp, 0x1c0
pop rbp
ret
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
call fcn.0049ab40
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rsp + 0x20], xmm0
call fcn.00587d80
add rsp, 0x1c0
pop rbp
ret
lea rax, [0x007135c0]
mov ebx, 0x1e
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004ccb40
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0x1c0
pop rbp
ret
mov rbx, rdx
lea rcx, [0x006b0220]
call fcn.0040aba0
movzx edx, byte [rsp + 0x1f8]
test dl, dl
je 0x588695
cmp rax, 0x10
jne 0x588651
mov eax, 0x11
jmp 0x588695
lea rcx, [0x0071106d]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], 0x1a
mov rax, qword [rsp + 0xe0]
mov ebx, 0x1a
call fcn.0040af80
xor ebx, ebx
lea rcx, [0x0078ab20]
mov rdi, rax
xor eax, eax
add rsp, 0x1c0
pop rbp
ret
mov qword [rsp + 0x58], rax
nop word [rax + rax]
cmp rax, 0x11
jne 0x5886b2
test dl, dl
jne 0x5886b2
mov byte [rsp + 0x1f8], 1
lea rax, [0x006d88e0]
call fcn.0040d7c0
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rsp + 0x20], xmm0
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0xd0]
call fcn.00586cc0
mov rdx, qword [rsp + 0x98]
mov qword [rdx + 0x18], rax
cmp dword [0x009d9570], 0
je 0x588730
nop
call fcn.004673c0
mov qword [r11], rbx
mov rsi, qword [rdx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x20], rbx
test rcx, rcx
jne 0x588942
mov rcx, qword [rdx + 0x18]
mov rcx, qword [rcx + 0x20]
mov rax, rbx
call rcx
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x5888cf
cmp byte [rsp + 0x1d2], 0
je 0x58876c
mov edx, 1
jmp 0x588786
movzx edx, byte [rsp + 0x1d3]
test rdx, rdx
mov edx, 2
mov r10d, 3
cmovne rdx, r10
cmp byte [rsp + 0x1d1], 0
jne 0x588798
mov r10, qword [rcx]
jmp 0x5888d6
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rdx
xor ebx, ebx
mov ecx, 8
mov rdi, rbx
mov rsi, qword [rsp + 0x58]
mov r8, rax
movzx r9d, byte [rsp + 0x4f]
mov rax, qword [rsp + 0x98]
call fcn.00585620
call fcn.0040b020
lea rdx, [0x0078b830]
mov r10, qword [rsp + 0x98]
mov qword [r10 + 8], rdx
cmp dword [0x009d9570], 0
je 0x5887f8
call fcn.004673c0
mov qword [r11], rax
mov rcx, qword [r10 + 0x10]
mov qword [r11 + 8], rcx
mov qword [r10 + 0x10], rax
lea rax, [0x006d88e0]
call fcn.0040d7c0
lea rcx, [0x0078b858]
mov qword [rax + 0x18], rcx
cmp dword [0x009d9570], 0
jne 0x588826
mov rdx, qword [rsp + 0x98]
jmp 0x588836
call fcn.004673a0
mov rdx, qword [rsp + 0x98]
mov qword [r11], rdx
mov qword [rsp + 0x90], rax
mov qword [rax + 0x20], rdx
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov rcx, qword [rcx + 0x20]
mov rax, rdx
call rcx
mov rcx, qword [rsp + 0x1e0]
mov rsi, qword [rcx]
mov rcx, qword [rsp + 0x68]
lea r8, [rcx + rax]
mov rax, qword [rsp + 0x90]
xor ebx, ebx
mov ecx, 8
mov rdi, qword [rsp + 0x60]
mov r9d, 1
call fcn.00585620
call fcn.0040b020
lea rcx, [0x0078b830]
mov rbx, qword [rsp + 0x90]
mov qword [rbx + 8], rcx
cmp dword [0x009d9570], 0
je 0x5888b7
call fcn.004673c0
mov qword [r11], rax
mov rdx, qword [rbx + 0x10]
mov qword [r11 + 8], rdx
mov qword [rbx + 0x10], rax
lea rax, [0x0078b858]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c0
pop rbp
ret
xor edx, edx
mov r10, qword [rsp + 0x58]
xor ebx, ebx
mov ecx, 8
mov rdi, rdx
mov rsi, r10
mov r8, rax
movzx r9d, byte [rsp + 0x4f]
mov rax, qword [rsp + 0x98]
call fcn.00585620
call fcn.0040b020
lea rdx, [0x0078b830]
mov rbx, qword [rsp + 0x98]
mov qword [rbx + 8], rdx
cmp dword [0x009d9570], 0
je 0x58892a
call fcn.004673c0
mov qword [r11], rax
mov rdx, qword [rbx + 0x10]
mov qword [r11 + 8], rdx
mov qword [rbx + 0x10], rax
lea rax, [0x0078b858]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c0
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x1c0
pop rbp
ret
mov rbx, rdx
lea rcx, [0x006b0220]
call fcn.0040aba0
mov rax, rsi
jmp 0x588638
mov rax, r9
cmp rax, rdi
jge 0x588ac3
movzx r8d, byte [rsi + rax]
nop word [rax + rax]
cmp r8d, 0x80
jge 0x58898f
lea r9, [rax + 1]
jmp 0x5889c2
mov rbx, rdi
mov rcx, rax
mov rax, rsi
call fcn.0045dbe0
movzx ecx, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x50]
mov r8d, eax
mov r9, rbx
mov rbx, qword [rsp + 0xd8]
cmp r8d, 0x80
jge 0x588a40
lea r10d, [r8 - 0x61]
cmp r10b, 0x19
jbe 0x588966
lea r10d, [r8 - 0x41]
cmp r10b, 0x19
jbe 0x588966
lea r10d, [r8 - 0x30]
cmp r10b, 9
jbe 0x588966
lea r10d, [r8 - 0x27]
cmp r10b, 2
jbe 0x588966
lea r10d, [r8 - 0x2b]
nop
cmp r10b, 4
jbe 0x588966
cmp r8b, 0x20
je 0x588966
cmp r8b, 0x3a
je 0x588966
nop
cmp r8b, 0x3d
je 0x588966
cmp r8b, 0x3f
je 0x588966
cmp rdx, 0x18
jmp 0x588a44
cmp rdx, 0x18
jne 0x588a4f
mov rdx, qword [rbx]
mov rsi, qword [rbx + 8]
jmp 0x588a6b
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
nop
call fcn.0049d5c0
mov rsi, rbx
mov rdx, rax
mov rax, rdx
mov rbx, rsi
call fcn.00476e80
test al, al
je 0x588a8e
movzx ecx, byte [rsp + 0x4f]
mov rbx, qword [rsp + 0xd8]
mov eax, 0xc
jmp 0x588ac8
lea rax, [0x006c0560]
call fcn.0040d7c0
mov qword [rax + 8], 0x1c
lea rcx, [0x00712256]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00789ac0]
mov rdi, rax
xor eax, eax
add rsp, 0x1c0
pop rbp
ret
mov eax, 0x13
mov rsi, rax
jmp 0x58895e
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
nop
call fcn.004654a0
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
jmp fcn.00587d80