Function at 0x180003a94
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x550
mov qword [rsp + 0x1e0], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x1800764c0]
xor rax, rsp
mov qword [rsp + 0x540], rax
mov qword [rsp + 0x150], rcx
mov qword [r11 - 0x390], rcx
xor r12d, r12d
mov ebx, r12d
mov dword [rsp + 0x44], ebx
lea edx, [r12 + 6]
lea rcx, [r11 - 0x3c0]
call fcn.1800253fc
nop
lea rcx, [rsp + 0x230]
call fcn.1800335b8
nop
lea ecx, [r12 + 8]
call fcn.18003c75c
cmp rax, r12
je 0x180003b26
lea rcx, [rsp + 0x110]
mov qword [rax], rcx
jmp 0x180003b29
mov rax, r12
mov qword [rsp + 0x110], rax
lea rcx, [rsp + 0x110]
call fcn.1800071ec
mov qword [rsp + 0x140], rax
mov byte [rax + 0x41], 1
mov rax, qword [rsp + 0x140]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x140]
mov qword [rax], rax
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x148], r12
mov r13, qword [rsp + 0x260]
mov rbp, qword [r13]
mov qword [rsp + 0xc8], rbp
mov rsi, qword [rsp + 0x230]
mov qword [rsp + 0xc0], rsi
mov r14, rsi
cmp rsi, r12
je 0x180003ba6
cmp rsi, r14
je 0x180003bab
call fcn.18003c608
cmp rbp, r13
je 0x180004199
cmp rsi, r12
jne 0x180003bc3
call fcn.18003c608
mov rdx, r12
jmp 0x180003bc6
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x30]
jne 0x180003bd1
call fcn.18003c608
mov dl, byte [rbp + 0x18]
lea rcx, [rsp + 0x2c0]
call fcn.180002ed0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000e014
mov ecx, 0x10000001
mov r12d, 1
xor r15d, r15d
cmp eax, r15d
cmovne r12d, ecx
and dword [rsp + 0xa0], 0xfffffe00
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xb8], r15
lea rax, [rsp + 0x298]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x298]
call fcn.180025558
mov rdi, rax
lea rdx, str.unique
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
lea rax, [rsp + 0x298]
mov qword [rsp + 0x50], rax
cmp rsi, r15
jne 0x180003c87
call fcn.18003c608
mov rdx, r15
jmp 0x180003c8a
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x30]
jne 0x180003c95
call fcn.18003c608
movsx r8d, byte [rbp + 0x18]
lea rdx, [0x18005f8ec]
lea rcx, [rsp + 0x2e8]
call fcn.18001bd74
nop
mov rdx, rax
lea rcx, [rsp + 0x298]
call fcn.180025558
mov rdi, rax
lea rdx, str.letter
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
nop
cmp qword [rsp + 0x308], 0x10
jb 0x180003cfa
mov rcx, qword [rsp + 0x2f0]
call fcn.18003c660
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x78], 1
btr dword [rsp + 0x78], 8
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r15
movsxd rax, r12d
mov qword [rsp + 0x70], rax
lea rdx, str.state
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.1800257e4
xor r12d, r12d
cmp rsi, r12
jne 0x180003d62
call fcn.18003c608
mov rdx, r12
jmp 0x180003d65
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x30]
jne 0x180003d70
call fcn.18003c608
movsx eax, byte [rbp + 0x18]
movzx r8d, ax
lea rdx, [0x18005f8f8]
lea rcx, [rsp + 0x270]
call fcn.18001bccc
nop
mov word [rsp + 0x340], r12w
mov r15d, 0xfe
mov r8, r15
xor edx, edx
lea rcx, [rsp + 0x342]
call fcn.18003eb60
mov word [rsp + 0x440], r12w
mov r8, r15
xor edx, edx
lea rcx, [rsp + 0x442]
call fcn.18003eb60
lea rcx, [rsp + 0x278]
cmp qword [rsp + 0x290], 8
cmovae rcx, qword [rsp + 0x278]
mov r15d, 0x80
mov dword [rsp + 0x38], r15d
lea rax, [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8d, r15d
lea rdx, [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
cmp eax, r12d
je 0x180003f1e
cmp word [rsp + 0x340], r12w
je 0x180003f1e
lea rax, [rsp + 0x298]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x100], 7
mov qword [rsp + 0xf8], r12
mov word [rsp + 0xe8], r12w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x340]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x340]
lea rcx, [rsp + 0xe0]
call fcn.180002638
nop
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x70]
call fcn.180002d54
nop
mov rdx, rax
lea rcx, [rsp + 0x298]
call fcn.180025558
mov rdi, rax
lea rdx, str.label
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
nop
cmp qword [rsp + 0x90], 0x10
jb 0x180003ee4
mov rcx, qword [rsp + 0x78]
call fcn.18003c660
mov qword [rsp + 0x90], 0xf
mov qword [rsp + 0x88], r12
mov byte [rsp + 0x78], r12b
cmp qword [rsp + 0x100], 8
jb 0x180003fef
mov rcx, qword [rsp + 0xe8]
call fcn.18003c660
jmp 0x180003fef
lea rax, [rsp + 0x298]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x100], 7
mov qword [rsp + 0xf8], r12
mov word [rsp + 0xe8], r12w
mov r8d, 5
lea rdx, [0x18005f910]
lea rcx, [rsp + 0xe0]
call fcn.180002638
nop
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x70]
call fcn.180002d54
nop
mov rdx, rax
lea rcx, [rsp + 0x298]
call fcn.180025558
mov rdi, rax
lea rdx, str.label
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
nop
cmp qword [rsp + 0x90], 0x10
jb 0x180003fbe
mov rcx, qword [rsp + 0x78]
call fcn.18003c660
mov qword [rsp + 0x90], 0xf
mov qword [rsp + 0x88], r12
mov byte [rsp + 0x78], r12b
cmp qword [rsp + 0x100], 8
jb 0x180003fef
mov rcx, qword [rsp + 0xe8]
call fcn.18003c660
mov byte [rsp + 0x40], r12b
mov byte [rsp + 0x48], r12b
cmp rsi, r12
jne 0x180004008
call fcn.18003c608
mov rdx, r12
jmp 0x18000400b
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x30]
jne 0x180004016
call fcn.18003c608
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
mov cl, byte [rbp + 0x18]
call fcn.18003539c
cmp al, r12b
je 0x180004096
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov al, byte [rsp + 0x40]
neg al
sbb ecx, ecx
and ecx, 0x1000
or ecx, 1
mov byte [rsp + 0x78], 1
btr dword [rsp + 0x78], 8
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], r12
movsxd rax, ecx
mov qword [rsp + 0x70], rax
lea rdx, str.encryption
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.1800257e4
jmp 0x1800040e9
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x78], 1
btr dword [rsp + 0x78], 8
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x70], r12
lea rdx, str.encryption
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.1800257e4
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x1b8]
call fcn.180026b0c
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x110]
call fcn.1800067c8
nop
cmp qword [rsp + 0x290], 8
jb 0x180004134
mov rcx, qword [rsp + 0x278]
call fcn.18003c660
mov qword [rsp + 0x290], 7
mov qword [rsp + 0x288], r12
mov word [rsp + 0x278], r12w
lea rcx, [rsp + 0x98]
call fcn.18002574c
nop
cmp qword [rsp + 0x2e0], 0x10
jb 0x180004177
mov rcx, qword [rsp + 0x2c8]
call fcn.18003c660
lea rcx, [rsp + 0xc0]
call fcn.180007004
mov rbp, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xc0]
jmp 0x180003b9c
lea r8, str.SoftwareWOW6432Nodeprojonepodlpusbmgr_approveds
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x160]
call fcn.18001c378
nop
mov rdi, qword [rsp + 0x190]
mov qword [rsp + 0x50], rdi
mov rax, qword [rdi]
mov qword [rsp + 0x68], rax
mov r15, qword [rsp + 0x160]
mov qword [rsp + 0x60], r15
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov rsi, qword [rsp + 0x60]
cmp rsi, r12
je 0x1800041f1
cmp rsi, r15
je 0x1800041f6
call fcn.18003c608
mov rbp, qword [rsp + 0x68]
cmp rbp, rdi
je 0x180004568
cmp rsi, r12
jne 0x180004213
call fcn.18003c608
mov rdx, r12
jmp 0x180004216
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x30]
jne 0x180004221
call fcn.18003c608
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x2c0]
call fcn.180002d54
nop
cmp qword [rsp + 0x2d8], 8
jne 0x1800042bc
test rsi, rsi
jne 0x18000424c
call fcn.18003c608
xor edx, edx
jmp 0x18000424f
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x30]
jne 0x18000425a
call fcn.18003c608
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x2e8]
call fcn.180002d54
nop
or ebx, 1
mov dword [rsp + 0x44], ebx
mov r14, qword [rsp + 0x140]
mov r13, qword [rsp + 0x110]
mov r8, rax
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x110]
call fcn.1800068c0
mov rdi, rax
cmp qword [rax], 0
je 0x1800042a9
cmp qword [rax], r13
je 0x1800042ae
call fcn.18003c608
cmp qword [rdi + 8], r14
jne 0x1800042bc
mov dil, 1
xor r13d, r13d
jmp 0x1800042c2
xor r13d, r13d
mov dil, r13b
test bl, 1
je 0x1800042e6
and ebx, 0xfffffffe
mov dword [rsp + 0x44], ebx
cmp qword [rsp + 0x308], 0x10
jb 0x1800042e6
mov rcx, qword [rsp + 0x2f0]
call fcn.18003c660
cmp dil, r13b
je 0x180004539
and dword [rsp + 0xa0], 0xfffffe00
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
lea rax, [rsp + 0x298]
mov qword [rsp + 0xc0], rax
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x298]
call fcn.180025558
mov rdi, rax
lea rdx, str.unique
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
lea rax, [rsp + 0x298]
mov qword [rsp + 0xc0], rax
lea rdx, [0x18005f998]
lea rcx, [rsp + 0x298]
call fcn.1800254b0
mov rdi, rax
lea rdx, str.letter
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
lea rax, [rsp + 0x270]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0x278], 1
btr dword [rsp + 0x278], 8
mov qword [rsp + 0x280], r13
mov qword [rsp + 0x288], r13
mov qword [rsp + 0x290], r13
mov r14d, 0x10000000
mov qword [rsp + 0x270], r14
lea rdx, str.state
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
lea rdx, [rsp + 0x270]
call fcn.1800257e4
lea rax, [rsp + 0x298]
mov qword [rsp + 0xc0], rax
lea rdx, [0x18005f998]
lea rcx, [rsp + 0x298]
call fcn.1800254b0
mov rdi, rax
lea rdx, str.label
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
lea rax, [rsp + 0x270]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0x278], 1
btr dword [rsp + 0x278], 8
mov qword [rsp + 0x280], r13
mov qword [rsp + 0x288], r13
mov qword [rsp + 0x290], r13
mov qword [rsp + 0x270], r14
lea rdx, str.encryption
lea rcx, [rsp + 0x98]
call fcn.180026aa8
mov rcx, rax
lea rdx, [rsp + 0x270]
call fcn.1800257e4
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x1b8]
call fcn.180026b0c
cmp rsi, r13
jne 0x1800044d9
call fcn.18003c608
mov rdx, r13
jmp 0x1800044dc
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x30]
jne 0x1800044e7
call fcn.18003c608
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x2e8]
call fcn.180002d54
nop
mov r8, rax
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x110]
call fcn.1800067c8
nop
cmp qword [rsp + 0x308], 0x10
jb 0x18000452b
mov rcx, qword [rsp + 0x2f0]
call fcn.18003c660
nop
lea rcx, [rsp + 0x98]
call fcn.18002574c
nop
cmp qword [rsp + 0x2e0], 0x10
jb 0x180004551
mov rcx, qword [rsp + 0x2c8]
call fcn.18003c660
lea rcx, [rsp + 0x60]
call fcn.18000865c
mov rdi, qword [rsp + 0x50]
xor r12d, r12d
jmp 0x1800041e2
lea r8, str.SoftwareWOW6432Nodeprojonepodlpusbmgr_recents_
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x1f0]
call fcn.18001c378
mov rdi, rax
lea rax, [rsp + 0x160]
cmp rax, rdi
je 0x18000460f
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x160]
mov qword [rsp + 0x60], rcx
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xc0], rcx
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0xc0], xmm1
lea r9, [rsp + 0x60]
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x160]
call fcn.180006df0
mov rdx, rdi
lea rcx, [rsp + 0x160]
call fcn.180006f6c
nop
lea rcx, [rsp + 0x1f0]
call fcn.180006988
mov rbp, qword [rsp + 0x190]
mov qword [rsp + 0x50], rbp
mov rax, qword [rbp]
mov qword [rsp + 0x68], rax
mov r15, qword [rsp + 0x160]
mov qword [rsp + 0x60], r15
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov rdi, qword [rsp + 0x60]
cmp rdi, r12
je 0x180004659
cmp rdi, r15
je 0x18000465e
call fcn.18003c608
mov rsi, qword [rsp + 0x68]
cmp rsi, rbp
je 0x180004c73
cmp rdi, r12
jne 0x18000467b
call fcn.18003c608
mov r11, r12
jmp 0x18000467e
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x30]
jne 0x180004689
call fcn.18003c608
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x2e8]
call fcn.180002d54
nop
cmp qword [rsp + 0x300], 8
jne 0x18000472a
cmp rdi, r12
jne 0x1800046b9
call fcn.18003c608
mov r11, r12
jmp 0x1800046bc
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x30]
jne 0x1800046c7
call fcn.18003c608
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x310]
call fcn.180002d54
nop
or ebx, 2
mov dword [rsp + 0x44], ebx
mov r14, qword [rsp + 0x140]
mov r13, qword [rsp + 0x110]
mov r8, rax
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x110]
call fcn.1800068c0
mov r12, rax
cmp qword [rax], 0
je 0x180004716
cmp qword [rax], r13
je 0x18000471b
call fcn.18003c608
cmp qword [r12 + 8], r14
jne 0x180004727
mov r12b, 1
jmp 0x18000472a
xor r12d, r12d
test bl, 2
je 0x18000474e
and ebx, 0xfffffffd
mov dword [rsp + 0x44], ebx
cmp qword [rsp + 0x330], 0x10
jb 0x18000474e
mov rcx, qword [rsp + 0x318]
call fcn.18003c660
test r12b, r12b
je 0x180004c4a
xor r12d, r12d
cmp rdi, r12
jne 0x180004769
call fcn.18003c608
mov rdx, r12
jmp 0x18000476c
mov rdx, qword [rdi]
cmp rsi, qword [rdx + 0x30]
jne 0x180004777
call fcn.18003c608
cmp qword [rsi + 0x38], 8
jb 0x180004784
mov r9, qword [rsi + 0x20]
jmp 0x180004788
lea r9, [rsi + 0x20]
lea r8, str.SoftwareWOW6432Nodeprojonepodlpusbmgr_recents_
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x298]
call fcn.18001c1d4
nop
and dword [rsp + 0xa0], 0xfffffe00
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], r12
lea rdx, [rsp + 0x298]
lea rcx, [rsp + 0x310]
call fcn.180002d54
nop
or ebx, 4
mov dword [rsp + 0x44], ebx
lea rdx, [rsp + 0x98]
mov rcx, rax
call fcn.1800010d4
cmp al, r12b
je 0x180004808
cmp byte [rsp + 0xa0], 7
jne 0x180004808
mov dil, 1
jmp 0x18000480b
mov dil, r12b
test bl, 4
je 0x18000482f
and ebx, 0xfffffffb
mov dword [rsp + 0x44], ebx
cmp qword [rsp + 0x330], 0x10
jb 0x18000482f
mov rcx, qword [rsp + 0x318]
call fcn.18003c660
cmp dil, r12b
je 0x180004c28
mov edi, 0xf
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x88], r12
mov byte [rsp + 0x78], r12b
lea r8d, [rdi - 0xa]
lea rdx, str.label
lea rcx, [rsp + 0x70]
call fcn.1800023b4
nop
mov qword [rsp + 0x2e0], rdi
mov qword [rsp + 0x2d8], r12
mov byte [rsp + 0x2c8], r12b
xor r8d, r8d
lea rdx, [0x18005f729]
lea rcx, [rsp + 0x2c0]
call fcn.1800023b4
lea r9, [rsp + 0x2c0]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x310]
call fcn.180002de8
nop
cmp qword [rsp + 0x90], 0x10
jb 0x1800048cf
mov rcx, qword [rsp + 0x78]
call fcn.18003c660
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x88], r12
mov byte [rsp + 0x78], r12b
mov qword [rsp + 0x290], rdi
mov qword [rsp + 0x288], r12
mov byte [rsp + 0x278], r12b
mov r8d, 6
lea rdx, str.action
lea rcx, [rsp + 0x270]
call fcn.1800023b4
nop
cmp byte [rsp + 0xa0], 7
jne 0x180004964
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x98]
call fcn.180026a5c
mov rcx, rax
call fcn.180026d70
cmp al, r12b
je 0x180004964
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x98]
call fcn.180026a5c
mov rcx, rax
call fcn.180025aac
mov esi, eax
jmp 0x180004967
mov esi, r12d
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x270]
call fcn.1800021fc
xor edx, edx
lea rcx, [rsp + 0xe0]
call fcn.1800253fc
nop
lea rax, [rsp + 0x270]
mov qword [rsp + 0xc0], rax
lea rdx, [rsp + 0x2e8]
lea rcx, [rsp + 0x270]
call fcn.180025558
mov rdi, rax
lea rdx, str.unique
lea rcx, [rsp + 0xe0]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
lea rax, [rsp + 0x270]
mov qword [rsp + 0xc0], rax
lea rdx, [0x18005f998]
lea rcx, [rsp + 0x270]
call fcn.1800254b0
mov rdi, rax
lea rdx, str.letter
lea rcx, [rsp + 0xe0]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
lea rax, [rsp + 0x270]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0x278], 1
btr dword [rsp + 0x278], 8
mov qword [rsp + 0x280], r12
mov qword [rsp + 0x288], r12
mov qword [rsp + 0x290], r12
mov eax, r12d
mov ecx, 0x10000
cmp esi, 3
cmove eax, ecx
mov ecx, 0x8000
cmp esi, 1
cmove eax, ecx
mov ecx, 0x4000
cmp esi, 2
cmove eax, ecx
mov ecx, 0x2000
cmp esi, r12d
cmove eax, ecx
cdqe
bts rax, 0xc
mov qword [rsp + 0x270], rax
lea rdx, str.state
lea rcx, [rsp + 0xe0]
call fcn.180026aa8
mov rcx, rax
lea rdx, [rsp + 0x270]
call fcn.1800257e4
lea rax, [rsp + 0x270]
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0x328], r12
jne 0x180004ae9
lea rdx, [0x18005f998]
lea rcx, [rsp + 0x1f0]
call fcn.180001eb8
nop
or ebx, 8
mov dword [rsp + 0x44], ebx
jmp 0x180004af1
lea rax, [rsp + 0x310]
mov rdx, rax
lea rcx, [rsp + 0x270]
call fcn.180025558
mov rdi, rax
lea rdx, str.label
lea rcx, [rsp + 0xe0]
call fcn.180026aa8
mov rcx, rax
mov rdx, rdi
call fcn.1800257e4
nop
test bl, 8
je 0x180004b42
and ebx, 0xfffffff7
mov dword [rsp + 0x44], ebx
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x1f0]
call fcn.1800021fc
lea rax, [rsp + 0x270]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0x278], 1
btr dword [rsp + 0x278], 8
mov qword [rsp + 0x280], r12
mov qword [rsp + 0x288], r12
mov qword [rsp + 0x290], r12
mov qword [rsp + 0x270], 0x10000000
lea rdx, str.encryption
lea rcx, [rsp + 0xe0]
call fcn.180026aa8
mov rcx, rax
lea rdx, [rsp + 0x270]
call fcn.1800257e4
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x1b8]
call fcn.180026b0c
lea rcx, [rsp + 0x60]
call fcn.180006a04
mov rdx, rax
lea rcx, [rsp + 0x1f0]
call fcn.180002d54
nop
mov r8, rax
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x110]
call fcn.1800067c8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x1f0]
call fcn.1800021fc
nop
lea rcx, [rsp + 0xe0]
call fcn.18002574c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x310]
call fcn.1800021fc
nop
lea rcx, [rsp + 0x98]
call fcn.18002574c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x298]
call fcn.180002340
jmp 0x180004c4d
xor r12d, r12d
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x2e8]
call fcn.1800021fc
lea rcx, [rsp + 0x60]
call fcn.18000865c
mov rbp, qword [rsp + 0x50]
jmp 0x18000464a
lea r9, [rsp + 0x1b8]
lea r8, [0x18005fa10]
xor edx, edx
mov rdi, qword [rsp + 0x150]
mov rcx, rdi
call fcn.180019264
or ebx, 0x10
mov dword [rsp + 0x44], ebx
lea rcx, [rsp + 0x160]
call fcn.180006988
nop
lea rcx, [rsp + 0x110]
call fcn.18000674c
nop
lea rcx, [rsp + 0x230]
call fcn.180006a50
nop
lea rcx, [rsp + 0x1b8]
call fcn.18002574c
mov rax, rdi
mov rcx, qword [rsp + 0x540]
xor rcx, rsp
call fcn.18003c1a0
lea r11, [rsp + 0x550]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret