Function at 0x140024590
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x1402f8c60]
xor rax, rsp
mov qword [rbp + 0x220], rax
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tecopower_tecopower.cpp
mov dword [rbp - 0x40], 0x547
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x48]
lea rax, str.__TecoPower::UpdateEcoPlanSetting_
mov dword [rbp - 0x28], 3
mov qword [rbp - 0x38], rax
mov r14, r8
lea rax, [0x1402a214c]
mov r15d, edx
lea r8, str.TecoPower::UpdateEcoPlanSetting
mov qword [rbp - 0x30], rax
lea rdx, str.ENTER__s
mov qword [rbp - 0x50], r8
mov rdi, r9
call fcn.140008d50
call fcn.140026920
xor r13d, r13d
mov dword [rsp + 0x68], eax
xor r8d, r8d
mov dword [rsp + 0x54], r13d
xor edx, edx
xor ecx, ecx
lea r9d, [r13 + 6]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
lea r12d, [r13 + 1]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002464c
mov dword [rsp + 0x54], r13d
jmp 0x140024752
lea r8, [rbp - 0x20]
mov dword [rbp - 0x20], 0x20
xor edx, edx
mov rcx, rsi
mov ebx, r13d
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x140024749
nop dword [rax]
mov rax, qword [rbp - 0x1c]
cmp rax, qword [0x1402ad3a8]
jne 0x140024729
mov rax, qword [rbp - 0x14]
cmp rax, qword [0x1402ad3b0]
jne 0x140024729
xor edx, edx
lea rcx, [rbp + 0x10]
mov r8d, 0x208
call fcn.1401f5d40
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x30], rax
lea rdx, [rbp - 0x20]
lea rax, [rbp + 0x10]
mov dword [rsp + 0x28], 0x208
mov r8d, r12d
mov qword [rsp + 0x20], rax
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
je 0x140024729
lea rdx, [rbp + 0x10]
lea rcx, str.HDAUDIOFUNC_01VEN_10ECDEV_0269SUBSYS_1179FDC2REV_1001
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140024744
lea rdx, [rbp + 0x10]
lea rcx, str.HDAUDIOFUNC_01VEN_10ECDEV_0269SUBSYS_1179FDC4REV_1001
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140024744
lea rdx, [rbp + 0x10]
lea rcx, str.HDAUDIOFUNC_01VEN_10ECDEV_0269SUBSYS_1179FDC8REV_1001
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140024744
lea rdx, [rbp + 0x10]
lea rcx, str.HDAUDIOFUNC_01VEN_10ECDEV_0269SUBSYS_1179FDCAREV_1001
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140024744
inc ebx
lea r8, [rbp - 0x20]
mov edx, ebx
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
jne 0x140024670
jmp 0x140024749
mov dword [rsp + 0x54], r12d
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov qword [rsp + 0x30], r13
lea rcx, str..TVALZ
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov r8d, r12d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
lea rcx, [rax + 1]
test rcx, 0xfffffffffffffffe
jne 0x1400247bf
mov qword [rsp + 0x30], r13
lea rcx, str..DVALZ
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov r8d, r12d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
je 0x14002483a
mov dword [rbp - 0x20], 0xfe00
xorps xmm0, xmm0
mov dword [rbp - 0x1c], 0x7f
movdqu xmmword [rbp - 0x18], xmm0
test rsi, rsi
je 0x14002483a
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea r8, [rbp - 0x20]
lea rax, [rbp - 0x20]
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayGetElement
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetElement
mov qword [rsp + 0x20], rax
mov edx, 0x222880
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x14002483a
cmp dword [rbp - 0x20], r13d
jne 0x14002483a
movzx r12d, byte [rbp - 0x10]
and r12d, 1
xor esi, esi
jmp 0x14002483f
xor esi, esi
mov r12d, esi
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tecopower_tecopower.cpp
mov dword [rbp - 0x78], 0x512
mov qword [rbp - 0x80], rax
lea r8, str.TecoPower::GetCoolingMethodSupportTypeFromReg
lea rax, [0x1402a214c]
mov qword [rsp + 0x78], r8
lea r13, str.__TecoPower::GetCoolingMethodSupportTypeFromReg_
mov qword [rbp - 0x68], rax
lea rdx, str.ENTER__s
mov qword [rbp - 0x70], r13
lea rcx, [rbp - 0x80]
mov dword [rbp - 0x60], 3
call fcn.140008d50
lea rax, [rsp + 0x58]
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a34f0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20019
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400249ed
mov rbx, qword [rsp + 0x70]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x5c]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x60], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a3468]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002499e
cmp dword [rsp + 0x5c], 4
jne 0x14002499e
mov r8d, dword [rsp + 0x50]
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tecopower_tecopower.cpp
mov qword [rbp - 0x20], rax
lea rdx, str.Cooling_method_support_type:__d
lea rax, [0x1402a214c]
mov dword [rbp - 0x18], 0x528
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], r13
mov dword [rbp], 3
call fcn.140008d50
test rbx, rbx
je 0x14002496d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r13d, dword [rsp + 0x50]
test rbx, rbx
mov rcx, rsi
cmove rcx, rbx
test rcx, rcx
je 0x140024987
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r8, qword [rsp + 0x78]
lea rdx, str.LEAVE__s
lea rcx, [rbp - 0x80]
call fcn.140008d50
jmp 0x140024a05
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tecopower_tecopower.cpp
mov dword [rbp - 0x18], 0x523
mov qword [rbp - 0x20], rax
lea rax, [0x1402a214c]
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], r13
mov dword [rbp], 3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Get_cooling_method_support_type_register_failed:__d
lea rcx, [rbp - 0x20]
call fcn.140008d50
test rbx, rbx
je 0x1400249ed
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r8, qword [rsp + 0x78]
lea rdx, str.LEAVE__s
lea rcx, [rbp - 0x80]
call fcn.140008d50
mov r13d, esi
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tecopower_tecopower.cpp
mov dword [rbp - 0x78], 0x52f
mov qword [rbp - 0x80], rax
lea r8, str.TecoPower::GetCoolingMethodMaxFromReg
lea rax, str.__TecoPower::GetCoolingMethodMaxFromReg_
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x70], rax
lea rdx, str.ENTER__s
lea rax, [0x1402a214c]
mov dword [rbp - 0x60], 3
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x68], rax
call fcn.140008d50
lea rax, [rsp + 0x70]
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a34f0]
lea rax, [rbp - 0x58]
mov qword [rbp - 0x58], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20019
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
mov rbx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140024ae9
mov rbx, qword [rbp - 0x58]
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x58]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x5c], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a34a0]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140024ae0
cmp dword [rsp + 0x58], 4
je 0x140024b2a
mov dword [rbp - 0x18], 0x53c
jmp 0x140024af0
mov dword [rbp - 0x18], 0x539
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tecopower_tecopower.cpp
mov dword [rbp], esi
mov qword [rbp - 0x20], rax
lea rdx, str.Error_Code:_0x_x
lea rax, str.__TecoPower::GetCoolingMethodMaxFromReg_
mov r8d, 0x80004005
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x20]
lea rax, [0x1402a214c]
mov qword [rbp - 8], rax
call fcn.140008d50
mov r8d, dword [rsp + 0x50]
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tecopower_tecopower.cpp
mov qword [rbp - 0x20], rax
lea rdx, str.Cooling_method_max:__d
lea rax, str.__TecoPower::GetCoolingMethodMaxFromReg_
mov dword [rbp - 0x18], 0x540
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x20]
lea rax, [0x1402a214c]
mov dword [rbp], 3
mov qword [rbp - 8], rax
call fcn.140008d50
test rbx, rbx
je 0x140024b7c
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
test rsi, rsi
je 0x140024b92
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r8, qword [rsp + 0x78]
lea rdx, str.LEAVE__s
lea rcx, [rbp - 0x80]
call fcn.140008d50
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
test r15d, r15d
je 0x1400251ee
cmp dword [0x1416ba048], eax
jle 0x140024bf3
lea rcx, [0x1416ba048]
call fcn.1400728bc
cmp dword [0x1416ba048], 0xffffffff
jne 0x140024bf3
lea rcx, [0x1416ba048]
mov dword [0x1416ba050], esi
call fcn.14007285c
lea rcx, [0x1416ba050]
call fcn.140026670
test eax, eax
je 0x140024cb4
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
je 0x140024cb4
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 2
jne 0x140024ce6
mov eax, 0xcccccccd
mul dword [r14]
mov rax, qword [0x1416aaf58]
shr edx, 3
mov dword [r14], edx
test rax, rax
je 0x140024c6f
test rdi, rdi
je 0x140024c6f
mov dword [rsp + 0x20], edx
lea r9, [0x1402ad3b8]
mov rdx, rdi
lea r8, [0x1402ad428]
xor ecx, ecx
call rax
test eax, eax
je 0x140024ce6
mov ebx, 0x80
mov r8, qword [rbp - 0x50]
lea rdx, str.LEAVE__s
lea rcx, [rbp - 0x48]
call fcn.140008d50
mov eax, ebx
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.140072680
mov rbx, qword [rsp + 0x370]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r10, qword [0x1416aaf58]
test r10, r10
je 0x140024c6f
test rdi, rdi
je 0x140024c6f
mov eax, dword [r14]
lea r9, [0x14023e490]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf58]
test rax, rax
je 0x140024c6f
test rdi, rdi
je 0x140024c6f
mov ebx, dword [r14 + 0xc]
lea r9, [0x14023e4f0]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], ebx
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf58]
test rax, rax
je 0x140024c6f
mov esi, dword [r14 + 0x10]
lea r9, [0x14023e4a0]
lea r8, [0x14023e460]
mov dword [rsp + 0x20], esi
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf58]
test rax, rax
je 0x140024c6f
mov r15d, dword [r14 + 0x14]
lea r9, [0x14023e470]
lea r8, [0x14023e4e0]
mov dword [rsp + 0x20], r15d
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
call fcn.140026270
mov rcx, rax
call fcn.140026670
test eax, eax
je 0x140024db6
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
jne 0x140024e58
mov r10, qword [0x1416aaf58]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x18]
lea r9, [0x1402ad3e8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf58]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x1c]
lea r9, [0x1402ad3d8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf58]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x20]
lea r9, [0x1402ad3c8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
cmp dword [rsp + 0x54], 0
je 0x140024e94
mov rax, qword [0x1416aaf58]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e510]
mov dword [rsp + 0x20], 0x4b
lea r8, [0x14023e4d0]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
call fcn.140026270
mov rcx, rax
call fcn.140026670
test eax, eax
je 0x140024f04
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
je 0x140024f04
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 2
jne 0x140024f39
mov eax, dword [r14]
mov r10, qword [0x1416aaf50]
dec eax
mov dword [r14], eax
test r10, r10
je 0x140024c6f
lea r9, [0x1402ad3b8]
mov dword [rsp + 0x20], eax
lea r8, [0x1402ad428]
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
je 0x140024f39
jmp 0x140024c6f
mov r10, qword [0x1416aaf50]
test r10, r10
je 0x140024c6f
mov eax, dword [r14]
lea r9, [0x14023e490]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf50]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e4f0]
mov dword [rsp + 0x20], ebx
lea r8, [0x14023e500]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf50]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e4a0]
mov dword [rsp + 0x20], esi
lea r8, [0x14023e460]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf50]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e470]
mov dword [rsp + 0x20], r15d
lea r8, [0x14023e4e0]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
cmp dword [rsp + 0x68], eax
je 0x1400250a0
call fcn.140026270
mov rcx, rax
call fcn.140026670
test eax, eax
je 0x140024ffe
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
jne 0x1400250a0
mov r10, qword [0x1416aaf50]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x18]
lea r9, [0x1402ad3e8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf50]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x1c]
lea r9, [0x1402ad3d8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf50]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x20]
lea r9, [0x1402ad3c8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
cmp dword [rsp + 0x54], 0
je 0x1400250dc
mov rax, qword [0x1416aaf50]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e510]
mov dword [rsp + 0x20], 0x4b
lea r8, [0x14023e4d0]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf70]
xor ebx, ebx
mov dword [rsp + 0x50], ebx
test rax, rax
je 0x140024c6f
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea r9, [0x1402ad418]
xor ecx, ecx
lea r8, [0x1402ad428]
lea rdx, [0x14023e450]
call rax
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf50]
test r10, r10
je 0x140024c6f
mov eax, dword [rsp + 0x50]
lea r9, [0x1402ad418]
lea r8, [0x1402ad428]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf78]
test rax, rax
je 0x140024c6f
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea r9, [0x1402ad418]
xor ecx, ecx
lea r8, [0x1402ad428]
lea rdx, [0x14023e450]
call rax
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf58]
test r10, r10
je 0x140024c6f
mov eax, dword [rsp + 0x50]
lea r9, [0x1402ad418]
lea r8, [0x1402ad428]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
test r12d, r12d
je 0x1400257e3
cmp r13d, 3
je 0x1400257e3
cmp dword [rsp + 0x60], 2
jbe 0x1400257e3
mov rax, qword [0x1416aaf58]
jmp 0x1400257c5
cmp dword [0x1416ba048], eax
jle 0x14002521d
lea rcx, [0x1416ba048]
call fcn.1400728bc
cmp dword [0x1416ba048], 0xffffffff
jne 0x14002521d
lea rcx, [0x1416ba048]
mov dword [0x1416ba050], esi
call fcn.14007285c
lea rcx, [0x1416ba050]
call fcn.140026670
test eax, eax
je 0x140025299
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
je 0x140025299
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 2
jne 0x1400252d7
mov eax, dword [r14]
mov r10, qword [0x1416aaf68]
dec eax
mov dword [r14], eax
test r10, r10
je 0x140024c6f
test rdi, rdi
je 0x140024c6f
lea r9, [0x1402ad3b8]
mov dword [rsp + 0x20], eax
lea r8, [0x1402ad428]
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
je 0x1400252d7
jmp 0x140024c6f
mov r10, qword [0x1416aaf68]
test r10, r10
je 0x140024c6f
test rdi, rdi
je 0x140024c6f
mov eax, dword [r14]
lea r9, [0x14023e490]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf68]
test rax, rax
je 0x140024c6f
test rdi, rdi
je 0x140024c6f
mov ebx, dword [r14 + 0xc]
lea r9, [0x14023e4f0]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], ebx
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf68]
test rax, rax
je 0x140024c6f
mov esi, dword [r14 + 0x10]
lea r9, [0x14023e4a0]
lea r8, [0x14023e460]
mov dword [rsp + 0x20], esi
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf68]
test rax, rax
je 0x140024c6f
mov r15d, dword [r14 + 0x14]
lea r9, [0x14023e470]
lea r8, [0x14023e4e0]
mov dword [rsp + 0x20], r15d
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
call fcn.140026270
mov rcx, rax
call fcn.140026670
test eax, eax
je 0x1400253a7
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
jne 0x140025449
mov r10, qword [0x1416aaf68]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x18]
lea r9, [0x1402ad3e8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf68]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x1c]
lea r9, [0x1402ad3d8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf68]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x20]
lea r9, [0x1402ad3c8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
cmp dword [rsp + 0x54], 0
je 0x140025485
mov rax, qword [0x1416aaf68]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e510]
mov dword [rsp + 0x20], 0x4b
lea r8, [0x14023e4d0]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
call fcn.140026270
mov rcx, rax
call fcn.140026670
test eax, eax
je 0x1400254f5
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
je 0x1400254f5
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 2
jne 0x14002552a
mov eax, dword [r14]
mov r10, qword [0x1416aaf60]
dec eax
mov dword [r14], eax
test r10, r10
je 0x140024c6f
lea r9, [0x1402ad3b8]
mov dword [rsp + 0x20], eax
lea r8, [0x1402ad428]
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
je 0x14002552a
jmp 0x140024c6f
mov r10, qword [0x1416aaf60]
test r10, r10
je 0x140024c6f
mov eax, dword [r14]
lea r9, [0x14023e490]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf60]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e4f0]
mov dword [rsp + 0x20], ebx
lea r8, [0x14023e500]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf60]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e4a0]
mov dword [rsp + 0x20], esi
lea r8, [0x14023e460]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf60]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e470]
mov dword [rsp + 0x20], r15d
lea r8, [0x14023e4e0]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
call fcn.140026270
mov rcx, rax
call fcn.140026670
test eax, eax
je 0x1400255e5
call fcn.140026270
mov rcx, rax
call fcn.140026670
cmp eax, 3
jne 0x140025687
mov r10, qword [0x1416aaf60]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x18]
lea r9, [0x1402ad3e8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf60]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x1c]
lea r9, [0x1402ad3d8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf60]
test r10, r10
je 0x140024c6f
mov eax, dword [r14 + 0x20]
lea r9, [0x1402ad3c8]
lea r8, [0x14023e500]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
cmp dword [rsp + 0x54], 0
je 0x1400256c3
mov rax, qword [0x1416aaf60]
test rax, rax
je 0x140024c6f
lea r9, [0x14023e510]
mov dword [rsp + 0x20], 0x4b
lea r8, [0x14023e4d0]
mov rdx, rdi
xor ecx, ecx
call rax
test eax, eax
jne 0x140024c6f
mov rax, qword [0x1416aaf80]
xor ebx, ebx
mov dword [rsp + 0x50], ebx
test rax, rax
je 0x140024c6f
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea r9, [0x1402ad418]
xor ecx, ecx
lea r8, [0x1402ad428]
lea rdx, [0x14023e450]
call rax
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf60]
test r10, r10
je 0x140024c6f
mov eax, dword [rsp + 0x50]
lea r9, [0x1402ad418]
lea r8, [0x1402ad428]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
cmp qword [0x1416aaf68], rbx
je 0x140024c6f
lea rax, [rsp + 0x50]
xor ecx, ecx
lea r9, [0x1402ad418]
mov qword [rsp + 0x20], rax
lea r8, [0x1402ad428]
lea rdx, [0x14023e450]
call qword [0x1416aaf88]
test eax, eax
jne 0x140024c6f
mov r10, qword [0x1416aaf68]
test r10, r10
je 0x140024c6f
mov eax, dword [rsp + 0x50]
lea r9, [0x1402ad418]
lea r8, [0x1402ad428]
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call r10
test eax, eax
jne 0x140024c6f
test r12d, r12d
je 0x1400257e3
cmp r13d, 3
je 0x1400257e3
cmp dword [rsp + 0x60], 2
jbe 0x1400257e3
mov rax, qword [0x1416aaf68]
test rax, rax
je 0x1400257e3
lea r9, [0x1402ad418]
mov dword [rsp + 0x20], ebx
lea r8, [0x1402ad428]
mov rdx, rdi
xor ecx, ecx
call rax
mov ebx, 1
jmp 0x140024c74