Function at 0x425e1a
Capabilities:
Read file on windows

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x7c], 0
jne 0x42508e
mov eax, dword [esi + 0x48]
test eax, eax
je 0x42505e
push eax
call dword [sym.imp.KERNEL32.dll_UnregisterWait]
mov dword [esi + 0x48], 0
mov eax, dword [esi + 0x44]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x425076
push eax
call edi
mov dword [esi + 0x44], 0
mov eax, dword [esi + 0x90]
test eax, eax
je 0x42508d
push eax
call edi
mov dword [esi + 0x90], 0
pop edi
pop esi
ret
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x90]
xor ebx, ebx
push eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x88], ebx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x42545c
mov ecx, dword [esi + 0x90]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [esi + 0x78], 1
pop esi
pop ebx
ret
mov edx, dword [esi + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
test eax, eax
jne 0x425481
mov eax, dword [esi + 0x90]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [esi + 0x78], 1
pop esi
pop ebx
ret
cmp byte [esi + 0x7c], bl
jne 0x4254a5
mov ecx, dword [esi + 0x90]
push ecx
mov dword [esi + 0x78], 2
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x4254a5
mov dword [esi + 0x78], 1
pop esi
pop ebx
ret
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x94]
mov ebx, 1
cmp eax, 4
je 0x425cf1
cmp eax, ebx
jne 0x425d08
cmp dword [esi + 0x98], 0
je 0x425d08
cmp dword [esi + 0xa0], 0
je 0x425d08
cmp dword [esi + 0xa4], 0
je 0x425d08
cmp dword [esi + 0xa8], 0
je 0x425d08
cmp eax, 4
jne 0x425d2a
mov eax, dword [esi + 0x68]
test eax, eax
je 0x425d08
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x6c]
push ecx
push edx
call eax
add esp, 8
mov eax, dword [esi + 0x90]
push eax
mov dword [esi + 0x78], 0xa
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x425dd2
mov dword [esi + 0x78], ebx
pop esi
pop ebx
ret
push edi
push 0x44
call fcn.0046f8fb
add esp, 4
test eax, eax
je 0x425d6f
mov edx, dword [esi + 0xa8]
lea ecx, [esi + 0xac]
push ecx
mov ecx, dword [esi + 0xa4]
push edx
mov edx, dword [esi + 0xa0]
push ecx
mov ecx, dword [esi + 0x9c]
push edx
mov edx, dword [esi + 0x98]
push ecx
push edx
push esi
mov ecx, eax
call fcn.00426090
mov edi, eax
jmp 0x425d71
xor edi, edi
mov ecx, edi
call fcn.00425f20
test al, al
jne 0x425d85
mov eax, dword [esi + 0x90]
push eax
jmp 0x425d98
push edi
mov ecx, esi
call fcn.00425c10
test al, al
jne 0x425dc4
mov ecx, dword [esi + 0x90]
push ecx
mov dword [esi + 0x78], 0xa
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x425dac
mov dword [esi + 0x78], ebx
test edi, edi
je 0x425dd1
mov ecx, edi
call fcn.004260f0
push edi
call fcn.0046f1de
add esp, 4
pop edi
pop esi
pop ebx
ret
mov dword [esi + 0xc0], edi
mov dword [esi + 0x78], 7
pop edi
pop esi
pop ebx
ret
cmp byte [ecx + 0x7c], 0
je 0x425dfb
mov eax, dword [ecx + 0x90]
push eax
mov dword [ecx + 0x78], 1
call dword [sym.imp.KERNEL32.dll_ResetEvent]
ret
mov eax, dword [ecx + 0x78]
dec eax
cmp eax, 9
ja case.default.0x425e04
jmp dword [eax*4 + 0x425e48]
jmp 0x425040
jmp fcn.00425120
jmp fcn.004251a0
jmp fcn.00425210
jmp fcn.004252a0
jmp 0x425cb0
jmp fcn.00425310
jmp fcn.00425380
jmp fcn.00425620
jmp 0x425410
mov dword [ecx + 0x78], 1
ret