Function at 0x7c8537e0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x7c86b7bb
push eax
mov eax, 0x11ac
mov dword fs:[0], esp
call fcn.7c860540
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x28]
mov ebx, dword [esi + 0x68]
call fcn.7c85a480
push str.begin_DownloadPKcalib__
push 3
mov dword [esp + 0x11cc], 0
call dword [0x7c8725a0]
add esp, 8
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x28]
push eax
push str.LgPusb.clb
call fcn.7c85a590
mov eax, dword [esp + 0x11cc]
test eax, eax
je 0x7c8538fe
push 0
push 0x8000000
push 3
push 0
push 0
lea ecx, [esp + 0xcc]
push 0x80000000
push ecx
call dword [0x7c87b248]
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
jne 0x7c853897
lea edx, [esp + 0xb8]
push edx
push str.Calib:_Could_not_open_file__s
push 0xa
call dword [0x7c8725a0]
add esp, 0xc
jmp 0x7c853ab8
lea ecx, [esp + 0x20]
push 0
push ecx
lea edx, [esp + 0x78]
push 0x48
push edx
push eax
call dword [0x7c87b244]
mov ebp, str.PageScanUSB
lea edi, [esp + 0x70]
mov cl, byte [edi]
mov dl, byte [ebp]
mov al, cl
cmp cl, dl
jne 0x7c8538de
test al, al
je 0x7c8538da
mov dl, byte [edi + 1]
mov cl, byte [ebp + 1]
mov al, dl
cmp dl, cl
jne 0x7c8538de
add edi, 2
add ebp, 2
test al, al
jne 0x7c8538b5
xor eax, eax
jmp 0x7c8538e3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x7c8538fe
lea eax, [esp + 0x24]
push 0x7c86d980
push eax
mov dword [esp + 0x2c], 8
call fcn.7c85fe70
mov dword [esp + 0x14], 0x7c871728
mov ebp, 0x8000
mov eax, dword [esp + 0x11cc]
test eax, eax
je 0x7c853937
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x20]
push 0
push ecx
lea edx, [esp + 0x1c4]
push 0x1000
push edx
push eax
call dword [0x7c87b244]
jmp 0x7c853962
mov ecx, dword [esp + 0x14]
push 0x7c871738
mov edx, dword [ecx]
push edx
call dword [0x7c87b240]
test eax, eax
mov ecx, 0x400
jne 0x7c853956
xor eax, eax
jmp 0x7c853959
or eax, 0xffffffff
lea edi, [esp + 0x1bc]
rep stosd dword es:[edi], eax
push 0
push 0xac
push ebx
mov ecx, esi
call fcn.7c859e20
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push 0x40
push ebx
call fcn.7c859dd0
mov cl, byte [esp + 0x10]
or cl, 0x90
mov byte [esp + 0x10], cl
mov ecx, dword [esp + 0x10]
push ecx
push 0x40
push ebx
mov ecx, esi
call fcn.7c859e20
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x42
push ebx
call fcn.7c859dd0
mov dl, byte [esp + 0x18]
mov ecx, esi
or dl, 4
mov byte [esp + 0x18], dl
mov eax, dword [esp + 0x18]
push eax
push 0x42
push ebx
call fcn.7c859e20
mov ecx, dword [esp + 0x14]
push 0x7c871738
mov edi, ebp
mov edx, dword [ecx]
push edx
call dword [0x7c87b240]
test eax, eax
jne 0x7c8539e1
lea edi, [ebp + 0x1000]
push edi
push 0x21
push ebx
mov ecx, esi
call fcn.7c859e20
shr edi, 8
push edi
push 0x22
push ebx
mov ecx, esi
call fcn.7c859e20
push 0
push 0xad
push ebx
mov ecx, esi
call fcn.7c859e20
push 0
push 0xae
push ebx
mov ecx, esi
call fcn.7c859e20
lea ecx, [esp + 0x30]
push 0xffffffffffffffff
lea eax, [esp + 0x1c0]
push ecx
mov ecx, esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], 0x1000
mov dword [esp + 0x4c], eax
call fcn.7c859d80
add ebp, 0x2000
cmp ebp, 0x10000
jl 0x7c85390b
mov eax, dword [esp + 0x14]
add eax, 4
cmp eax, str.DWBGR
mov dword [esp + 0x14], eax
jl 0x7c853906
mov eax, dword [esi + 0x68]
lea edx, [esp + 0x10]
push edx
push 0x40
push eax
mov ecx, esi
call fcn.7c859dd0
mov bl, byte [esp + 0x10]
mov edx, dword [esi + 0x68]
and bl, 0xef
mov byte [esp + 0x10], bl
mov ecx, dword [esp + 0x10]
push ecx
push 0x40
push edx
mov ecx, esi
call fcn.7c859e20
mov eax, dword [esp + 0x1c]
push eax
call dword [0x7c87b23c]
push 1
mov ecx, esi
call fcn.7c853af0
push str.end_DownloadPKcalib__
push 3
call dword [0x7c8725a0]
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esp + 0x11c4], 0xffffffff
call fcn.7c85a570
mov ecx, dword [esp + 0x11bc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x11b8
ret 4