Function at 0x40c540
Capabilities:
Run powershell expression

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40ce08
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
cmp dword [0x0061bf0c], 2
nop
je 0x40cdf6
test rax, rax
je 0x40cd66
cmp byte [0x0061c3e4], 0
je 0x40c603
cmp dword [0x0061c3f0], 0
je 0x40c5e3
test rbx, rbx
je 0x40c5c5
test rax, 7
jne 0x40c5a0
mov edx, 8
jmp 0x40c5ca
test rax, 3
jne 0x40c5af
mov edx, 4
jmp 0x40c5ca
test rax, 1
mov edx, 1
mov esi, 2
cmove rdx, rsi
jmp 0x40c5ca
mov edx, 0x10
mov rbx, rdx
lea rcx, [0x0061ea40]
call fcn.0040d260
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
cmp byte [0x0061c1e0], 0
je 0x40c603
mov rdx, qword [0x0061c1e8]
cmp qword [r14 + 0x98], rdx
jne 0x40c603
inc qword [0x0061c1f0]
mov byte [rsp + 0x88], cl
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rax
cmp dword [0x0061bf04], 0
nop
je 0x40c67b
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0x90]
test rdx, rdx
jne 0x40c63c
mov qword [rsp + 0x58], r14
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rdx + 0x180]
sub rsi, rax
mov qword [rdx + 0x180], rsi
test rsi, rsi
jge 0x40c67d
mov qword [rsp + 0x60], rdx
mov rax, rdx
call fcn.0041c860
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x88]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x80]
jmp 0x40c67d
xor edx, edx
mov rsi, qword [r14 + 0x30]
nop
inc dword [rsi + 0xd8]
mov rsi, qword [r14 + 0x30]
mov r8, r14
test byte [r8], al
cmp dword [rsi + 0xc0], 0
jne 0x40cde5
mov r8, r14
cmp qword [rsi + 0x50], r8
je 0x40cdd0
mov dword [rsi + 0xc0], 1
mov r8, qword [rsi + 0xa0]
nop dword [rax]
test r8, r8
je 0x40c6cb
mov r8, qword [r8 + 0x40]
jmp 0x40c6d2
mov r8, qword [0x0061c010]
test r8, r8
je 0x40cdbf
nop dword [rax + rax]
test rbx, rbx
je 0x40c6f0
cmp qword [rbx + 8], 0
sete r9b
jmp 0x40c6f6
mov r9d, 1
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x38], r8
mov byte [rsp + 0x26], r9b
mov qword [rsp + 0x58], rdx
cmp rax, 0x8000
ja 0x40cab0
test r9b, r9b
je 0x40c8b3
nop
cmp rax, 0x10
jae 0x40c8b3
mov r10, qword [r8 + 0x18]
test rax, 7
jne 0x40c742
add r10, 7
and r10, 0xfffffffffffffff8
nop
jmp 0x40c762
test rax, 3
jne 0x40c754
add r10, 3
and r10, 0xfffffffffffffffc
jmp 0x40c762
bt eax, 0
jb 0x40c762
nop
inc r10
and r10, 0xfffffffffffffffe
lea r11, [rax + r10]
cmp r11, 0x10
ja 0x40c7c1
mov r12, qword [r8 + 0x10]
test r12, r12
je 0x40c7c1
lea rax, [r12 + r10]
mov qword [r8 + 0x18], r11
inc qword [r8 + 0x20]
mov dword [rsi + 0xc0], 0
nop
mov ecx, dword [rsi + 0xd8]
lea edx, [rcx - 1]
mov dword [rsi + 0xd8], edx
nop dword [rax + rax]
cmp ecx, 1
jne 0x40c7b7
cmp byte [r14 + 0xb1], 0
je 0x40c7b7
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov r10, qword [r8 + 0x50]
mov r11, qword [r10 + 0x40]
bsf rcx, r11
mov r12d, 0x40
cmove rcx, r12
cmp rcx, 0x40
jge 0x40c846
mov r12, qword [r10 + 0x30]
lea r13, [r12 + rcx]
mov r15, qword [r10 + 0x38]
cmp r15, r13
jbe 0x40c846
lea r12, [r12 + rcx]
lea r12, [r12 + 1]
nop word [rax + rax]
test r12, 0x3f
jne 0x40c813
cmp r15, r12
je 0x40c813
xor r11d, r11d
jmp 0x40c849
inc rcx
cmp rcx, 0x40
sbb r15, r15
shr r11, cl
and r11, r15
mov qword [r10 + 0x40], r11
mov qword [r10 + 0x30], r12
movzx r11d, word [r10 + 0x60]
inc r11d
mov word [r10 + 0x60], r11w
mov r11, qword [r10 + 0x68]
imul r11, r13
add r11, qword [r10 + 0x18]
jmp 0x40c849
xor r11d, r11d
test r11, r11
je 0x40c852
xor ecx, ecx
jmp 0x40c887
mov rax, r8
mov ebx, 5
call fcn.0040c320
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
movzx r9d, byte [rsp + 0x26]
mov r11, rax
mov r10, rbx
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
movups xmmword [r11], xmm15
cmp qword [r8 + 0x18], rax
ja 0x40c898
cmp qword [r8 + 0x10], 0
jne 0x40c8a5
mov r12, r11
mov qword [r8 + 0x10], r11
mov qword [r8 + 0x18], rax
jmp 0x40c8a8
mov r12, r11
mov r11d, 0x10
jmp 0x40caa9
cmp rax, 0x3f8
ja 0x40c8de
lea r10, [rax + 7]
shr r10, 3
cmp r10, 0x81
jae 0x40cdb2
lea r11, [0x005adc20]
movzx r10d, byte [r10 + r11]
jmp 0x40c902
lea r10, [rax - 0x381]
shr r10, 7
cmp r10, 0xf9
jae 0x40cda5
lea r11, [0x005aee00]
movzx r10d, byte [r10 + r11]
cmp r10, 0x44
jae 0x40cd95
lea r11, [0x005ade00]
movzx r11d, word [r11 + r10*2]
nop
shl r10d, 1
movzx r12d, r9b
or r10d, r12d
movzx r12d, r10b
cmp r12, 0x88
jae 0x40cd88
mov r12, qword [r8 + r12*8 + 0x28]
mov r13, qword [r12 + 0x40]
bsf r15, r13
mov rdi, rdx
mov edx, 0x40
cmove r15, rdx
cmp r15, 0x40
jge 0x40c9ec
mov rdx, qword [r12 + 0x30]
lea rsi, [rdx + r15]
mov r8, qword [r12 + 0x38]
cmp r8, rsi
jbe 0x40c9e2
lea rdx, [rdx + r15]
lea rdx, [rdx + 1]
test rdx, 0x3f
jne 0x40c993
nop dword [rax]
cmp r8, rdx
je 0x40c993
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
xor edx, edx
jmp 0x40c9ee
lea r8, [r15 + 1]
cmp r8, 0x40
sbb r15, r15
mov rcx, r8
shr r13, cl
and r13, r15
mov qword [r12 + 0x40], r13
mov qword [r12 + 0x30], rdx
movzx edx, word [r12 + 0x60]
inc edx
mov word [r12 + 0x60], dx
mov rdx, qword [r12 + 0x68]
imul rdx, rsi
add rdx, qword [r12 + 0x18]
movzx ecx, byte [rsp + 0x88]
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
nop
jmp 0x40c9ee
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
xor edx, edx
mov qword [rsp + 0x40], r11
test rdx, rdx
je 0x40c9fd
xor r10d, r10d
jmp 0x40ca40
mov rax, r8
mov ebx, r10d
call fcn.0040c320
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
movzx r9d, byte [rsp + 0x26]
mov r11, qword [rsp + 0x40]
mov rdx, rax
mov r12, rbx
mov r10d, ecx
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
test cl, cl
je 0x40ca9d
cmp byte [r12 + 0x64], 0
je 0x40ca9d
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x25], r10b
mov qword [rsp + 0x28], r12
mov rax, rdx
mov rbx, r11
call fcn.00462380
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
movzx r9d, byte [rsp + 0x26]
movzx r10d, byte [rsp + 0x25]
mov r11, qword [rsp + 0x40]
mov r12, qword [rsp + 0x28]
mov ecx, r10d
mov r10, r12
mov r12, rdx
mov rdx, rdi
xor edi, edi
jmp 0x40cb5a
mov rbx, rax
mov ecx, r9d
mov rax, r8
call fcn.004155c0
mov qword [rax + 0x30], 1
mov word [rax + 0x60], 1
mov rbx, qword [rax + 0x68]
mov rdx, qword [rax + 0x18]
movzx esi, byte [rsp + 0x88]
nop dword [rax]
test sil, sil
je 0x40cb24
cmp byte [rax + 0x64], 0
je 0x40cb24
movzx esi, byte [rsp + 0x26]
test sil, sil
jne 0x40cb20
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rdx
mov rax, rdx
call fcn.00462380
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
movzx esi, byte [rsp + 0x26]
mov ecx, esi
jmp 0x40cb2b
movzx ecx, byte [rsp + 0x26]
xor esi, esi
mov r8, qword [rsp + 0x38]
mov r9d, ecx
mov r10, rax
mov edi, esi
mov r11, rbx
mov ecx, 1
mov r12, rdx
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x40], r11
mov byte [rsp + 0x25], cl
mov byte [rsp + 0x27], dil
mov qword [rsp + 0x28], r10
test r9b, r9b
je 0x40cb7c
xor r13d, r13d
jmp 0x40cbd5
mov rcx, rax
mov rdi, rbx
mov rax, r12
mov rbx, r11
call fcn.004138e0
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rdx]
mov r8, qword [rsp + 0x78]
nop dword [rax]
cmp r8, rsi
jbe 0x40cbc2
mov rax, qword [rdx + 8]
mov rcx, r8
sub r8, rsi
lea rbx, [r8 + rax]
test rax, rax
mov eax, 0
cmovne rax, rbx
nop
jmp 0x40cbc9
mov rax, qword [rdx + 8]
mov rcx, r8
mov rbx, qword [rsp + 0x38]
add qword [rbx + 8], rax
mov r13, rax
mov qword [rsp + 0x30], r13
call fcn.00461400
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp dword [0x0061bf0c], 0
je 0x40cc15
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
call fcn.0041f1e0
mov rdx, qword [0x0061bf78]
nop dword [rax]
test rdx, rdx
jle 0x40cc62
cmp rdx, 1
je 0x40cc45
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rdx]
mov rcx, qword [rsp + 0x40]
cmp rcx, rsi
jae 0x40cc4a
sub rsi, rcx
mov qword [rdx], rsi
jmp 0x40cc67
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
call fcn.0040d020
mov rcx, qword [rsp + 0x40]
nop
jmp 0x40cc67
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov dword [rdx + 0xc0], 0
nop
mov esi, dword [rdx + 0xd8]
lea edi, [rsi - 1]
mov dword [rdx + 0xd8], edi
cmp esi, 1
jne 0x40cc9d
cmp byte [r14 + 0xb1], 0
je 0x40cc9d
mov qword [r14 + 0x10], 0xfffffffffffffade
movzx edx, byte [rsp + 0x27]
test dl, dl
je 0x40ccca
movzx edx, byte [rsp + 0x26]
test dl, dl
je 0x40cd77
mov rax, rcx
mov rbx, qword [rsp + 0x50]
nop dword [rax + rax]
call fcn.0040ce40
mov rcx, qword [rsp + 0x40]
cmp byte [0x0061c3e4], 0
je 0x40cd16
cmp dword [0x0061c3e8], 0
je 0x40ccf6
mov rax, qword [rsp + 0x50]
mov rbx, rcx
mov rcx, qword [rsp + 0x80]
call fcn.0042d800
mov rcx, qword [rsp + 0x40]
cmp byte [0x0061c1e0], 0
je 0x40cd16
mov rdx, qword [0x0061c1e8]
cmp qword [r14 + 0x98], rdx
jne 0x40cd16
add qword [0x0061c1f8], rcx
mov rdx, qword [rsp + 0x58]
nop dword [rax + rax]
test rdx, rdx
je 0x40cd34
mov rsi, qword [rsp + 0x78]
sub rcx, rsi
sub qword [rdx + 0x180], rcx
movzx edx, byte [rsp + 0x25]
test dl, dl
je 0x40cd57
xor eax, eax
xor ebx, ebx
xor ecx, ecx
call fcn.004181e0
test al, al
je 0x40cd57
xor eax, eax
xor ebx, ebx
xor ecx, ecx
call fcn.00418340
mov rax, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
lea rax, [0x0061c0e0]
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
lea rax, [0x005007de]
mov ebx, 0x31
call fcn.00435d80
mov rax, r12
mov ecx, 0x88
call fcn.00461ce0
mov eax, r10d
mov ecx, 0x44
nop dword [rax]
call fcn.00461ce0
mov rax, r10
mov ecx, 0xf9
call fcn.00461d00
mov rax, r10
mov ecx, 0x81
call fcn.00461d00
lea rax, [0x00500c5b]
mov ebx, 0x34
call fcn.00435d80
lea rax, [0x004f99e1]
mov ebx, 0x14
nop dword [rax]
call fcn.00435d80
lea rax, [0x004f7d61]
mov ebx, 0xf
call fcn.00435d80
lea rax, [0x00500a5d]
mov ebx, 0x32
call fcn.00435d80
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
call fcn.0045f600
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
jmp fcn.0040c540