Function at 0x52e930
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x644
mov eax, dword [0x563a68]
xor eax, ebp
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x1c], 1
call fcn.0052f4a0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x52e9a6
push str.WKWIN32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x52e9e0
cmp dword [0x58d2fc], 0
je 0x52e9d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xc], eax
cmp dword [0x58d1e0], 0
je 0x52e9d9
mov eax, dword [ebp - 0xc]
push eax
push str.FLEXID10_driver_error:__d_n
call dword [0x58d1e0]
add esp, 8
xor eax, eax
jmp 0x52edee
push str.WkbGetLastError
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d2e8], eax
push str.WkbGetVersion3
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d2ec], eax
push str.WkbEnumPorts2
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d2e4], eax
push str.WkbListPort2
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d28c], eax
push str.WkbQueryStatus2
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d2f8], eax
push str.WkbListBox2
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d2f4], eax
push str.WkbOpen2
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d288], eax
push str.WkbCrypt2
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d2f0], eax
push str.WkbClose2
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x58d2e0], eax
cmp dword [0x58d2e8], 0
je 0x52eae9
cmp dword [0x58d2ec], 0
je 0x52eae9
cmp dword [0x58d2e4], 0
je 0x52eae9
cmp dword [0x58d28c], 0
je 0x52eae9
cmp dword [0x58d2f8], 0
je 0x52eae9
cmp dword [0x58d2f4], 0
je 0x52eae9
cmp dword [0x58d288], 0
je 0x52eae9
cmp dword [0x58d2f0], 0
je 0x52eae9
cmp dword [0x58d2e0], 0
jne 0x52ebbb
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 0xffffff92
cmp dword [ebp + 8], 0
je 0x52eb54
mov edx, dword [ebp + 8]
cmp dword [edx + 0x80], 0
je 0x52eb1d
xor eax, eax
je 0x52eb1d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x80]
mov dword [ebp - 0x644], edx
jmp 0x52eb27
mov dword [ebp - 0x644], 0xffffff92
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x644]
mov dword [eax + 0x80], ecx
push 0
push 0xff
push 0
push 0
push 0x5223
push 0xffffffffffffff92
mov edx, dword [ebp + 8]
push edx
call fcn.00495fc0
add esp, 0x1c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x13c]
and ecx, 4
je 0x52eb92
cmp dword [0x58d1e0], 0
je 0x52eb79
push str.Invalid_or_corrupt_FLEXID_10_dongle_driver_detected._n
call dword [0x58d1e0]
add esp, 4
cmp dword [0x58d1e0], 0
je 0x52eb90
push str.Please_re_install_FLEXID_10_dongle_driver._n
call dword [0x58d1e0]
add esp, 4
jmp 0x52ebaa
push str.Invalid_or_corrupt_FLEXID_10_dongle_driver_detected._nPlease_re_install_FLEXID_10_dongle_driver
mov edx, dword [ebp + 8]
push edx
call fcn.004927e0
add esp, 8
xor eax, eax
jmp 0x52edee
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
push ecx
call fcn.0040154d
jmp 0x52ebfb
push 0x58d290
mov edx, dword [ebp + 8]
push edx
call fcn.0052ee00
add esp, 8
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
jne 0x52ebfb
cmp dword [0x58d2fc], 0
je 0x52ebfb
cmp dword [0x58d1e0], 0
je 0x52ebfb
push str.FLEXID10_driver_validation_failed._n
call dword [0x58d1e0]
add esp, 4
cmp dword [ebp - 0x43c], 0
je 0x52edec
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x220]
push ecx
lea edx, [ebp - 0x438]
push edx
lea eax, [ebp - 0x640]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0052ef70
add esp, 0x14
test eax, eax
je 0x52edec
movzx edx, word [ebp - 0x18]
test edx, edx
jle 0x52edd2
mov dword [ebp - 4], 0
jmp 0x52ec53
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
movzx ecx, word [ebp - 0x18]
cmp dword [ebp - 4], ecx
jge 0x52edbd
mov edx, dword [ebp - 4]
cmp dword [ebp + edx*4 - 0x438], 0x3d4ce
jne 0x52edb8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x220]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x438]
push eax
push 0x58d290
mov ecx, dword [ebp + 8]
push ecx
call fcn.0052f1b0
add esp, 0x10
test eax, eax
je 0x52edb8
cmp dword [ebp - 0x1c], 1
jne 0x52ed2e
call fcn.004b2a30
mov dword [ebp - 0x238], eax
mov edx, dword [ebp - 0x238]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x52ed29
mov eax, dword [ebp - 0x238]
mov cx, word [ebp + 0xc]
mov word [eax + 2], cx
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x640]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x640]
push eax
push 0x579a58
lea ecx, [ebp - 0x234]
push ecx
call fcn.004633a8
add esp, 0xc
push 0x10
lea edx, [ebp - 0x234]
push edx
mov eax, dword [ebp - 0x238]
add eax, 8
push eax
call fcn.00404070
add esp, 0xc
mov dword [ebp - 0x1c], 0
jmp 0x52edb8
call fcn.004b2a30
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x480], eax
mov edx, dword [ebp - 8]
cmp dword [edx + 0x480], 0
je 0x52edb8
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 - 0x640]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x640]
push edx
push 0x579a60
lea eax, [ebp - 0x234]
push eax
call fcn.004633a8
add esp, 0xc
push 0x10
lea ecx, [ebp - 0x234]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x480]
add eax, 8
push eax
call fcn.00404070
add esp, 0xc
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x480]
mov dword [ebp - 8], edx
jmp 0x52ec4a
cmp dword [0x58d2c0], 0
je 0x52edd2
mov eax, dword [0x58d2c0]
push eax
call dword [0x58d2e0]
cmp dword [ebp - 0x10], 0
je 0x52ede2
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x238]
jmp 0x52edee
xor eax, eax
mov ecx, dword [ebp - 0x224]
xor ecx, ebp
call fcn.0040526d
mov esp, ebp
pop ebp
ret