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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x569f50
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x20d4
call fcn.0053e040
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.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415ae9
push 0x2f
jmp 0x415af9
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415b04
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415b06
mov eax, ebx
push 1
push 0x74
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
xor edi, edi
push str.CEventPipe::WaitEventData
push edi
mov ecx, eax
mov dword [esp + 0x20f8], edi
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
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.0041625a
test eax, eax
je 0x41620f
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415b9b
push 0x2f
jmp 0x415bab
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415bb6
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415bb8
mov eax, ebx
push 1
push 0x7f
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
push str.ConnectNamedPipe_succeeded
push 0
mov ecx, eax
mov dword [esp + 0x20f8], 1
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
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 0x416180
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415c2f
push 0x2f
jmp 0x415c3f
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415c4a
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415c4c
mov eax, ebx
push 1
push 0x8a
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
push str.ReadFile_succeeded
push 0
mov ecx, eax
mov dword [esp + 0x20f8], 2
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
cmp dword [esp + 0x10], 0x28c
jne 0x416114
mov esi, 0x100
mov eax, esi
lea ecx, [esp + 0xe8]
call fcn.0041623c
test al, al
je 0x416114
mov eax, esi
lea ecx, [esp + 0x1e8]
call fcn.0041623c
test al, al
je 0x416114
lea eax, [esi - 0x80]
lea ecx, [esp + 0x2e8]
call fcn.0041623c
test al, al
je 0x416114
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415cf7
push 0x2f
jmp 0x415d07
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415d12
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415d14
mov eax, ebx
push 1
push 0x8d
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
push str.WaitEventData_Received
push 0
mov ecx, eax
mov dword [esp + 0x20f8], 3
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [esp + 0x20f4], 0xffffffff
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
push dword [esp + 0x10]
lea ecx, [esp + 0xe0]
push ecx
lea eax, [edi + 0x14]
push 0x28c
push eax
call fcn.00538421
push 0x2f
push ebx
call fcn.00538be0
add esp, 0x18
test eax, eax
je 0x415d84
push 0x2f
jmp 0x415d94
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415d9f
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415da1
mov eax, ebx
push 1
push 0x90
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
mov dword [esp + 0x20f0], 4
push dword [edi + 0x14]
mov ecx, eax
push str.m_EventInfo.Size:__d
push 0
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415dfa
push 0x2f
jmp 0x415e0a
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415e15
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415e17
mov eax, ebx
push 1
push 0x91
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
mov dword [esp + 0x20f0], 5
push dword [edi + 0x18]
mov ecx, eax
push str.m_EventInfo.EventType:__d
push 0
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415e70
push 0x2f
jmp 0x415e80
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415e8b
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415e8d
mov eax, ebx
push 1
push 0x92
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
mov dword [esp + 0x20f0], 6
push dword [edi + 0x1c]
mov ecx, eax
push str.m_EventInfo.EventId:__d
push 0
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415ee6
push 0x2f
jmp 0x415ef6
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415f01
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415f03
mov eax, ebx
push 1
push 0x93
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
lea edx, [edi + 0x20]
push edx
push str.m_EventInfo.DeviceInternalName:__s
push 0
mov ecx, eax
mov dword [esp + 0x20fc], 7
call fcn.00404c4d
mov esi, eax
call fcn.0040cc0a
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415f5d
push 0x2f
jmp 0x415f6d
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415f78
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415f7a
mov eax, ebx
push 1
push 0x94
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
lea ecx, [edi + 0x120]
push ecx
push str.m_EventInfo.DeviceName:__s
push 0
mov ecx, eax
mov dword [esp + 0x20fc], 8
call fcn.00404c4d
mov esi, eax
call fcn.0040cc0a
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415fd7
push 0x2f
jmp 0x415fe7
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x415ff2
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x415ff4
mov eax, ebx
push 1
push 0x95
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
lea edx, [edi + 0x220]
push edx
push str.m_EventInfo.TwainDriverName:__s
push 0
mov ecx, eax
mov dword [esp + 0x20fc], 9
call fcn.00404c4d
mov esi, eax
call fcn.0040cc0a
or dword [esp + 0x20f8], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
call fcn.00404bdb
xor esi, esi
cmp dword [edi + 8], esi
je 0x4161ff
cmp dword [edi + 0x18], 4
jne 0x416090
push ecx
lea eax, [edi + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.00402358
push ecx
mov dword [esp + 0x20f8], 0xa
lea eax, [edi + 0x220]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00402358
or dword [esp + 0x20f8], 0xffffffff
call fcn.0041e5ea
jmp 0x4161ff
push 0x3c
call fcn.00437ebf
pop ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20f0], 0xb
cmp eax, esi
je 0x4160ef
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5990a0
call fcn.00402358
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.00402358
push dword [edi + 0x1c]
mov byte [esp + 0x2104], 0xb
push dword [esp + 0x28]
call fcn.00412ee9
mov esi, eax
or dword [esp + 0x20f0], 0xffffffff
lea eax, [edi + 0x20]
push eax
lea ecx, [esi + 8]
call fcn.00402332
push dword [edi + 0x1c]
push esi
mov esi, dword [edi + 8]
call fcn.00419ce7
jmp 0x4161ff
push 0x2f
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x416126
push 0x2f
jmp 0x416136
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x416141
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x416143
mov eax, ebx
push 4
push 0xae
push eax
lea esi, [esp + 0x48]
call fcn.00404b6f
mov dword [esp + 0x20f0], 0xd
push dword [esp + 0x10]
mov ecx, eax
push str.Data_size_is_invalid:__d
push 0
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
pop ecx
pop ecx
lea ecx, [esp + 0x3c]
jmp 0x4161f2
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x41618f
push 0x2f
jmp 0x41619f
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x4161aa
push 0x5c
push ebx
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x4161ac
mov eax, ebx
push 4
push 0xb1
push eax
lea esi, [esp + 0x98]
call fcn.00404b6f
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.00404c4d
mov esi, eax
call fcn.0040279b
pop ecx
pop ecx
lea ecx, [esp + 0x8c]
or dword [esp + 0x20f0], 0xffffffff
call fcn.00404bdb
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
xor edi, edi
jmp 0x415b51
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.00537e11
mov esp, ebp
pop ebp
ret 4