Function at 0x5c6820
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x63c
mov eax, dword [0x5fd0b0]
xor eax, ebp
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x434], 0
mov word [ebp - 0x10], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 1
push str.WKWIN32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x5c6880
xor eax, eax
jmp 0x5c6c5f
push str.WkbGetLastError
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x611308], eax
push str.WkbGetVersion3
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x61130c], eax
push str.WkbEnumPorts2
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x611304], eax
push str.WkbListPort2
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6112ac], eax
push str.WkbQueryStatus2
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x611318], eax
push str.WkbListBox2
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x611314], eax
push str.WkbOpen2
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6112a8], eax
push str.WkbCrypt2
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x611310], eax
push str.WkbClose2
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x611300], eax
cmp dword [0x611308], 0
je 0x5c6989
cmp dword [0x61130c], 0
je 0x5c6989
cmp dword [0x611304], 0
je 0x5c6989
cmp dword [0x6112ac], 0
je 0x5c6989
cmp dword [0x611318], 0
je 0x5c6989
cmp dword [0x611314], 0
je 0x5c6989
cmp dword [0x6112a8], 0
je 0x5c6989
cmp dword [0x611310], 0
je 0x5c6989
cmp dword [0x611300], 0
jne 0x5c6a55
mov eax, dword [ebp + 8]
mov dword [eax + 0x80], 0xffffff92
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x80], 0
je 0x5c69b7
xor edx, edx
je 0x5c69b7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
mov dword [ebp - 0x63c], ecx
jmp 0x5c69c1
mov dword [ebp - 0x63c], 0xffffff92
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x63c]
mov dword [edx + 0x80], eax
push 0
push 0xff
push 0
push 0
push 0x5223
push 0xffffffffffffff92
mov ecx, dword [ebp + 8]
push ecx
call fcn.0052cd20
add esp, 0x1c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x13c]
and eax, 4
je 0x5c6a2c
cmp dword [0x610160], 0
je 0x5c6a13
push str.Invalid_or_corrupt_FLEXID_10_dongle_driver_detected._n
call dword [0x610160]
add esp, 4
cmp dword [0x610160], 0
je 0x5c6a2a
push str.Please_re_install_FLEXID_10_dongle_driver._n
call dword [0x610160]
add esp, 4
jmp 0x5c6a44
push str.Invalid_or_corrupt_FLEXID_10_dongle_driver_detected._nPlease_re_install_FLEXID_10_dongle_driver
mov ecx, dword [ebp + 8]
push ecx
call fcn.00527b40
add esp, 8
xor eax, eax
jmp 0x5c6c5f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x80]
push eax
call fcn.00478a4e
jmp 0x5c6a6c
push 0x6112b0
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c6c70
add esp, 8
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x5c6c5d
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x430]
push ecx
lea edx, [ebp - 0x638]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c6db0
add esp, 0x14
test eax, eax
je 0x5c6c5d
movzx ecx, word [ebp - 0x10]
test ecx, ecx
jle 0x5c6c43
mov dword [ebp - 4], 0
jmp 0x5c6ac4
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
movzx eax, word [ebp - 0x10]
cmp dword [ebp - 4], eax
jge 0x5c6c2e
mov ecx, dword [ebp - 4]
cmp dword [ebp + ecx*4 - 0x430], 0x3d4ce
jne 0x5c6c29
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x218]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x430]
push edx
push 0x6112b0
mov eax, dword [ebp + 8]
push eax
call fcn.005c6ff0
add esp, 0x10
test eax, eax
je 0x5c6c29
cmp dword [ebp - 0x14], 1
jne 0x5c6b9f
call fcn.00527450
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x5c6b9a
mov edx, dword [ebp - 0x230]
mov ax, word [ebp + 0xc]
mov word [edx + 2], ax
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x638]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x638]
push edx
push 0x5fe790
lea eax, [ebp - 0x22c]
push eax
call fcn.00471bce
add esp, 0xc
push 0x10
lea ecx, [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x230]
add edx, 8
push edx
call fcn.004751f0
add esp, 0xc
mov dword [ebp - 0x14], 0
jmp 0x5c6c29
call fcn.00527450
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x480], eax
mov edx, dword [ebp - 8]
cmp dword [edx + 0x480], 0
je 0x5c6c29
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x480]
mov dx, word [ebp + 0xc]
mov word [ecx + 2], dx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x638]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x638]
push edx
push 0x5fe798
lea eax, [ebp - 0x22c]
push eax
call fcn.00471bce
add esp, 0xc
push 0x10
lea ecx, [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x480]
add eax, 8
push eax
call fcn.004751f0
add esp, 0xc
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x480]
mov dword [ebp - 8], edx
jmp 0x5c6abb
cmp dword [0x6112e0], 0
je 0x5c6c43
mov eax, dword [0x6112e0]
push eax
call dword [0x611300]
cmp dword [ebp - 0xc], 0
je 0x5c6c53
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x230]
jmp 0x5c6c5f
xor eax, eax
mov ecx, dword [ebp - 0x21c]
xor ecx, ebp
call fcn.0047209e
mov esp, ebp
pop ebp
ret