Function at 0x415ed1
Capabilities:
Connect pipe
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x56a30d
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x20d4
call fcn.0053e3f0
mov eax, dword [0x5c9030]
xor eax, esp
mov dword [esp + 0x20d0], eax
push ebx
push esi
push edi
mov eax, dword [0x5c9030]
xor eax, esp
push eax
lea eax, [esp + 0x20e8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push 0x2f
mov ebx, str.EventPipe.cpp
push ebx
mov dword [esp + 0x24], eax
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x415f34
push 0x2f
jmp 0x415f44
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x415f4f
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x415f51
mov eax, ebx
push 1
push 0x74
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
xor edi, edi
push str.CEventPipe::WaitEventData
push edi
mov ecx, eax
mov dword [esp + 0x20f8], edi
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 0x28], edi
xor eax, eax
lea edi, [esp + 0x2c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x28]
push eax
push dword [edi + 4]
mov dword [esp + 0x40], esi
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
push edi
mov ecx, esi
call fcn.004166a5
test eax, eax
je 0x41665a
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x415fe6
push 0x2f
jmp 0x415ff6
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416001
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x416003
mov eax, ebx
push 1
push 0x7f
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
push str.ConnectNamedPipe_succeeded
push 0
mov ecx, eax
mov dword [esp + 0x20f8], 1
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push 0
lea eax, [esp + 0x14]
push eax
push 0x2000
lea eax, [esp + 0xe8]
push eax
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0x2f
push ebx
test eax, eax
je 0x4165cb
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x41607a
push 0x2f
jmp 0x41608a
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416095
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x416097
mov eax, ebx
push 1
push 0x8a
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
push str.ReadFile_succeeded
push 0
mov ecx, eax
mov dword [esp + 0x20f8], 2
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
cmp dword [esp + 0x10], 0x28c
jne 0x41655f
mov esi, 0x100
mov eax, esi
lea ecx, [esp + 0xe8]
call fcn.00416687
test al, al
je 0x41655f
mov eax, esi
lea ecx, [esp + 0x1e8]
call fcn.00416687
test al, al
je 0x41655f
lea eax, [esi - 0x80]
lea ecx, [esp + 0x2e8]
call fcn.00416687
test al, al
je 0x41655f
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416142
push 0x2f
jmp 0x416152
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x41615d
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x41615f
mov eax, ebx
push 1
push 0x8d
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
push str.WaitEventData_Received
push 0
mov ecx, eax
mov dword [esp + 0x20f8], 3
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push dword [esp + 0x10]
lea ecx, [esp + 0xe0]
push ecx
lea eax, [edi + 0x14]
push 0x28c
push eax
call fcn.005387e1
push 0x2f
push ebx
call fcn.00538fb0
add esp, 0x18
test eax, eax
je 0x4161cf
push 0x2f
jmp 0x4161df
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x4161ea
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x4161ec
mov eax, ebx
push 1
push 0x90
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
mov dword [esp + 0x20f0], 4
push dword [edi + 0x14]
mov ecx, eax
push str.m_EventInfo.Size:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416245
push 0x2f
jmp 0x416255
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416260
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x416262
mov eax, ebx
push 1
push 0x91
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
mov dword [esp + 0x20f0], 5
push dword [edi + 0x18]
mov ecx, eax
push str.m_EventInfo.EventType:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x4162bb
push 0x2f
jmp 0x4162cb
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x4162d6
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x4162d8
mov eax, ebx
push 1
push 0x92
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
mov dword [esp + 0x20f0], 6
push dword [edi + 0x1c]
mov ecx, eax
push str.m_EventInfo.EventId:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416331
push 0x2f
jmp 0x416341
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x41634c
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x41634e
mov eax, ebx
push 1
push 0x93
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
lea edx, [edi + 0x20]
push edx
push str.m_EventInfo.DeviceInternalName:__s
push 0
mov ecx, eax
mov dword [esp + 0x20fc], 7
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x4163a8
push 0x2f
jmp 0x4163b8
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x4163c3
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x4163c5
mov eax, ebx
push 1
push 0x94
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
lea ecx, [edi + 0x120]
push ecx
push str.m_EventInfo.DeviceName:__s
push 0
mov ecx, eax
mov dword [esp + 0x20fc], 8
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416422
push 0x2f
jmp 0x416432
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x41643d
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x41643f
mov eax, ebx
push 1
push 0x95
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
lea edx, [edi + 0x220]
push edx
push str.m_EventInfo.TwainDriverName:__s
push 0
mov ecx, eax
mov dword [esp + 0x20fc], 9
call fcn.00404f53
mov esi, eax
call fcn.0040cf26
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404ee1
xor esi, esi
cmp dword [edi + 8], esi
je 0x41664a
cmp dword [edi + 0x18], 4
jne 0x4164db
push ecx
lea eax, [edi + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0040266d
push ecx
mov dword [esp + 0x20f8], 0xa
lea eax, [edi + 0x220]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0040266d
or dword [esp + 0x20f8], 0xffffffff
call fcn.0041ea52
jmp 0x41664a
push 0x3c
call fcn.00438288
pop ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20f0], 0xb
cmp eax, esi
je 0x41653a
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x599168
call fcn.0040266d
push esi
push esi
push ecx
lea eax, [edi + 0x220]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
mov byte [esp + 0x2104], 0xc
call fcn.0040266d
push dword [edi + 0x1c]
mov byte [esp + 0x2104], 0xb
push dword [esp + 0x28]
call fcn.00413333
mov esi, eax
or dword [esp + 0x20f0], 0xffffffff
lea eax, [edi + 0x20]
push eax
lea ecx, [esi + 8]
call fcn.00402647
push dword [edi + 0x1c]
push esi
mov esi, dword [edi + 8]
call fcn.0041a0fb
jmp 0x41664a
push 0x2f
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x416571
push 0x2f
jmp 0x416581
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x41658c
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x41658e
mov eax, ebx
push 4
push 0xae
push eax
lea esi, [esp + 0x48]
call fcn.00404e75
mov dword [esp + 0x20f0], 0xd
push dword [esp + 0x10]
mov ecx, eax
push str.Data_size_is_invalid:__d
push 0
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
jmp 0x41663d
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x4165da
push 0x2f
jmp 0x4165ea
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
test eax, eax
je 0x4165f5
push 0x5c
push ebx
call fcn.00538fb0
pop ecx
pop ecx
inc eax
jmp 0x4165f7
mov eax, ebx
push 4
push 0xb1
push eax
lea esi, [esp + 0x98]
call fcn.00404e75
mov esi, eax
mov dword [esp + 0x20f0], 0xe
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ReadFile_failed___d_
push 0
mov ecx, esi
call fcn.00404f53
mov esi, eax
call fcn.00402aa4
pop ecx
pop ecx
lea ecx, [esp + 0x8c]
or dword [esp + 0x20f0], 0xffffffff
call fcn.00404ee1
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
xor edi, edi
jmp 0x415f9c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x20e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20d0]
xor ecx, esp
call fcn.005381db
mov esp, ebp
pop ebp
ret 4