Function at 0x10010a3a4
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4d0
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x4c0], rax
mov qword [rsp + 0x70], rcx
xor edi, edi
lea rcx, [0x100040540]
mov dword [rsp + 0x64], 1
mov qword [rsp + 0x80], rdi
mov dword [rsp + 0x68], edi
call fcn.10011c978
lea r13d, [rdi + 0x11]
mov ecx, r13d
mov rbx, rdi
mov r14, rdi
mov qword [rsp + 0x58], rdi
mov rsi, rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], rdi
call fcn.10010a118
cmp eax, edi
jne 0x10010a4e0
mov r9d, 0x522
mov r12d, r9d
mov rcx, qword [0x100177368]
lea rbp, [0x100177368]
cmp rcx, rbp
je 0x10010a469
test byte [rcx + 0x1c], 8
je 0x10010a469
mov rcx, qword [rcx + 0x10]
lea rax, [0x100040560]
lea r8, [0x1000041b0]
mov edx, r13d
mov qword [rsp + 0x20], rax
call fcn.100106904
mov r13, rbx
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor eax, eax
cmp r14, rax
je 0x10010a498
lea rcx, [rsp + 0x58]
call fcn.100109e64
lea rcx, [0x100040540]
call fcn.10011c9b8
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rcx, qword [rsp + 0x4c0]
xor rcx, rsp
call fcn.100130830
lea r11, [rsp + 0x4d0]
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
mov r13d, 0x12
mov ecx, r13d
call fcn.10010a118
cmp eax, edi
je 0x10010a428
call fcn.10010b9f0
mov rbp, rax
mov qword [rsp + 0x48], rax
cmp rax, rdi
jne 0x10010a567
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov rcx, qword [0x100177368]
lea rbp, [0x100177368]
cmp rcx, rbp
je 0x10010a55a
test byte [rcx + 0x1c], 8
je 0x10010a55a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
lea edx, [r13 + 1]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x10003fae0]
lea r8, [0x1000041b0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov r13, rbx
mov rbx, qword [rsp + 0x48]
jmp 0x10010a46c
mov ecx, 0x448
call fcn.10011ce34
xor r11d, r11d
mov r12, rax
mov qword [rsp + 0x58], rax
cmp rax, r11
jne 0x10010a5c9
lea r9d, [r11 + 0xe]
mov r12d, r9d
mov rcx, qword [0x100177368]
lea rbp, [0x100177368]
cmp rcx, rbp
je 0x10010a5c1
test byte [rcx + 0x1c], 8
je 0x10010a5c1
mov rcx, qword [rcx + 0x10]
lea rax, [0x10003faf0]
lea edx, [r11 + 0x14]
lea r8, [0x1000041b0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov r13, rbx
jmp 0x10010b191
cmp dword [rbp + 4], r11d
jbe 0x10010a60f
lea rbx, [rbp + 8]
movzx eax, word [rbx + 4]
mov r9d, dword [rbx]
movzx r8d, word [rbx + 0x14]
mov edx, dword [rbx + 0x10]
shr ax, 1
mov qword [rsp + 0x28], r11
add r9, rbp
shr r8w, 1
mov rcx, r12
add rdx, rbp
mov word [rsp + 0x20], ax
call fcn.100109ee8
inc edi
add rbx, 0x18
mov r11, rsi
cmp edi, dword [rbp + 4]
jb 0x10010a5d3
mov edi, 0x5c
mov rsi, r12
lea rbp, [0x100177368]
mov eax, 0x105
mov r15d, 0x400
lea r14d, [rdi - 0x1c]
cmp qword [rsi + 8], r11
je 0x10010af4a
mov rdx, qword [rsi + 0x10]
cmp rdx, r11
je 0x10010af4a
movzx r12d, word [rsi + 0x2e]
mov ebx, 0x80070057
cmp r12, 0x7ffffffe
ja 0x10010b900
lea r8, [rsp + 0xb0]
mov r9, rax
mov r10, r12
lea rax, [rsp + 0xb0]
mov ecx, r11d
sub rdx, r8
cmp r10, r11
je 0x10010a69a
movzx r8d, word [rax + rdx]
cmp r8w, r11w
je 0x10010a69a
dec r9
mov word [rax], r8w
dec r10
add rax, 2
cmp r9, r11
jne 0x10010a677
cmp r9, r11
jne 0x10010a6a8
sub rax, 2
mov ecx, 0x8007007a
cmp ecx, r11d
mov word [rax], r11w
jl 0x10010b90b
mov qword [rsp + 0x30], r11
xor r9d, r9d
lea rcx, [rsp + 0xb0]
lea r8d, [r9 + 3]
xor edx, edx
mov dword [rsp + 0x28], 0x80
mov word [rsp + 0xb2], di
mov dword [rsp + 0x78], r11d
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x10010a70a
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r11d, r11d
cmp eax, 0x15
jne 0x10010a74f
jmp 0x10010af40
xor ecx, ecx
lea rax, [rsp + 0x78]
xor r9d, r9d
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov edx, 0x560010
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r11d, r11d
cmp ebx, r11d
jne 0x10010af40
lea eax, [r12 + 1]
mov edi, 0x5c
mov word [rsp + rax*2 + 0xb0], r11w
mov word [rsp + r12*2 + 0xb0], di
mov eax, r11d
cmp dword [rsi + 0x30], r11d
jne 0x10010aa30
lea rcx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor r11d, r11d
cmp dword [rsi + 0x30], r11d
jne 0x10010aa30
cmp eax, 3
je 0x10010aa39
cmp eax, r11d
je 0x10010af45
mov rdi, qword [rsi + 0x18]
cmp rdi, r11
jne 0x10010a8bc
mov ecx, 0x1090
call fcn.10011ce34
xor r11d, r11d
mov r9, rax
mov qword [rsp + 0x40], rax
cmp rax, r11
je 0x10010b08c
mov qword [rax], r11
movzx edx, word [rsi + 0x2e]
mov r10, qword [rsi + 0x10]
mov r12d, 0x7ffffffe
lea rcx, [rax + 0x80c]
mov ebx, 0x80070057
cmp rdx, r12
ja 0x10010aff3
mov r8, r14
mov eax, r11d
sub r10, rcx
cmp rdx, r11
je 0x10010a822
movzx r9d, word [rcx + r10]
cmp r9w, r11w
je 0x10010a822
dec r8
mov word [rcx], r9w
dec rdx
add rcx, 2
cmp r8, r11
jne 0x10010a7ff
cmp r8, r11
jne 0x10010a830
sub rcx, 2
mov eax, 0x8007007a
cmp eax, r11d
mov word [rcx], r11w
jl 0x10010aff9
movzx edx, word [rsi + 0x2c]
mov r13, qword [rsp + 0x40]
mov r10, qword [rsi + 8]
lea rax, [r13 + 0xc]
cmp rdx, r12
ja 0x10010af64
mov r8, r15
mov ecx, r11d
sub r10, rax
cmp rdx, r11
je 0x10010a883
movzx r9d, word [rax + r10]
cmp r9w, r11w
je 0x10010a883
dec r8
mov word [rax], r9w
dec rdx
add rax, 2
cmp r8, r11
jne 0x10010a860
cmp r8, r11
jne 0x10010a891
sub rax, 2
mov ecx, 0x8007007a
cmp ecx, r11d
mov word [rax], r11w
jl 0x10010af6a
mov rbx, qword [rsp + 0x70]
mov r9, r13
mov qword [rsp + 0x40], r11
mov rax, qword [rbx + 0x10]
mov qword [r13], rax
mov qword [rbx + 0x10], r13
jmp 0x10010af40
mov r12d, 0x7ffffffe
mov ecx, 0x1090
call fcn.10011ce34
xor r11d, r11d
mov r8, rax
mov qword [rsp + 0x40], rax
cmp rax, r11
je 0x10010b2fb
mov qword [rax], r11
movzx edx, word [rsi + 0x2e]
mov r10, qword [rsi + 0x10]
add rax, 0x80c
mov ebx, 0x80070057
cmp rdx, r12
ja 0x10010b25d
mov r9, r14
mov ecx, r11d
sub r10, rax
cmp rdx, r11
je 0x10010a92b
movzx r8d, word [rax + r10]
cmp r8w, r11w
je 0x10010a92b
dec r9
mov word [rax], r8w
dec rdx
add rax, 2
cmp r9, r11
jne 0x10010a908
cmp r9, r11
jne 0x10010a939
sub rax, 2
mov ecx, 0x8007007a
cmp ecx, r11d
mov word [rax], r11w
jl 0x10010b263
movzx edx, word [rdi + 8]
mov r13, qword [rsp + 0x40]
mov r10, qword [rdi]
lea rax, [r13 + 0x88c]
cmp rdx, r12
ja 0x10010b1a0
mov r9, r15
mov ecx, r11d
sub r10, rax
cmp rdx, r11
je 0x10010a98e
movzx r8d, word [rax + r10]
cmp r8w, r11w
je 0x10010a98e
dec r9
mov word [rax], r8w
dec rdx
add rax, 2
cmp r9, r11
jne 0x10010a96b
cmp r9, r11
jne 0x10010a99c
sub rax, 2
mov ecx, 0x8007007a
cmp ecx, r11d
mov word [rax], r11w
jl 0x10010b1a6
movzx edx, word [rsi + 0x2c]
mov r10, qword [rsi + 8]
lea rax, [r13 + 0xc]
cmp rdx, r12
ja 0x10010b0dc
mov r9, r15
mov ecx, r11d
sub r10, rax
cmp rdx, r11
je 0x10010a9ea
movzx r8d, word [rax + r10]
cmp r8w, r11w
je 0x10010a9ea
dec r9
mov word [rax], r8w
dec rdx
add rax, 2
cmp r9, r11
jne 0x10010a9c7
cmp r9, r11
jne 0x10010a9f8
sub rax, 2
mov ecx, 0x8007007a
cmp ecx, r11d
mov word [rax], r11w
jl 0x10010b0e2
mov rbx, qword [rsp + 0x70]
mov r8, r13
mov qword [rsp + 0x40], r11
mov rax, qword [rbx + 0x10]
mov qword [r13], rax
mov qword [rbx + 0x10], r13
mov rdi, qword [rdi + 0x10]
cmp rdi, r11
jne 0x10010a8c2
jmp 0x10010af40
cmp eax, 3
jne 0x10010aae8
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xb0]
mov byte [rsp + 0x60], r11b
call fcn.10010a1c8
xor r11d, r11d
cmp eax, r11d
jne 0x10010aaa8
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010af45
test byte [rax + 0x1c], 4
je 0x10010af45
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
lea r9, [rsp + 0xb0]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000041b0]
mov edx, 0x16
mov dword [rsp + 0x20], eax
call fcn.100109c00
xor r11d, r11d
jmp 0x10010af45
cmp byte [rsp + 0x60], r11b
je 0x10010aae8
mov rcx, qword [0x100177368]
cmp rcx, rbp
je 0x10010af45
test byte [rcx + 0x1c], 4
je 0x10010af45
mov rcx, qword [rcx + 0x10]
lea r9, [rsp + 0xb0]
lea r8, [0x1000041b0]
mov edx, 0x17
call fcn.10010683c
jmp 0x10010aaa0
cmp dword [rsi + 0x30], r11d
jne 0x10010ab33
lea rax, [rsp + 0x6c]
lea r9, [rsp + 0x2c0]
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0xb0]
mov r13d, 0x100
mov r8d, 0x10
mov dword [rsp + 0x20], r13d
call fcn.100109d7c
mov r12d, dword [rsp + 0x6c]
xor r11d, r11d
jmp 0x10010ac04
lea rax, [rsp + 0x88]
mov ebx, 0x10
mov r9, rsi
lea rcx, [rsp + 0x88]
mov r8d, r11d
sub r9, rax
mov rdx, rbx
lea rax, [rdx + 0x7fffffee]
cmp rax, r11
je 0x10010ab79
movzx eax, word [r9 + rcx + 0x34]
cmp ax, r11w
je 0x10010ab79
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x10010ab54
cmp rdx, r11
jne 0x10010ab88
sub rcx, 2
mov r8d, 0x8007007a
cmp r8d, r11d
mov word [rcx], r11w
jl 0x10010b877
lea rax, [rsp + 0x2c0]
mov r13d, 0x100
mov r9, rsi
lea rcx, [rsp + 0x2c0]
mov r8d, r11d
sub r9, rax
mov rdx, r13
lea rax, [rdx + 0x7ffffefe]
cmp rax, r11
je 0x10010abdf
movzx eax, word [r9 + rcx + 0x23e]
cmp ax, r11w
je 0x10010abdf
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x10010abb7
cmp rdx, r11
jne 0x10010abee
sub rcx, 2
mov r8d, 0x8007007a
cmp r8d, r11d
mov word [rcx], r11w
jl 0x10010b7d6
mov r12d, dword [rsi + 0x28]
mov dword [rsp + 0x6c], r12d
mov rdi, qword [rsi + 0x18]
cmp rdi, r11
jne 0x10010ad6b
mov ecx, 0xab8
call fcn.10011ce34
xor r11d, r11d
mov rdi, rax
mov qword [rsp + 0x50], rax
cmp rax, r11
je 0x10010b4f1
mov qword [rax], r11
movzx edx, word [rsi + 0x2e]
mov r10, qword [rsi + 0x10]
lea rcx, [rax + 0xc]
mov ebx, 0x80070057
cmp rdx, 0x7ffffffe
ja 0x10010b451
mov r8, r14
mov eax, r11d
sub r10, rcx
cmp rdx, r11
je 0x10010ac7c
movzx r9d, word [r10 + rcx]
cmp r9w, r11w
je 0x10010ac7c
dec r8
mov word [rcx], r9w
dec rdx
add rcx, 2
cmp r8, r11
jne 0x10010ac59
cmp r8, r11
jne 0x10010ac8a
sub rcx, 2
mov eax, 0x8007007a
cmp eax, r11d
mov word [rcx], r11w
jl 0x10010b457
lea rcx, [rdi + 0x88c]
lea r9, [rsp + 0x88]
mov ebx, 0x10
sub r9, rcx
mov rdx, rbx
mov r8d, r11d
lea rax, [rdx + 0x7fffffee]
cmp rax, r11
je 0x10010acd8
movzx eax, word [r9 + rcx]
cmp ax, r11w
je 0x10010acd8
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x10010acb4
cmp rdx, r11
jne 0x10010ace7
sub rcx, 2
mov r8d, 0x8007007a
cmp r8d, r11d
mov word [rcx], r11w
jl 0x10010b3d0
lea rcx, [rdi + 0x8ac]
lea r9, [rsp + 0x2c0]
mov rdx, r13
sub r9, rcx
mov r8d, r11d
lea rax, [rdx + 0x7ffffefe]
cmp rax, r11
je 0x10010ad30
movzx eax, word [r9 + rcx]
cmp ax, r11w
je 0x10010ad30
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x10010ad0c
cmp rdx, r11
jne 0x10010ad3f
sub rcx, 2
mov r8d, 0x8007007a
cmp r8d, r11d
mov word [rcx], r11w
jl 0x10010b350
mov rbx, qword [rsp + 0x70]
mov dword [rdi + 0xaac], r12d
mov qword [rsp + 0x50], r11
mov rax, qword [rbx]
mov qword [rdi], rax
mov qword [rbx], rdi
jmp 0x10010af40
mov ecx, 0xab8
call fcn.10011ce34
xor r11d, r11d
mov qword [rsp + 0x50], rax
cmp rax, r11
je 0x10010b7a0
mov qword [rax], r11
movzx edx, word [rsi + 0x2e]
mov r10, qword [rsi + 0x10]
add rax, 0xc
mov ebx, 0x80070057
cmp rdx, 0x7ffffffe
ja 0x10010b70c
mov r9, r14
mov ecx, r11d
sub r10, rax
cmp rdx, r11
je 0x10010add3
movzx r8d, word [r10 + rax]
cmp r8w, r11w
je 0x10010add3
dec r9
mov word [rax], r8w
dec rdx
add rax, 2
cmp r9, r11
jne 0x10010adb0
cmp r9, r11
jne 0x10010ade1
sub rax, 2
mov ecx, 0x8007007a
cmp ecx, r11d
mov word [rax], r11w
jl 0x10010b712
movzx edx, word [rdi + 8]
mov r11, qword [rsp + 0x50]
mov r10, qword [rdi]
lea rax, [r11 + 0x8c]
cmp rdx, 0x7ffffffe
ja 0x10010b647
xor r8d, r8d
mov r9, r15
sub r10, rax
mov ecx, r8d
cmp rdx, r8
je 0x10010ae45
movzx r8d, word [r10 + rax]
cmp r8w, word [rsp + 0x80]
je 0x10010ae45
mov word [rax], r8w
dec r9
xor r8d, r8d
add rax, 2
dec rdx
cmp r9, r8
jne 0x10010ae1a
xor r10d, r10d
cmp r9, r10
jne 0x10010ae56
sub rax, 2
mov ecx, 0x8007007a
cmp ecx, r10d
mov word [rax], r10w
jl 0x10010b650
lea rcx, [r11 + 0x88c]
lea r9, [rsp + 0x88]
mov ebx, 0x10
sub r9, rcx
mov r8, rbx
mov edx, r10d
lea rax, [r8 + 0x7fffffee]
cmp rax, r10
je 0x10010aea4
movzx eax, word [r9 + rcx]
cmp ax, r10w
je 0x10010aea4
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x10010ae80
cmp r8, r10
jne 0x10010aeb2
sub rcx, 2
mov edx, 0x8007007a
cmp edx, r10d
mov word [rcx], r10w
jl 0x10010b5a0
lea rcx, [r11 + 0x8ac]
lea r9, [rsp + 0x2c0]
mov r8, r13
sub r9, rcx
mov edx, r10d
lea rax, [r8 + 0x7ffffefe]
cmp rax, r10
je 0x10010aefb
movzx eax, word [r9 + rcx]
cmp ax, r10w
je 0x10010aefb
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x10010aed7
cmp r8, r10
jne 0x10010af09
sub rcx, 2
mov edx, 0x8007007a
cmp edx, r10d
mov word [rcx], r10w
jl 0x10010b520
mov rbx, qword [rsp + 0x70]
mov dword [r11 + 0xaac], r12d
mov rax, qword [rbx]
mov qword [r11], rax
mov qword [rbx], r11
mov rdi, qword [rdi + 0x10]
xor r11d, r11d
mov qword [rsp + 0x50], r11
cmp rdi, r11
jne 0x10010ad6b
mov edi, 0x5c
mov eax, 0x105
mov rsi, qword [rsi]
cmp rsi, r11
jne 0x10010a62d
mov r12d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
jmp 0x10010b341
mov ecx, ebx
mov word [rax], r11w
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010b18c
test byte [rax + 0x1c], 8
je 0x10010b18c
movzx ecx, word [rsi + 0x2c]
mov rdx, qword [rsi + 8]
lea rax, [r13 + 0xc]
cmp rcx, 0x7ffffffe
jbe 0x10010afab
xor ecx, ecx
mov word [rax], cx
jmp 0x10010afe9
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010afd7
movzx r8d, word [rax + rdx]
cmp r8w, r9w
je 0x10010afd7
dec r15
mov word [rax], r8w
dec rcx
add rax, 2
cmp r15, r9
jne 0x10010afb4
cmp r15, r9
jne 0x10010afe5
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov edx, 0x27
jmp 0x10010b166
mov eax, ebx
mov word [rcx], r11w
mov ecx, eax
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
mov r13, qword [rsp + 0x40]
cmp rax, rbp
je 0x10010b18c
test byte [rax + 0x1c], 8
je 0x10010b18c
movzx ecx, word [rsi + 0x2e]
mov rdx, qword [rsi + 0x10]
lea rax, [r13 + 0x80c]
cmp rcx, 0x7ffffffe
jbe 0x10010b044
xor ecx, ecx
mov word [rax], cx
jmp 0x10010b082
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010b070
movzx r8d, word [rax + rdx]
cmp r8w, r9w
je 0x10010b070
dec r14
mov word [rax], r8w
dec rcx
add rax, 2
cmp r14, r9
jne 0x10010b04d
cmp r14, r9
jne 0x10010b07e
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov edx, 0x26
jmp 0x10010b2ef
mov r9d, 0xe
mov edi, r11d
mov r12d, r9d
mov rcx, qword [0x100177368]
cmp rcx, rbp
je 0x10010b9e0
test byte [rcx + 0x1c], 8
je 0x10010b9e0
mov rcx, qword [rcx + 0x10]
lea rax, [0x1000407c8]
lea edx, [r9 + 0x17]
lea r8, [0x1000041b0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov r13, qword [rsp + 0x40]
jmp 0x10010b18c
mov ecx, ebx
mov word [rax], r11w
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010b18c
test byte [rax + 0x1c], 8
je 0x10010b18c
movzx ecx, word [rsi + 0x2c]
mov rdx, qword [rsi + 8]
lea rax, [r13 + 0xc]
cmp rcx, 0x7ffffffe
jbe 0x10010b123
xor ecx, ecx
mov word [rax], cx
jmp 0x10010b161
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010b14f
movzx r8d, word [rax + rdx]
cmp r8w, r9w
je 0x10010b14f
dec r15
mov word [rax], r8w
dec rcx
add rax, 2
cmp r15, r9
jne 0x10010b12c
cmp r15, r9
jne 0x10010b15d
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov edx, 0x2c
lea rax, [0x100040850]
mov rcx, qword [0x100177368]
lea r8, [0x1000041b0]
mov r9d, ebx
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
jmp 0x10010a46c
mov ecx, ebx
mov word [rax], r11w
mov dword [rsp + 0x64], r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010b254
test byte [rax + 0x1c], 8
je 0x10010b254
movzx ecx, word [rdi + 8]
mov rdx, qword [rdi]
lea rax, [r13 + 0x88c]
cmp rcx, 0x7ffffffe
jbe 0x10010b1eb
xor ecx, ecx
mov word [rax], cx
jmp 0x10010b229
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010b217
movzx r8d, word [rax + rdx]
cmp r8w, r9w
je 0x10010b217
dec r15
mov word [rax], r8w
dec rcx
add rax, 2
cmp r15, r9
jne 0x10010b1f4
cmp r15, r9
jne 0x10010b225
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov rcx, qword [0x100177368]
lea rax, [0x1000408c0]
lea r8, [0x1000041b0]
mov rcx, qword [rcx + 0x10]
mov edx, 0x2b
mov r9d, ebx
mov qword [rsp + 0x20], rax
call fcn.100106904
mov edi, dword [rsp + 0x64]
jmp 0x10010b18c
mov ecx, ebx
mov word [rax], r11w
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010b341
test byte [rax + 0x1c], 8
mov r13, qword [rsp + 0x40]
je 0x10010b18c
movzx ecx, word [rsi + 0x2e]
mov rdx, qword [rsi + 0x10]
lea rax, [r13 + 0x80c]
cmp rcx, 0x7ffffffe
jbe 0x10010b2ac
xor ecx, ecx
mov word [rax], cx
jmp 0x10010b2ea
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010b2d8
movzx r8d, word [rax + rdx]
cmp r8w, r9w
je 0x10010b2d8
dec r14
mov word [rax], r8w
dec rcx
add rax, 2
cmp r14, r9
jne 0x10010b2b5
cmp r14, r9
jne 0x10010b2e6
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov edx, 0x2a
lea rax, [0x1000407e0]
jmp 0x10010b16d
mov r9d, 0xe
mov edi, r11d
mov r12d, r9d
mov rcx, qword [0x100177368]
cmp rcx, rbp
je 0x10010b9e0
test byte [rcx + 0x1c], 8
je 0x10010b9e0
lea edx, [r9 + 0x1b]
lea rax, [0x1000407c8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000041b0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
jmp 0x10010b191
mov ecx, r8d
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
mov rsi, qword [rsp + 0x50]
cmp rax, rbp
je 0x10010b346
test byte [rax + 0x1c], 8
je 0x10010b346
xor r8d, r8d
lea rcx, [rsi + 0x8ac]
lea rdx, [rsp + 0x2c0]
sub rdx, rcx
mov r9d, r8d
lea rax, [r13 + 0x7ffffefe]
cmp rax, r8
je 0x10010b3b0
movzx eax, word [rdx + rcx]
cmp ax, r8w
je 0x10010b3b0
mov word [rcx], ax
add rcx, 2
sub r13, 1
jne 0x10010b38d
cmp r13, r8
jne 0x10010b3bf
sub rcx, 2
mov r9d, 0x8007007a
mov edx, 0x1d
lea rax, [0x100040710]
jmp 0x10010b622
mov ecx, r8d
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
mov rsi, qword [rsp + 0x50]
cmp rax, rbp
je 0x10010b346
test byte [rax + 0x1c], 8
je 0x10010b346
xor r8d, r8d
lea rcx, [rsi + 0x88c]
lea rdx, [rsp + 0x88]
sub rdx, rcx
mov r9d, r8d
lea rax, [rbx + 0x7fffffee]
cmp rax, r8
je 0x10010b438
movzx eax, word [rdx + rcx]
cmp ax, r8w
je 0x10010b438
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x10010b415
cmp rbx, r8
jne 0x10010b447
sub rcx, 2
mov r9d, 0x8007007a
mov edx, 0x1c
jmp 0x10010b61b
mov eax, ebx
mov word [rcx], r11w
mov ecx, eax
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010b341
test byte [rax + 0x1c], 8
je 0x10010b341
movzx ecx, word [rsi + 0x2e]
mov rdx, qword [rsi + 0x10]
mov rsi, qword [rsp + 0x50]
lea rax, [rsi + 0xc]
cmp rcx, 0x7ffffffe
jbe 0x10010b49f
xor ecx, ecx
mov word [rax], cx
jmp 0x10010b4dd
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010b4cb
movzx r8d, word [rdx + rax]
cmp r8w, r9w
je 0x10010b4cb
dec r14
mov word [rax], r8w
dec rcx
add rax, 2
cmp r14, r9
jne 0x10010b4a8
cmp r14, r9
jne 0x10010b4d9
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov edx, 0x1b
lea rax, [0x100040660]
mov r9d, ebx
jmp 0x10010b626
mov r9d, 0xe
mov edi, r11d
mov r12d, r9d
mov rcx, qword [0x100177368]
cmp rcx, rbp
je 0x10010b9d8
test byte [rcx + 0x1c], 8
je 0x10010b9d8
lea edx, [r9 + 0xc]
jmp 0x10010b7ca
mov ecx, edx
mov edi, r10d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
mov rsi, qword [rsp + 0x50]
cmp rax, rbp
je 0x10010b346
test byte [rax + 0x1c], 8
je 0x10010b346
xor r8d, r8d
lea rcx, [rsi + 0x8ac]
lea rdx, [rsp + 0x2c0]
sub rdx, rcx
mov r9d, r8d
lea rax, [r13 + 0x7ffffefe]
cmp rax, r8
je 0x10010b587
movzx eax, word [rcx + rdx]
cmp ax, r8w
je 0x10010b587
mov word [rcx], ax
add rcx, 2
sub r13, 1
jne 0x10010b564
cmp r13, r8
jne 0x10010b596
sub rcx, 2
mov r9d, 0x8007007a
mov edx, 0x23
jmp 0x10010b3c4
mov ecx, edx
mov edi, r10d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
mov rsi, qword [rsp + 0x50]
cmp rax, rbp
je 0x10010b346
test byte [rax + 0x1c], 8
je 0x10010b346
xor r8d, r8d
lea rcx, [rsi + 0x88c]
lea rdx, [rsp + 0x88]
sub rdx, rcx
mov r9d, r8d
lea rax, [rbx + 0x7fffffee]
cmp rax, r8
je 0x10010b607
movzx eax, word [rcx + rdx]
cmp ax, r8w
je 0x10010b607
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x10010b5e4
cmp rbx, r8
jne 0x10010b616
sub rcx, 2
mov r9d, 0x8007007a
mov edx, 0x22
lea rax, [0x1000406c0]
mov word [rcx], r8w
mov rcx, qword [0x100177368]
lea r8, [0x1000041b0]
mov qword [rsp + 0x20], rax
mov rcx, qword [rcx + 0x10]
call fcn.100106904
jmp 0x10010b346
xor r10d, r10d
mov ecx, ebx
mov word [rax], r10w
mov dword [rsp + 0x64], r10d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010af5b
test byte [rax + 0x1c], 8
mov rsi, qword [rsp + 0x50]
je 0x10010b703
movzx ecx, word [rdi + 8]
mov rdx, qword [rdi]
lea rax, [rsi + 0x8c]
cmp rcx, 0x7ffffffe
jbe 0x10010b69a
xor ecx, ecx
mov word [rax], cx
jmp 0x10010b6d8
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010b6c6
movzx r8d, word [rdx + rax]
cmp r8w, r9w
je 0x10010b6c6
dec r15
mov word [rax], r8w
dec rcx
add rax, 2
cmp r15, r9
jne 0x10010b6a3
cmp r15, r9
jne 0x10010b6d4
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov rcx, qword [0x100177368]
lea rax, [0x100040760]
lea r8, [0x1000041b0]
mov rcx, qword [rcx + 0x10]
mov edx, 0x21
mov r9d, ebx
mov qword [rsp + 0x20], rax
call fcn.100106904
mov edi, dword [rsp + 0x64]
jmp 0x10010b346
mov ecx, ebx
mov word [rax], r11w
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rax, qword [0x100177368]
cmp rax, rbp
je 0x10010b341
test byte [rax + 0x1c], 8
je 0x10010b341
movzx ecx, word [rsi + 0x2e]
mov rdx, qword [rsi + 0x10]
mov rsi, qword [rsp + 0x50]
lea rax, [rsi + 0xc]
cmp rcx, 0x7ffffffe
jbe 0x10010b758
xor ecx, ecx
mov word [rax], cx
jmp 0x10010b796
xor r9d, r9d
sub rdx, rax
mov ebx, r9d
cmp rcx, r9
je 0x10010b784
movzx r8d, word [rdx + rax]
cmp r8w, r9w
je 0x10010b784
dec r14
mov word [rax], r8w
dec rcx
add rax, 2
cmp r14, r9
jne 0x10010b761
cmp r14, r9
jne 0x10010b792
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r9w
mov edx, 0x20
jmp 0x10010b4e2
mov r9d, 0xe
mov edi, r11d
mov r12d, r9d
mov rcx, qword [0x100177368]
cmp rcx, rbp
je 0x10010b9d8
test byte [rcx + 0x1c], 8
je 0x10010b9d8
lea edx, [r9 + 0x11]
lea rax, [0x100040650]
jmp 0x10010b32c
mov ecx, r8d
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rcx, qword [0x100177368]
cmp rcx, rbp
je 0x10010b341
test byte [rcx + 0x1c], 8
je 0x10010b341
xor r8d, r8d
lea rax, [rsp + 0x2c0]
lea rdx, [rsp + 0x2c0]
sub rsi, rax
mov r9d, r8d
lea rax, [r13 + 0x7ffffefe]
cmp rax, r8
je 0x10010b83e
movzx eax, word [rsi + rdx + 0x23e]
cmp ax, r8w
je 0x10010b83e
mov word [rdx], ax
add rdx, 2
sub r13, 1
jne 0x10010b817
cmp r13, r8
jne 0x10010b84d
sub rdx, 2
mov r9d, 0x8007007a
mov word [rdx], r8w
lea rax, [0x100040610]
mov edx, 0x19
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000041b0]
mov qword [rsp + 0x20], rax
call fcn.100106904
jmp 0x10010b341
mov ecx, r8d
mov edi, r11d
call fcn.10011ca20
mov r12d, eax
mov rcx, qword [0x100177368]
cmp rcx, rbp
je 0x10010b341
test byte [rcx + 0x1c], 8
je 0x10010b341
xor edx, edx
lea rax, [rsp + 0x88]
lea r8, [rsp + 0x88]
sub rsi, rax
mov r9d, edx
lea rax, [rbx + 0x7fffffee]
cmp rax, rdx
je 0x10010b8dc
movzx eax, word [rsi + r8 + 0x34]
cmp ax, dx
je 0x10010b8dc
mov word [r8], ax
add r8, 2
sub rbx, 1
jne 0x10010b8b7
cmp rbx, rdx
jne 0x10010b8eb
sub r8, 2
mov r9d, 0x8007007a
mov word [r8], dx
lea rax, [0x1000405d0]
mov edx, 0x18
jmp 0x10010b85d
mov ecx, ebx
mov word [rsp + 0xb0], r11w
mov edi, r11d
call fcn.10011ca20
mov dword [rsp + 0x68], eax
mov r10, qword [0x100177368]
cmp r10, rbp
je 0x10010b9d0
test byte [r10 + 0x1c], 8
je 0x10010b9d0
mov rdx, qword [rsi + 0x10]
mov rcx, r12
cmp r12, 0x7ffffffe
jbe 0x10010b94e
xor eax, eax
mov word [rsp + 0xb0], ax
jmp 0x10010b9a2
xor r11d, r11d
lea r8, [rsp + 0xb0]
lea rax, [rsp + 0xb0]
sub rdx, r8
mov ebx, r11d
mov r9d, 0x105
cmp rcx, r11
je 0x10010b990
movzx r8d, word [rax + rdx]
cmp r8w, r11w
je 0x10010b990
dec r9
mov word [rax], r8w
dec rcx
add rax, 2
cmp r9, r11
jne 0x10010b96d
cmp r9, r11
jne 0x10010b99e
sub rax, 2
mov ebx, 0x8007007a
mov word [rax], r11w
mov rcx, qword [r10 + 0x10]
lea rax, [0x100040580]
lea r8, [0x1000041b0]
mov edx, 0x15
mov r9d, ebx
mov qword [rsp + 0x20], rax
call fcn.100106904
mov r12d, dword [rsp + 0x68]
jmp 0x10010b341
mov r12d, eax
jmp 0x10010b341
mov rsi, rax
jmp 0x10010b346
mov r13, rax
jmp 0x10010b18c