Function at 0x14008bedc
Capabilities:
Get storage device properties

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x558
mov rsi, rcx
lea rdi, [0x14013e190]
mov ebp, r9d
mov rcx, rdi
mov r13, r8
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, ebp
mov ecx, 0x100
and r11b, 4
mov r15d, 1
mov edx, 0x20f970
neg r11b
sbb al, al
xor r14d, r14d
and al, 0x2a
mov dword [rsp + 0x60], r14d
mov byte [rsp + 0x7c], al
mov al, bpl
and al, 0x40
mov byte [rsp + 0x52], al
movzx eax, bp
and ax, cx
mov ecx, 0x200
mov word [rsp + 0xa4], ax
movzx eax, bp
and ax, cx
lea rcx, [rsp + 0x88]
mov word [rsp + 0x74], ax
mov eax, ebp
shr eax, 0xb
and ax, r15w
mov dword [rsp + 0x70], eax
call fcn.140063028
mov r11, qword [rsi]
movzx ebx, word [r11]
lea eax, [rbx - 0x61]
cmp ax, 0x19
ja 0x14008bf9e
mov eax, 0xffe0
add bx, ax
mov r12d, ebp
and r12d, 0x80
jne 0x14008bfb7
mov edx, 0x12c
mov rcx, rsi
call fcn.1400633a0
mov rax, qword [rsi]
mov rsi, qword [rsp + 0x88]
mov ecx, r15d
mov word [rax], r14w
mov eax, ebp
mov r9d, 4
and eax, 0x28
lea r15, [rsi + 0x20c010]
cmp al, 0x28
mov qword [rsp + 0xc0], r15
cmove ecx, r9d
cmp r13, r14
jg 0x14008c010
xor r13d, r13d
cmp bx, r13w
jne 0x14008c013
xor edx, edx
mov r8d, 0x3960
mov rcx, r15
call fcn.140101f00
mov dword [r15], 0xfffffffe
jmp 0x14008c029
xor r13d, r13d
movzx r8d, bx
mov rdx, rsi
shl r8d, 0x10
or r8d, ecx
mov rcx, r15
call fcn.1400767e8
lea rcx, [rsp + 0x80]
mov r14d, r13d
mov dword [rsp + 0x78], r13d
mov word [rsp + 0x58], r13w
call fcn.1400632a0
mov rdx, qword [rsp + 0x5a8]
mov r9d, 0x20
test bpl, 8
je 0x14008c20c
cmp rdx, 0x7fff
jg 0x14008c20c
lea r8d, [r9 - 0x1f]
mov word [rsp + 0x58], bx
mov r14d, r8d
mov dword [rsp + 0x78], r8d
cmp bx, r13w
je 0x14008c09a
lea rdx, [rsp + 0x80]
movzx ecx, bx
call fcn.14005fc68
mov r8d, 1
lea r9d, [r8 + 0x1f]
movzx ecx, r13w
movzx edx, bx
movsx rax, cx
imul rax, rax, 0x220
cmp dword [rax + r15 + 0x10], edx
je 0x14008c0bd
add cx, r8w
cmp cx, 0x1a
jl 0x14008c0a1
cmp cx, 0x1a
mov r13, 0xffffffffffffffb3
mov rdx, r13
mov qword [rsp + 0x5b0], r13
mov qword [rsp + 0x5a8], rdx
jl 0x14008c0e6
or r15, 0xffffffffffffffff
jmp 0x14008c1c5
movsx rbp, cx
xor ecx, ecx
imul rbp, rbp, 0x220
movsxd rax, dword [r15 + rbp + 4]
cmp eax, ecx
jl 0x14008c113
movsxd r13, dword [r15 + rbp]
mov rdx, rax
mov qword [rsp + 0x5a8], rax
mov qword [rsp + 0x5b0], r13
cmp r12d, ecx
je 0x14008c150
mov rbx, qword [rsp + 0x5a0]
mov rcx, qword [rbx]
mov qword [rcx], rdx
mov qword [rcx + 8], r13
movsxd rax, dword [r15 + rbp + 8]
mov qword [rcx + 0x10], rax
movsxd rax, dword [r15 + rbp + 0xc]
mov qword [rcx + 0x18], rax
movsxd rax, dword [r15 + rbp + 0x10]
mov qword [rcx + 0x20], rax
movsxd rax, dword [r15 + rbp + 0x14]
mov qword [rcx + 0x28], rax
jmp 0x14008c1bf
test byte [rsp + 0x5b8], r9b
je 0x14008c1f0
mov rbx, qword [rsp + 0x5a0]
mov ecx, dword [r15 + rbp + 8]
or r8d, 0xffffffff
mov rbx, qword [rbx]
mov rsi, r15
lea rdx, [rbx + 0xc8]
call fcn.14005fb98
mov r8, qword [rsp + 0x5a8]
lea rdx, str._d__d__s__d__c:__d
mov r11, rax
mov eax, dword [r15 + rbp + 0x14]
mov r9, r13
mov dword [rsp + 0x38], eax
mov eax, dword [r15 + rbp + 0x10]
mov rcx, rbx
mov dword [rsp + 0x30], eax
mov eax, dword [r15 + rbp + 0xc]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r11
call qword [sym.imp.USER32.dll_wsprintfW]
mov r15d, 3
lea rcx, [rsp + 0x80]
call fcn.14005aef8
lea rcx, [rsp + 0x88]
call fcn.14005aef8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, r15
jmp 0x14008d1e6
xor r13d, r13d
cmp rdx, r13
jge 0x14008c20c
lea r14d, [r13 + 0x11]
mov rdx, r13
mov dword [rsp + 0x78], r14d
mov qword [rsp + 0x5a8], rdx
or r15, 0xffffffffffffffff
cmp rdx, 0x7fff
jbe 0x14008c21e
mov rbp, rdx
jmp 0x14008c23e
mov r8, rdx
lea rcx, [rsp + 0x1a0]
lea rdx, str..PhysicalDrive_d
lea rbp, [rsp + 0x1a0]
call qword [sym.imp.USER32.dll_wsprintfW]
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], 0x22000000
lea rcx, [rsp + 0x68]
mov r9d, 3
mov r8d, 0x80000000
mov rdx, rbp
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x20], r13
call fcn.140003888
mov rbx, qword [rsp + 0x68]
cmp rbx, r13
jne 0x14008c2db
test r14b, 0x10
je 0x14008c2a6
mov rdx, qword [rsp + 0x5a8]
inc rdx
cmp rdx, 0x3e80
mov qword [rsp + 0x5a8], rdx
jl 0x14008c21e
movsxd rbx, dword [rsp + 0x60]
lea rcx, [rsp + 0x80]
call fcn.14005aef8
lea rcx, [rsp + 0x88]
call fcn.14005aef8
cmp rdi, r13
je 0x14008c2d3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rbx
jmp 0x14008d1e6
xor eax, eax
mov qword [rsp + 0x38], r13
lea r8, [rsp + 0xd0]
lea ecx, [rax + 0x28]
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0xd4], eax
mov dword [rsp + 0xd8], eax
lea rax, [rsp + 0xc8]
lea r9d, [rcx - 0x1c]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ecx
lea rax, [rsp + 0x178]
mov dword [rsp + 0xc8], ecx
mov edx, 0x2d1400
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xd0], r13d
mov r12d, 0xfffffc18
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, r13d
je 0x14008c357
movzx r12d, byte [rsp + 0x180]
jmp 0x14008c35f
mov byte [rsp + 0x180], 0x85
mov edx, 0x200
mov rcx, rbx
call fcn.14005f5d4
xor r14d, r14d
movsxd r13, eax
mov dword [rsp + 0x90], r13d
cmp byte [0x14013ccb1], r14b
je 0x14008c3ad
movzx ecx, word [rsp + 0x58]
mov dword [rsp + 0x28], r12d
lea rdx, str.DBG__d:_disk__s_Drv:_0x_X__DT:_d_r_n
mov dword [rsp + 0x20], ecx
lea rcx, [0x14013d130]
mov r9, rbp
mov r8d, 0x3a43
call fcn.140018dd8
lea r8, [rsp + 0x54]
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x54], r14d
call fcn.14005fb14
xor r9d, r9d
mov rbp, rax
cmp rax, r9
je 0x14008d1a8
mov r12d, dword [rax]
lea rcx, [rsi + 0x200010]
mov dword [rsp + 0xa8], r9d
lea rax, [rcx + r13*2]
cmp r12d, 1
mov dword [rsp + 0xa0], r12d
mov qword [rsp + 0xb8], rax
sete al
mov byte [rsp + 0x50], al
cmp al, r9b
je 0x14008c438
mov r14d, dword [rbp + 0x28]
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r9
mov rdx, rcx
mov qword [rsp + 0x20], r9
lea rcx, [rsp + 0x68]
mov r8d, r14d
mov r9d, r13d
mov dword [rsp + 0xa8], r14d
call fcn.140069514
xor r9d, r9d
mov r10d, dword [rsp + 0x54]
add rbp, 0x30
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x68], rbp
cmp r12d, r9d
jne 0x14008c497
mov eax, 4
cmp r10d, eax
jne 0x14008c497
mov al, byte [rsp + 0x5d0]
cmp al, byte [rbp + 0x20]
jne 0x14008c497
cmp byte [rbp + 0xb0], r9b
jne 0x14008c497
cmp byte [rbp + 0x140], r9b
jne 0x14008c497
cmp byte [rbp + 0x1d0], r9b
jne 0x14008c497
mov rdx, rbx
xor ecx, ecx
call fcn.140065bcc
cmp eax, 7
jne 0x14008c7e4
xor r9d, r9d
cmp dword [rsp + 0x5c], r9d
mov r8b, r15b
mov byte [rsp + 0x51], r15b
mov dword [rsp + 0x54], r15d
mov r14, r9
mov r10, r9
mov qword [rsp + 0x98], r9
mov r12, r9
mov r13d, r9d
jle 0x14008c60d
mov al, byte [rsp + 0x50]
add rbp, 8
cmp al, r9b
jne 0x14008c534
cmp byte [rbp + 0x18], 0x42
jne 0x14008c515
mov r11, qword [rsp + 0x68]
mov dword [rsp + 0x28], r9d
movsx r8d, al
mov rdx, r11
and r8d, 1
mov r9, r14
mov rcx, rbx
or r8d, dword [rsp + 0x90]
mov qword [rsp + 0x20], r10
call fcn.1400699c4
xor r9d, r9d
cmp eax, 0xffffff00
jg 0x14008c5dc
mov al, byte [rsp + 0x50]
inc r13d
add rbp, 0x90
cmp r13d, dword [rsp + 0x5c]
jge 0x14008c605
mov r10, qword [rsp + 0x98]
jmp 0x14008c4cb
mov r11, qword [rsp + 0x68]
movsxd rax, r13d
lea rdx, [0x140124cf0]
lea rcx, [rax + rax*8]
mov r8d, 0x10
add rcx, rcx
lea r9, [r11 + rcx*8 + 0x20]
mov rcx, r9
call fcn.14005af28
xor ecx, ecx
cmp eax, ecx
jne 0x14008c582
movsxd rdx, dword [rsp + 0x90]
mov rax, qword [rbp]
mov r12, qword [rbp + 8]
sub r12, rdx
lea r14, [rdx + rax]
mov rcx, rdx
xor r9d, r9d
jmp 0x14008c5be
lea rdx, [0x140124d00]
mov r8d, 0x10
mov rcx, r9
call fcn.14005af28
xor r9d, r9d
cmp eax, r9d
jne 0x14008c5be
movsxd r8, dword [rsp + 0x90]
mov rax, qword [rbp]
cqo
mov rcx, r8
idiv r8
mov r10, rax
mov qword [rsp + 0x98], rax
cmp r14, r9
je 0x14008c511
mov al, byte [rsp + 0x50]
cmp r10, r9
je 0x14008c515
mov qword [r11], r12
jmp 0x14008c4db
mov r8b, byte [rsp + 0xa0]
or byte [rsp + 0x50], 0x10
cmp eax, r9d
mov byte [rsp + 0x51], r8b
jle 0x14008c74c
mov rbp, qword [rsp + 0x68]
mov r12d, eax
mov dword [rsp + 0x5c], eax
jmp 0x14008c612
mov rbp, qword [rsp + 0x68]
mov r8b, r15b
mov r12d, dword [rsp + 0x5c]
cmp r8b, r9b
movzx eax, word [rbp + 0x100000]
lea rax, [rbp + rax*2 + 0x100000]
mov qword [rsp + 0xe0], rax
jl 0x14008c6ea
movzx r13d, word [rsp + 0x58]
cmp r13w, r9w
je 0x14008c6ea
lea rcx, [rsp + 0xb0]
call fcn.1400632a0
xor r14d, r14d
cmp r12d, r14d
mov ebp, r14d
jle 0x14008c6d0
mov r12, qword [rsp + 0x68]
movsxd rax, ebp
lea rdx, [rsp + 0xb0]
xor r8d, r8d
lea rcx, [rax + rax*8]
add rcx, rcx
lea rcx, [r12 + rcx*8 + 0x30]
call fcn.14008ba28
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
je 0x14008c6ab
inc ebp
cmp ebp, dword [rsp + 0x5c]
jl 0x14008c65f
mov rbp, r12
mov r12d, dword [rsp + 0x5c]
jmp 0x14008c6d5
movsxd rax, ebp
mov rbp, r12
lea rcx, [rax + rax*8]
movzx eax, r13w
add rcx, rcx
mov edx, dword [r12 + rcx*8 + 0x18]
mov qword [r12 + rcx*8 + 0x40], rax
mov qword [rsp + 0x5b0], rdx
jmp 0x14008c6a4
mov rbp, qword [rsp + 0x68]
lea rcx, [rsp + 0xb0]
call fcn.14005aef8
mov r8b, byte [rsp + 0x51]
xor r9d, r9d
mov r14d, dword [rsp + 0x78]
test r14b, 0x10
je 0x14008c754
cmp r8b, r9b
jl 0x14008c707
mov r13, qword [rsp + 0x5b0]
cmp r13, r9
jge 0x14008c75c
mov rdx, qword [rsp + 0x5a8]
inc rdx
cmp rdx, 0x3e80
mov qword [rsp + 0x5a8], rdx
jge 0x14008c7e4
mov r13d, 0
cmp rbx, r15
je 0x14008c21e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rsp + 0x5a8]
jmp 0x14008c21e
movsxd rsi, eax
jmp 0x14008d1ab
mov r13, qword [rsp + 0x5b0]
mov eax, dword [rsp + 0x5b8]
mov cl, byte [rsp + 0x50]
mov r10d, 1
test al, 2
je 0x14008c78a
test r10b, cl
je 0x14008c78a
cmp r13, r9
jle 0x14008c78a
cmp r8b, r9b
jl 0x14008c78a
and eax, 0xfffffffd
mov dword [rsp + 0x5b8], eax
mov edx, eax
and edx, 2
mov dword [rsp + 0xb0], edx
je 0x14008c7ee
cmp cl, r9b
jne 0x14008c7bb
mov eax, 4
cmp r13d, eax
jg 0x14008c7b1
lea eax, [r13 - 1]
mov dword [rsp + 0x54], eax
jmp 0x14008c7da
lea eax, [r13*4 - 0x10]
jmp 0x14008c7ab
test cl, 0x10
jne 0x14008c7c8
cmp word [rsp + 0x74], r9w
je 0x14008c7d2
lea eax, [r13 - 1]
mov dword [rsp + 0x54], eax
jmp 0x14008c7d5
mov eax, r15d
cmp cl, r10b
je 0x14008c7f1
cmp r13, r9
jle 0x14008c7f6
cmp eax, r12d
jb 0x14008c7f1
movsxd rsi, dword [rsp + 0x60]
jmp 0x14008d1ab
mov eax, r15d
cmp r13, r9
jg 0x14008c805
mov r13, 0xffffffffff800000
mov qword [rsp + 0x5b0], r13
cmp edx, r9d
je 0x14008c8ed
cmp cl, r9b
je 0x14008c821
cmp r8b, r9b
jl 0x14008c821
cmp r13, r9
jg 0x14008caa8
test r10b, cl
je 0x14008c8ed
cmp r8b, r9b
jge 0x14008c8ed
cmp r13, r9
lea ecx, [r13 - 1]
jle 0x14008c7e4
movsxd rax, dword [rsp + 0xa8]
cmp r13, rax
jg 0x14008c7e4
movsxd r14, dword [rsp + 0x90]
movsxd rsi, ecx
mov rcx, qword [rsp + 0xb8]
shl rsi, 7
mov r8d, r12d
mov rdx, rbp
add rsi, rcx
mov r9d, r14d
mov dword [rsp + 0x20], r10d
mov rcx, rsi
call fcn.1400693b0
xor r9d, r9d
cmp eax, r9d
mov r12d, eax
jge 0x14008caad
lea rcx, [rbp + 0x20]
lea r8d, [r9 + 0x10]
mov rdx, rsi
mov r12d, r9d
call fcn.14001d7d8
lea rdx, [rsi + 0x10]
lea rcx, [rbp + 0x30]
mov r8d, 0x10
call fcn.14001d7d8
mov r11, qword [rsi + 0x30]
mov rdx, qword [rsp + 0xb8]
mov qword [rbp + 0x40], r11
mov rax, r14
imul rax, qword [rdx + 0x20]
mov qword [rbp + 8], rax
mov rax, qword [rdx + 0x28]
sub rax, qword [rdx + 0x20]
inc rax
imul rax, r14
mov qword [rbp + 0x10], rax
mov eax, r13d
neg eax
xor r9d, r9d
mov dword [rbp + 0x18], eax
jmp 0x14008caad
cmp r12d, r9d
cdqe
mov ebp, r9d
mov qword [rsp + 0x98], rax
jle 0x14008ca64
mov rsi, qword [rsp + 0x68]
add rsi, 0x18
cmp rax, r9
movzx r12d, byte [rsi + 8]
movsx r14, word [rsi]
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0xa0], r14d
jge 0x14008caa8
cmp r13, r9
jle 0x14008c941
mov rax, r14
cmp r13, r14
je 0x14008cad8
jmp 0x14008ca44
cmp cl, r9b
jne 0x14008c9fe
mov rcx, r14
mov r8d, 4
cmp r13, r14
je 0x14008c975
cmp r12d, r9d
jne 0x14008c975
cmp ebp, r8d
jl 0x14008c975
mov eax, ebp
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
jne 0x14008ca44
cmp r12d, 5
je 0x14008c984
mov al, r9b
cmp r12d, 0xf
jne 0x14008c987
mov al, r10b
cmp r13, rcx
je 0x14008c99a
cmp al, r9b
je 0x14008c99a
cmp ebp, r8d
jge 0x14008ca44
cmp r12d, r9d
jne 0x14008c9c3
cmp ebp, 3
jg 0x14008c9a9
lea eax, [rbp + 1]
jmp 0x14008c9b7
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, r8d
mov r8d, eax
lea rdx, str.___2d
jmp 0x14008ca13
cmp al, r9b
je 0x14008c9d5
lea r8d, [rbp + 1]
lea rdx, [0x140127940]
jmp 0x14008ca13
cmp r14d, r9d
jg 0x14008ca09
cmp ebp, 3
jg 0x14008c9e4
lea eax, [rbp + 1]
jmp 0x14008c9f2
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, r8d
mov r8d, eax
lea rdx, [0x140127930]
jmp 0x14008ca13
cmp r14d, r9d
jg 0x14008ca09
lea r8d, [rbp + 1]
jmp 0x14008c9f5
lea rdx, str.__3d
mov r8d, r14d
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rcx, qword [rsp + 0x5a0]
lea rdx, [rsp + 0x1a0]
call fcn.1400633dc
mov r10d, 1
add dword [rsp + 0x60], r10d
xor r9d, r9d
mov rax, qword [rsp + 0x98]
mov cl, byte [rsp + 0x50]
add ebp, r10d
add rsi, 0x90
cmp ebp, dword [rsp + 0x5c]
jl 0x14008c90c
cmp word [rsp + 0x74], r9w
je 0x14008d193
cmp rbx, r15
je 0x14008ca7e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x80]
call fcn.14005aef8
lea rcx, [rsp + 0x88]
call fcn.14005aef8
xor ecx, ecx
cmp rdi, rcx
je 0x14008c1e8
jmp 0x14008c1df
mov r12d, dword [rsp + 0x54]
movsxd rax, r12d
mov ebp, r12d
lea rcx, [rax + rax*8]
mov rax, qword [rsp + 0x68]
add rcx, rcx
movzx r12d, byte [rax + rcx*8 + 0x20]
movsx r14d, word [rax + rcx*8 + 0x18]
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0xa0], r14d
cmp word [rsp + 0x74], r9w
je 0x14008cae8
movsxd rsi, r14d
jmp 0x14008d1ab
mov rsi, qword [rsp + 0x5a0]
mov edx, 0x12c
mov rcx, rsi
call fcn.1400633a0
cmp r12d, 5
je 0x14008cb0f
cmp r12d, 0xf
je 0x14008cb0f
xor ecx, ecx
mov al, cl
jmp 0x14008cb13
mov al, 1
xor ecx, ecx
cmp byte [rsp + 0x50], cl
jne 0x14008cb57
cmp r12d, ecx
jne 0x14008cb43
lea rax, [0x140127910]
lea rdx, str.___2ld
cmp word [rsp + 0x70], cx
mov rcx, qword [rsi]
mov r8, r13
cmovne rdx, rax
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x14008cb7a
cmp al, cl
je 0x14008cb57
lea rax, [0x1401278f0]
lea rdx, [0x1401278e0]
jmp 0x14008cb2c
cmp word [rsp + 0x70], cx
mov rcx, qword [rsi]
lea rax, [0x14011d880]
lea rdx, [0x1401278d0]
mov r8d, r14d
cmovne rdx, rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov r12, qword [rsp + 0x68]
xor r13d, r13d
mov r14d, eax
mov qword [rsp + 0x98], r15
mov dword [rsp + 0x150], r13d
cmp byte [rsp + 0x52], r13b
je 0x14008cc10
mov r8d, r13d
movsxd rax, ebp
lea rsi, [rax + rax*8]
add rsi, rsi
cmp qword [r12 + rsi*8 + 0x10], 0x200
setle r8b
cmp r8d, r13d
jne 0x14008cbfb
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140078174
cmp rax, r13
jle 0x14008cbdc
cmp qword [r12 + rsi*8 + 8], rax
je 0x14008cbf0
mov rax, qword [rsp + 0x98]
cmp rax, r13
jle 0x14008cbf8
cmp qword [r12 + rsi*8 + 8], rax
jne 0x14008cbf8
mov r8d, 1
jmp 0x14008cbfb
mov r8d, r13d
lea rdx, [0x1401278c8]
lea rcx, [rsp + 0x150]
call qword [sym.imp.USER32.dll_wsprintfW]
movsxd rax, ebp
lea rcx, [rax + rax*8]
shl rcx, 4
add r12, rcx
lea rcx, [rsp + 0x2e0]
mov rdx, qword [r12 + 8]
call fcn.1400e62a0
mov rdx, qword [r12 + 0x10]
lea rcx, [rsp + 0x3e0]
call fcn.1400e62a0
mov rdx, qword [r12 + 8]
lea rcx, [rsp + 0x4d0]
add rdx, qword [r12 + 0x10]
call fcn.1400e62a0
mov eax, dword [rsp + 0x5b8]
mov r13b, byte [rsp + 0x51]
mov r8d, 1
lea r11, str.__4d__3d__14s__14s__11d__14s_s_s
lea rcx, str._0x_02X__3d__14s__14s__11d__14s_s_s
and eax, r8d
lea rsi, [0x14011d048]
cmove rcx, r11
xor edx, edx
cmp eax, edx
mov qword [rsp + 0x68], rcx
lea rcx, str.0x_02X
cmovne rsi, rcx
cmp r13b, dl
jl 0x14008ccb7
lea rdx, [0x140127818]
lea rcx, [rsp + 0x360]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x14008ccd9
mov al, byte [rsp + 0x50]
cmp al, r8b
jne 0x14008cce5
mov rdx, qword [r12 + 0x40]
lea r8, str._016I64X
lea rcx, [rsp + 0x360]
call fcn.1400e6270
mov al, byte [rsp + 0x50]
mov r8d, 1
xor edx, edx
cmp r13b, dl
jl 0x14008cd03
movzx r8d, byte [r12 + 0x20]
lea rcx, [rsp + 0x270]
mov rdx, rsi
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x14008cd1d
cmp al, r8b
jne 0x14008cd25
lea rdx, [r12 + 0x20]
lea rcx, [rsp + 0x270]
xor r8d, r8d
call fcn.14005f8f8
mov r8d, 1
xor edx, edx
mov ax, word [rsp + 0xa4]
mov r13d, edx
mov word [rsp + 0x100], dx
cmp ax, dx
je 0x14008cd78
mov ecx, 0x20
mov word [rsp + 0x106], dx
lea r9d, [rcx + 0xa]
mov word [rsp + 0x100], cx
mov word [rsp + 0x104], cx
mov word [rsp + 0x102], r9w
cmp byte [rsp + 0x52], dl
jne 0x14008cd78
mov word [rsp + 0x104], dx
mov r13d, r8d
cmp byte [rsp + 0x51], dl
jl 0x14008ce0b
cmp ax, dx
je 0x14008ce0b
lea rcx, [rsp + 0x98]
mov r13d, edx
call fcn.1400632a0
lea rsi, [r12 + 0x30]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0xe8]
mov r8d, 2
movdqu xmm0, xmmword [rsi]
movdqu xmmword [rsp + 0xe8], xmm0
call fcn.14008ba28
lea rcx, [rsp + 0xe8]
mov r8d, 0x10
mov rdx, rsi
call fcn.14005af28
xor ecx, ecx
cmp eax, ecx
je 0x14008cdfc
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x102]
xor r8d, r8d
call fcn.14005f8f8
lea rcx, [rsp + 0x98]
call fcn.14005aef8
xor edx, edx
mov sil, byte [rsp + 0x50]
cmp sil, dl
je 0x14008ce2c
lea rdx, [r12 + 0x30]
lea rcx, [rsp + 0x460]
xor r8d, r8d
call fcn.14005f8f8
xor edx, edx
mov al, sil
lea r8, [0x140120930]
lea r9, [0x140127770]
and al, 1
cmp sil, dl
lea rcx, [0x140127768]
cmovne r9, r8
cmp al, dl
cmovne r9, rcx
cmp sil, 0x10
jne 0x14008ce6c
cmp byte [r12 + 0x21], dl
lea rax, [0x1401215c8]
mov r9, r8
cmovne r9, rax
mov rax, qword [rsp + 0x5a0]
movsxd rcx, r14d
mov rax, qword [rax]
lea rcx, [rax + rcx*2]
lea rax, [rsp + 0x150]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x40], rax
cmp sil, dl
jne 0x14008cee8
mov r14d, dword [rsp + 0x78]
movzx r9d, byte [r12 + 0x21]
mov rdx, qword [rsp + 0x68]
lea rax, [rsp + 0x4d0]
mov r8d, r14d
mov qword [rsp + 0x38], rax
mov eax, dword [r12 + 0x24]
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x2e0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x14008cf36
lea rax, [rsp + 0x460]
lea r8, [rsp + 0x270]
lea rdx, str.__s__s__14s__14s__s__s_s_s
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x360]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x2e0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov r14d, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x5a0]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test byte [rsp + 0x5b8], 0x10
movsxd rsi, eax
je 0x14008d00e
xor r8d, r8d
cmp byte [rsp + 0x51], r8b
jl 0x14008cf70
mov rdx, qword [rsp + 0x5b0]
jmp 0x14008cfc9
cmp byte [rsp + 0x50], r8b
je 0x14008cfae
cmp dword [rsp + 0xb0], r8d
jne 0x14008cf66
mov r9d, dword [rsp + 0x90]
mov r8d, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb8]
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.140069254
xor r8d, r8d
jmp 0x14008cfc6
cmp ebp, 3
jg 0x14008cfb8
lea eax, [rbp + 1]
jmp 0x14008cfc6
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, 4
mov dx, ax
cmp r13d, r8d
je 0x14008cfe9
mov rax, qword [rsp + 0x5a0]
mov r9d, 0x20
mov r13d, r8d
mov rax, qword [rax]
mov word [rax + rsi*2], r9w
inc esi
movsxd rcx, esi
mov rsi, qword [rsp + 0x5a0]
movzx r8d, dx
mov rax, qword [rsi]
lea rdx, str.__3u
lea rcx, [rax + rcx*2]
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x14008d016
mov rsi, qword [rsp + 0x5a0]
mov rcx, qword [rsp + 0x5c0]
xor edx, edx
cmp rcx, rdx
je 0x14008d02d
mov rax, qword [r12 + 8]
mov qword [rcx], rax
mov rax, qword [rsp + 0x5c8]
cmp rax, rdx
je 0x14008d03d
mov dword [rax], r14d
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rbp, [rsi + rcx*2]
xor ecx, ecx
cmp byte [rsp + 0x51], cl
mov word [rbp + 2], cx
mov r14, rbp
jl 0x14008d0eb
mov ax, word [rsp + 0x58]
cmp ax, cx
je 0x14008d09d
mov edx, 0x20
cmp r13d, ecx
je 0x14008d07f
mov word [rbp], dx
add rbp, 2
mov word [rbp], dx
mov word [rbp + 2], ax
mov eax, 0x3a
mov word [rbp + 4], ax
add rbp, 6
mov word [rbp], cx
jmp 0x14008d156
cmp qword [r12 + 0x10], rcx
je 0x14008d156
movzx r8d, word [r12 + 0x22]
mov rcx, qword [rsp + 0xe0]
lea rdx, [0x1401277b0]
call qword [sym.imp.USER32.dll_wsprintfW]
mov r9, qword [rsp + 0xe0]
movzx r8d, word [r12 + 0x40]
mov rdx, qword [rsp + 0xc0]
lea rcx, [r12 + 0x30]
call fcn.14008bc98
xor ecx, ecx
cmp eax, ecx
jle 0x14008d156
jmp 0x14008d06d
mov rax, qword [rsp + 0x5a8]
cmp eax, ecx
jl 0x14008d15e
mov r12, rbp
mov edx, 0x20
cmp r13d, ecx
je 0x14008d10c
mov word [rbp], dx
add rbp, 2
movsxd r8, dword [rsp + 0xa0]
mov r9, qword [rsp + 0xc0]
mov qword [rsp + 0x30], rcx
mov word [rbp], dx
mov word [rbp + 2], cx
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 2]
mov rdx, rax
lea rsi, [rbp + 2]
call fcn.140076df0
xor ecx, ecx
mov rbp, rax
cmp word [rsi], cx
jne 0x14008d156
mov word [r12], cx
mov rax, qword [rsp + 0x5a8]
cmp word [r14], cx
jne 0x14008d16f
movsx eax, byte [rsp + 0x7c]
mov word [r14], ax
jmp 0x14008d18c
test byte [rsp + 0x5b8], 8
je 0x14008d18c
lea rdx, [0x1401277a0]
mov r8, rax
mov rcx, rbp
call qword [sym.imp.USER32.dll_wsprintfW]
movsxd rsi, dword [rsp + 0x70]
jmp 0x14008d1ab
mov rax, qword [rsp + 0x5a0]
mov rcx, qword [rax]
call fcn.140018bbc
jmp 0x14008c7e4
movsxd rsi, r9d
cmp rbx, r15
je 0x14008d1b9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x80]
call fcn.14005aef8
lea rcx, [rsp + 0x88]
call fcn.14005aef8
xor ecx, ecx
cmp rdi, rcx
je 0x14008d1e3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rsi
add rsp, 0x558
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret