Function at 0x7c859600
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7c86ba68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x118
push ebx
push esi
push edi
mov dword [ebp - 0x14], ecx
mov dword [ecx], 0x7c86c360
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x10], esp
xor ebx, ebx
xor edi, edi
call fcn.7c85a480
mov esi, dword [ebp + 8]
mov dword [ebp - 4], ebx
push esi
mov byte [ebp - 4], 1
call fcn.7c85e160
add esp, 4
push eax
mov eax, dword [0x7c878858]
push eax
push str.Scanner__object_created_nb:__d__adapter:__s
push 2
call dword [0x7c8725a0]
mov eax, dword [0x7c878858]
add esp, 0x10
mov ecx, eax
inc eax
test ecx, ecx
mov dword [0x7c878858], eax
jne 0x7c859959
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x44], esi
dec esi
je 0x7c85971d
dec esi
je 0x7c85969e
lea eax, [ebp + 8]
push 0x7c86d980
mov dword [ebp + 8], 0x1a
push eax
jmp 0x7c859796
lea ecx, [ebp - 0x128]
push ecx
push str.LgUsbCmd.dll
lea ecx, [ebp - 0x20]
call fcn.7c85a590
lea edx, [ebp - 0x128]
push edx
push str.Loading__s
push 0xa
call dword [0x7c8725a0]
add esp, 0xc
lea eax, [ebp - 0x128]
push eax
call dword [0x7c87b234]
cmp eax, ebx
mov dword [0x7c87885c], eax
jne 0x7c85979b
lea ecx, [ebp - 0x128]
push ecx
push str.LoadLibrary_on__s_failed
push 0xa
call dword [0x7c8725a0]
add esp, 0xc
mov dword [0x7c87885c], ebx
push 0x20021220
call dword [0x7c87b230]
lea edx, [ebp - 0x24]
push 0x7c86d980
mov dword [ebp - 0x24], 0x18
push edx
jmp 0x7c859796
lea eax, [ebp - 0x128]
lea ecx, [ebp - 0x20]
push eax
push str.LgPPCmd.dll
call fcn.7c85a590
lea ecx, [ebp - 0x128]
push ecx
push str.Loading__s
push 0xa
call dword [0x7c8725a0]
add esp, 0xc
lea edx, [ebp - 0x128]
push edx
call dword [0x7c87b234]
cmp eax, ebx
mov dword [0x7c87885c], eax
jne 0x7c85979b
lea eax, [ebp - 0x128]
push eax
push str.LoadLibrary_on__s_failed
push 0xa
call dword [0x7c8725a0]
add esp, 0xc
mov dword [0x7c87885c], ebx
push 0x20021210
call dword [0x7c87b230]
lea ecx, [ebp - 0x18]
push 0x7c86d980
mov dword [ebp - 0x18], 0x18
push ecx
call fcn.7c85fe70
mov edx, dword [0x7c87885c]
mov eax, dword [0x7c878858]
push edx
push eax
push str.load_lib_LgAdapter.dll__nb_d__handle___x
push 1
call dword [0x7c8725a0]
mov ecx, dword [0x7c87885c]
mov esi, dword [0x7c87b22c]
add esp, 0x10
push str.GetAdapterVersion
push ecx
call esi
cmp eax, ebx
mov dword [0x7c878860], eax
jne 0x7c8597da
mov edi, 1
mov edx, dword [0x7c87885c]
push str.EnableAdapter
push edx
call esi
cmp eax, ebx
mov dword [0x7c878864], eax
jne 0x7c8597f2
inc edi
mov eax, dword [0x7c87885c]
push str.DisableAdapter
push eax
call esi
cmp eax, ebx
mov dword [0x7c878868], eax
jne 0x7c859809
inc edi
mov ecx, dword [0x7c87885c]
push str.EnableDeviceHdleAdapter
push ecx
call esi
cmp eax, ebx
mov dword [0x7c878890], eax
jne 0x7c859821
inc edi
mov edx, dword [0x7c87885c]
push str.DisableDeviceHdleAdapter
push edx
call esi
cmp eax, ebx
mov dword [0x7c878894], eax
jne 0x7c859839
inc edi
mov eax, dword [0x7c87885c]
push str.AbortDevicePipe
push eax
call esi
cmp eax, ebx
mov dword [0x7c87886c], eax
jne 0x7c859850
inc edi
mov ecx, dword [0x7c87885c]
push str.InitReadData
push ecx
call esi
cmp eax, ebx
mov dword [0x7c878870], eax
jne 0x7c859868
inc edi
mov edx, dword [0x7c87885c]
push str.ReadData
push edx
call esi
cmp eax, ebx
mov dword [0x7c878874], eax
jne 0x7c859880
inc edi
mov eax, dword [0x7c87885c]
push str.CloseReadData
push eax
call esi
cmp eax, ebx
mov dword [0x7c878878], eax
jne 0x7c859897
inc edi
mov ecx, dword [0x7c87885c]
push str.WriteData
push ecx
call esi
cmp eax, ebx
mov dword [0x7c87887c], eax
jne 0x7c8598af
inc edi
mov edx, dword [0x7c87885c]
push str.ReadRegister
push edx
call esi
cmp eax, ebx
mov dword [0x7c878880], eax
jne 0x7c8598c7
inc edi
mov eax, dword [0x7c87885c]
push str.WriteRegister
push eax
call esi
cmp eax, ebx
mov dword [0x7c878884], eax
jne 0x7c8598de
inc edi
mov ecx, dword [0x7c87885c]
push str.GetIoMapping
push ecx
call esi
cmp eax, ebx
mov dword [0x7c878888], eax
jne 0x7c8598f6
inc edi
mov edx, dword [0x7c87885c]
push str.SetIoMapping
push edx
call esi
cmp eax, ebx
mov dword [0x7c87888c], eax
jne 0x7c85990e
inc edi
mov eax, dword [0x7c87885c]
push str.GiveDvcEventBuf
push eax
call esi
cmp eax, ebx
mov dword [0x7c878898], eax
jne 0x7c859925
inc edi
cmp edi, ebx
je 0x7c859959
push edi
push str.FAIL_load_function_API_with_the_adapter___d_failures_
push ebx
call dword [0x7c8725a0]
add esp, 0xc
push 0x20021211
call dword [0x7c87b230]
lea ecx, [ebp + 8]
push 0x7c86d980
push ecx
mov dword [ebp + 8], 0x18
call fcn.7c85fe70
mov esi, dword [ebp - 0x14]
mov eax, 1
mov dword [esi + 0x28], ebx
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
jmp 0x7c859993
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.7c85a570
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4