Function at 0x14010ade0
Capabilities:
Link many functions at runtime

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x6b8
mov rax, qword [0x1401ad1c0]
xor rax, rsp
mov qword [rsp + 0x6a8], rax
mov dword [rsp + 0x490], 0
mov word [rsp + 0x64], 0
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x288], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x68], 1
call fcn.14010bcb0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
je 0x14010ae74
lea rcx, str.WKWIN64.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
jne 0x14010aeb1
cmp dword [0x1401d0798], 0
je 0x14010aeaa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
cmp qword [0x1401d0808], 0
je 0x14010aeaa
mov edx, dword [rsp + 0x50]
lea rcx, str.FLEXID10_driver_error:__d_n
call qword [0x1401d0808]
xor eax, eax
jmp 0x14010b39c
lea rdx, str.WkbGetLastError
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0770], rax
lea rdx, str.WkbGetVersion3
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0778], rax
lea rdx, str.WkbEnumPorts2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0768], rax
lea rdx, str.WkbListPort2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0708], rax
lea rdx, str.WkbQueryStatus2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0790], rax
lea rdx, str.WkbListBox2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0788], rax
lea rdx, str.WkbOpen2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0700], rax
lea rdx, str.WkbCrypt2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0780], rax
lea rdx, str.WkbClose2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401d0760], rax
cmp qword [0x1401d0770], 0
je 0x14010aff0
cmp qword [0x1401d0778], 0
je 0x14010aff0
cmp qword [0x1401d0768], 0
je 0x14010aff0
cmp qword [0x1401d0708], 0
je 0x14010aff0
cmp qword [0x1401d0790], 0
je 0x14010aff0
cmp qword [0x1401d0788], 0
je 0x14010aff0
cmp qword [0x1401d0700], 0
je 0x14010aff0
cmp qword [0x1401d0780], 0
je 0x14010aff0
cmp qword [0x1401d0760], 0
jne 0x14010b109
mov rax, qword [rsp + 0x6c0]
mov dword [rax + 0x88], 0xffffff92
cmp qword [rsp + 0x6c0], 0
je 0x14010b094
mov rax, qword [rsp + 0x6c0]
cmp dword [rax + 0x88], 0
je 0x14010b03f
xor eax, eax
test eax, eax
je 0x14010b03f
mov rax, qword [rsp + 0x6c0]
mov eax, dword [rax + 0x88]
mov dword [rsp + 0x6a0], eax
jmp 0x14010b04a
mov dword [rsp + 0x6a0], 0xffffff92
mov rax, qword [rsp + 0x6c0]
mov ecx, dword [rsp + 0x6a0]
mov dword [rax + 0x88], ecx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0xff
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x5223
mov edx, 0xffffff92
mov rcx, qword [rsp + 0x6c0]
call fcn.14006e450
mov rax, qword [rsp + 0x6c0]
mov eax, dword [rax + 0x198]
and eax, 4
test eax, eax
je 0x14010b0d9
cmp qword [0x1401d0808], 0
je 0x14010b0c0
lea rcx, str.Invalid_or_corrupt_FLEXID_10_dongle_driver_detected._n
call qword [0x1401d0808]
cmp qword [0x1401d0808], 0
je 0x14010b0d7
lea rcx, str.Please_re_install_FLEXID_10_dongle_driver._n
call qword [0x1401d0808]
jmp 0x14010b0f4
lea rdx, str.Invalid_or_corrupt_FLEXID_10_dongle_driver_detected._nPlease_re_install_FLEXID_10_dongle_driver
mov rcx, qword [rsp + 0x6c0]
call fcn.1400c33e0
xor eax, eax
jmp 0x14010b39c
mov rax, qword [rsp + 0x6c0]
mov ecx, dword [rax + 0x88]
call fcn.140003b96
jmp 0x14010b14e
lea rdx, [0x1401d0710]
mov rcx, qword [rsp + 0x6c0]
call fcn.14010b3c0
mov dword [rsp + 0x490], eax
cmp dword [rsp + 0x490], 0
jne 0x14010b14e
cmp dword [0x1401d0798], 0
je 0x14010b14e
cmp qword [0x1401d0808], 0
je 0x14010b14e
lea rcx, str.FLEXID10_driver_validation_failed._n
call qword [0x1401d0808]
cmp dword [rsp + 0x490], 0
je 0x14010b39a
lea rax, [rsp + 0x64]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x290]
lea rdx, [rsp + 0x4a0]
mov rcx, qword [rsp + 0x6c0]
call fcn.14010b580
test eax, eax
je 0x14010b39a
movzx eax, word [rsp + 0x64]
test eax, eax
jle 0x14010b37b
mov dword [rsp + 0x40], 0
jmp 0x14010b1b2
mov eax, dword [rsp + 0x40]
add eax, 1
mov dword [rsp + 0x40], eax
movzx eax, word [rsp + 0x64]
cmp dword [rsp + 0x40], eax
jge 0x14010b366
movsxd rax, dword [rsp + 0x40]
cmp dword [rsp + rax*4 + 0x290], 0x3d4ce
jne 0x14010b361
movsxd rax, dword [rsp + 0x40]
movsxd rcx, dword [rsp + 0x40]
mov r9d, dword [rsp + rax*4 + 0x70]
mov r8d, dword [rsp + rcx*4 + 0x290]
lea rdx, [0x1401d0710]
mov rcx, qword [rsp + 0x6c0]
call fcn.14010b8a0
test eax, eax
je 0x14010b361
cmp dword [rsp + 0x68], 1
jne 0x14010b2b2
call fcn.1400ccee0
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
je 0x14010b2ad
mov rax, qword [rsp + 0x288]
movzx ecx, word [rsp + 0x6c8]
mov word [rax + 2], cx
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x288]
mov eax, dword [rsp + rax*4 + 0x4a0]
mov dword [rcx + 8], eax
movsxd rax, dword [rsp + 0x40]
mov r8d, dword [rsp + rax*4 + 0x4a0]
lea rdx, [0x1401bab54]
lea rcx, [rsp + 0x278]
call sub.MSVCR110.dll_sprintf
mov rax, qword [rsp + 0x288]
add rax, 8
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rsp + 0x278]
mov rcx, rax
call sub.MSVCR110.dll_memcpy
mov dword [rsp + 0x68], 0
jmp 0x14010b361
call fcn.1400ccee0
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x488], rax
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x488], 0
je 0x14010b361
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x488]
movzx ecx, word [rsp + 0x6c8]
mov word [rax + 2], cx
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x488]
mov eax, dword [rsp + rax*4 + 0x4a0]
mov dword [rcx + 8], eax
movsxd rax, dword [rsp + 0x40]
mov r8d, dword [rsp + rax*4 + 0x4a0]
lea rdx, [0x1401bab5c]
lea rcx, [rsp + 0x278]
call sub.MSVCR110.dll_sprintf
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x488]
add rax, 8
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rsp + 0x278]
mov rcx, rax
call sub.MSVCR110.dll_memcpy
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x488]
mov qword [rsp + 0x48], rax
jmp 0x14010b1a7
cmp dword [0x1401d0740], 0
je 0x14010b37b
mov ecx, dword [0x1401d0740]
call qword [0x1401d0760]
cmp qword [rsp + 0x58], 0
je 0x14010b38e
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [rsp + 0x288]
jmp 0x14010b39c
xor eax, eax
mov rcx, qword [rsp + 0x6a8]
xor rcx, rsp
call fcn.14006b6a0
add rsp, 0x6b8
ret