Function at 0x180026480
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x1010]
mov eax, 0x1110
call fcn.18007fc70
sub rsp, rax
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x1140], rbx
mov rax, qword [0x1800d1eb0]
xor rax, rsp
mov qword [rbp + 0x1000], rax
mov rax, rdx
mov rbx, rcx
cmp qword [rcx + 8], 0
je 0x180026519
cmp qword [rcx + 0x10], 0
je 0x180026519
cmp qword [rcx + 0x18], 0
je 0x180026519
cmp qword [rcx + 0x20], 0
je 0x180026519
cmp qword [rcx + 0x28], 0
je 0x180026519
cmp qword [rcx + 0x30], 0
je 0x180026519
cmp qword [rcx + 0x38], 0
je 0x180026519
cmp qword [rcx + 0x40], 0
je 0x180026519
cmp qword [rcx + 0x48], 0
je 0x180026519
cmp qword [rcx + 0x50], 0
je 0x180026519
cmp qword [rcx + 0x58], 0
je 0x180026519
cmp qword [rcx + 0x68], 0
jne 0x180026e07
mov qword [rsp + 0x70], 7
xor esi, esi
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x58], si
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.180027eb0
mov qword [rbp - 0x40], 7
mov qword [rbp - 0x48], rsi
mov word [rbp - 0x58], si
lea r8d, [rsi + 0xd]
lea rdx, str.DongleX64.dll
lea rcx, [rbp - 0x58]
call fcn.180004cc0
nop
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.180027780
nop
cmp qword [rbp - 0x40], 8
jb 0x180026584
mov rcx, qword [rbp - 0x58]
call fcn.18007a7a4
mov qword [rbp - 0x40], 7
mov qword [rbp - 0x48], rsi
mov word [rbp - 0x58], si
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
xor edx, edx
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbx], rax
test rax, rax
jne 0x180026a69
lea edx, [rax + 0x5c]
lea rcx, [rsp + 0x58]
call fcn.180026ec0
mov r9, rax
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x58]
call fcn.18000b940
nop
mov qword [rbp - 0x40], 7
mov qword [rbp - 0x48], rsi
mov word [rbp - 0x58], si
mov r8d, recv
lea rdx, str.DongleX64.dll
lea rcx, [rbp - 0x58]
call fcn.180004cc0
nop
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x30]
call fcn.180027780
mov rdi, rax
lea rax, [rsp + 0x30]
cmp rax, rdi
je 0x18002668e
cmp qword [rsp + 0x48], 8
jb 0x180026636
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
cmp qword [rdi + 0x18], 8
jae 0x180026669
mov r8, qword [rdi + 0x10]
inc r8
add r8, r8
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.18007abc0
jmp 0x180026674
mov rax, qword [rdi]
mov qword [rsp + 0x30], rax
mov qword [rdi], rsi
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x48], rax
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
cmp qword [rbp - 0x18], 8
jb 0x18002669e
mov rcx, qword [rbp - 0x30]
call fcn.18007a7a4
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rsi
mov word [rbp - 0x30], si
cmp qword [rbp - 0x40], 8
jb 0x1800266be
mov rcx, qword [rbp - 0x58]
call fcn.18007a7a4
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
xor edx, edx
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbx], rax
test rax, rax
jne 0x180026a59
lea rcx, str.ilocker.exe
call fcn.180014070
mov edi, eax
cmp eax, 0xffffffff
jne 0x18002676b
lea rcx, str.PiClient.exe
call fcn.180014070
mov edi, eax
cmp eax, 0xffffffff
jne 0x18002676b
cmp qword [rbp - 0x68], 8
jb 0x18002671d
mov rcx, qword [rbp - 0x80]
call fcn.18007a7a4
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
cmp qword [rsp + 0x48], 8
jb 0x18002673f
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
cmp qword [rsp + 0x70], 8
jb 0x180026764
mov rcx, qword [rsp + 0x58]
call fcn.18007a7a4
xor eax, eax
jmp 0x180026e0c
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x20]
mov edx, 0x20
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov rcx, qword [rsp + 0x20]
call fcn.180026e30
mov word [rbp], si
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 2]
call fcn.18007e840
mov r8d, edi
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
test rax, rax
jne 0x18002680a
cmp qword [rbp - 0x68], 8
jb 0x1800267d0
mov rcx, qword [rbp - 0x80]
call fcn.18007a7a4
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
cmp qword [rsp + 0x48], 8
jb 0x1800267f2
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
mov r9d, 0x400
lea r8, [rbp]
xor edx, edx
mov rcx, rax
call qword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
test eax, eax
jne 0x18002682c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp]
lea rcx, [rsp + 0x58]
call fcn.180004cc0
mov edx, 0x5c
lea rcx, [rsp + 0x58]
call fcn.180026ec0
mov r9, rax
xor r8d, r8d
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.18000b940
mov rdi, rax
lea rax, [rbp - 0x80]
cmp rax, rdi
je 0x1800268de
cmp qword [rbp - 0x68], 8
jb 0x18002688d
mov rcx, qword [rbp - 0x80]
call fcn.18007a7a4
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
cmp qword [rdi + 0x18], 8
jae 0x1800268bc
mov r8, qword [rdi + 0x10]
inc r8
add r8, r8
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.18007abc0
jmp 0x1800268c6
mov rax, qword [rdi]
mov qword [rbp - 0x80], rax
mov qword [rdi], rsi
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x70], rax
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x68], rax
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
cmp qword [rbp - 0x18], 8
jb 0x1800268ee
mov rcx, qword [rbp - 0x30]
call fcn.18007a7a4
mov qword [rbp - 0x40], 7
mov qword [rbp - 0x48], rsi
mov word [rbp - 0x58], si
mov r8d, recv
lea rdx, str.DongleX64.dll
lea rcx, [rbp - 0x58]
call fcn.180004cc0
nop
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x30]
call fcn.180027780
mov rdi, rax
lea rax, [rsp + 0x30]
cmp rax, rdi
je 0x18002699d
cmp qword [rsp + 0x48], 8
jb 0x180026945
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
cmp qword [rdi + 0x18], 8
jae 0x180026978
mov r8, qword [rdi + 0x10]
inc r8
add r8, r8
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.18007abc0
jmp 0x180026983
mov rax, qword [rdi]
mov qword [rsp + 0x30], rax
mov qword [rdi], rsi
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x48], rax
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
cmp qword [rbp - 0x18], 8
jb 0x1800269ad
mov rcx, qword [rbp - 0x30]
call fcn.18007a7a4
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rsi
mov word [rbp - 0x30], si
cmp qword [rbp - 0x40], 8
jb 0x1800269cd
mov rcx, qword [rbp - 0x58]
call fcn.18007a7a4
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
xor edx, edx
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbx], rax
test rax, rax
jne 0x180026a59
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [0x1800ab1e8]
lea rcx, [rbp + 0x800]
call fcn.180007290
nop
cmp qword [rbp - 0x68], 8
jb 0x180026a1f
mov rcx, qword [rbp - 0x80]
call fcn.18007a7a4
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
cmp qword [rsp + 0x48], 8
jb 0x180026a41
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
cmp qword [rbp - 0x68], 8
jb 0x180026a69
mov rcx, qword [rbp - 0x80]
call fcn.18007a7a4
lea rdx, str.Dongle_ChangePIN
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x40], rax
test rax, rax
jne 0x180026aac
cmp qword [rsp + 0x48], 8
jb 0x180026a94
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_Enum
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
test rax, rax
jne 0x180026aef
cmp qword [rsp + 0x48], 8
jb 0x180026ad7
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_Open
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x180026b32
cmp qword [rsp + 0x48], 8
jb 0x180026b1a
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_LEDControl
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x180026b75
cmp qword [rsp + 0x48], 8
jb 0x180026b5d
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_Close
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x180026bb8
cmp qword [rsp + 0x48], 8
jb 0x180026ba0
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_GenUniqueKey
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
test rax, rax
jne 0x180026bfb
cmp qword [rsp + 0x48], 8
jb 0x180026be3
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_GetUTCTime
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
test rax, rax
jne 0x180026c3e
cmp qword [rsp + 0x48], 8
jb 0x180026c26
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_CreateFile
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x38], rax
test rax, rax
jne 0x180026c81
cmp qword [rsp + 0x48], 8
jb 0x180026c69
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_DeleteFile
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x48], rax
test rax, rax
jne 0x180026cc4
cmp qword [rsp + 0x48], 8
jb 0x180026cac
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_ReadFile
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x50], rax
test rax, rax
jne 0x180026d07
cmp qword [rsp + 0x48], 8
jb 0x180026cef
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_ResetUserPIN
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x58], rax
test rax, rax
jne 0x180026d4a
cmp qword [rsp + 0x48], 8
jb 0x180026d32
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_VerifyPIN
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x60], rax
test rax, rax
jne 0x180026d8d
cmp qword [rsp + 0x48], 8
jb 0x180026d75
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
lea rdx, str.Dongle_WriteFile
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x68], rax
test rax, rax
jne 0x180026dd0
cmp qword [rsp + 0x48], 8
jb 0x180026db8
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
jmp 0x180026752
cmp qword [rsp + 0x48], 8
jb 0x180026de2
mov rcx, qword [rsp + 0x30]
call fcn.18007a7a4
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rsi
mov word [rsp + 0x30], si
cmp qword [rsp + 0x70], 8
jb 0x180026e07
mov rcx, qword [rsp + 0x58]
call fcn.18007a7a4
mov eax, 1
mov rcx, qword [rbp + 0x1000]
xor rcx, rsp
call fcn.18007a7c0
mov rbx, qword [rsp + 0x1140]
add rsp, 0x1110
pop rdi
pop rsi
pop rbp
ret