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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45b0e0
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0xde6c
call fcn.00436b90
mov eax, dword [0x476188]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0xddf4], esi
push 0
push dword [esi]
mov dword [ebp - 0xde54], esi
mov dword [ebp - 0xde00], 0
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xc350
lea eax, [ebp - 0xc364]
push 0
push eax
call fcn.00439830
add esp, 0xc
lea eax, [ebp - 0xde18]
push 0
push eax
push 4
lea eax, [ebp - 0xddf0]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebp - 0xde0c]
mov ecx, 0x479728
push eax
call fcn.00416340
mov esi, dword [ebp - 0xde04]
lea eax, [ebp - 0xddf0]
push eax
lea eax, [ebp - 0xddfc]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.0041b3e0
mov edi, dword [esi + 4]
cmp dword [ebp - 0xddfc], edi
jne 0x4151f8
mov eax, dword [ebp - 0xddf4]
lea ecx, [ebp - 0xde14]
mov edi, dword [edi]
add eax, 4
push ecx
mov dword [ebp - 0xde14], eax
lea ecx, [ebp - 0xddfc]
push ecx
lea eax, [ebp - 0xddf0]
push 0x45ee73
mov dword [ebp - 0xde10], eax
lea ecx, [esi + 4]
mov dword [ebp - 0xddfc], eax
mov eax, dword [edi + 4]
push eax
push edi
mov dword [ebp - 0xde00], eax
call fcn.00412770
mov edx, eax
mov ecx, 0x38e38e2
mov eax, dword [esi + 8]
sub ecx, eax
cmp ecx, 1
jb 0x415d2e
inc eax
mov ecx, esi
mov dword [esi + 8], eax
mov eax, dword [ebp - 0xde00]
mov dword [edi + 4], edx
mov dword [eax], edx
mov eax, dword [esi + 4]
mov eax, dword [eax]
push eax
lea edx, [eax + 8]
push edx
lea eax, [ebp - 0xde5c]
push eax
call fcn.00413250
cmp byte [ebp - 0xde08], 0
mov dword [ebp - 4], 1
je 0x415223
push dword [ebp - 0xde0c]
call fcn.0041e75b
add esp, 4
test eax, eax
je 0x415223
push eax
call fcn.0041eb76
add esp, 4
mov ecx, dword [0x479554]
mov eax, dword [ebp - 0xddf0]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xddfc], eax
test ecx, ecx
je 0x415d38
mov eax, dword [ecx]
lea edx, [ebp - 0xddfc]
push edx
call dword [eax + 8]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xddf8], esi
push 0
push dword [ebp - 0xddf0]
push str.process_connected__d
push 0
push 0
call fcn.00410df0
add esp, 0x10
mov ecx, esi
push eax
call fcn.00413de0
cmp dword [esi + 0x14], 8
mov dword [ebp - 0xde00], 3
jb 0x41528e
mov esi, dword [esi]
push dword [ebp - 0xddf0]
push str.process_connected__d
push esi
call fcn.00410e30
add esp, 0xc
call fcn.00416380
add esp, 0x18
mov eax, dword [ebp - 0xddf4]
push 0
lea ecx, [ebp - 0xde18]
push ecx
push 0xc350
lea ecx, [ebp - 0xc364]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x415c28
mov eax, dword [ebp - 0xc364]
cmp eax, 4
ja case.0x4152e4.1
jmp dword [eax*4 + 0x415dec]
mov ecx, 0x37e
lea esi, [ebp - 0xc364]
lea edi, [ebp - 0xddec]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xde24]
mov ecx, 0x479728
push eax
call fcn.00416340
or dword [ebp - 0xde00], 4
mov esi, dword [ebp - 0xde1c]
lea eax, [ebp - 0xddf0]
push eax
lea eax, [ebp - 0xde44]
mov dword [ebp - 4], 2
push eax
mov ecx, esi
call fcn.0041b3e0
mov eax, dword [ebp - 0xde44]
cmp eax, dword [esi + 4]
je 0x415d3d
mov dword [ebp - 0xc3b8], 0
mov ecx, dword [eax + 0x34]
mov byte [ebp - 4], 3
test ecx, ecx
je 0x41536f
mov eax, dword [ecx]
lea edx, [ebp - 0xc3dc]
push edx
mov eax, dword [eax]
call eax
mov dword [ebp - 0xc3b8], eax
cmp byte [ebp - 0xde20], 0
mov byte [ebp - 4], 6
je 0x415397
push dword [ebp - 0xde24]
call fcn.0041e75b
add esp, 4
test eax, eax
je 0x415397
push eax
call fcn.0041eb76
add esp, 4
xor eax, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xd3dc]
mov dword [ebp - 0xc384], 0
mov dword [ebp - 0xc380], 7
lea edx, [ecx + 2]
mov word [ebp - 0xc394], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4153c1
sub ecx, edx
lea eax, [ebp - 0xd3dc]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xc394]
call fcn.0040a730
cmp dword [ebp - 0xc384], 0xc
mov byte [ebp - 4], 7
jbe 0x41546c
xor eax, eax
mov dword [ebp - 0xc36c], 0
lea ecx, [ebp - 0xd3dc]
mov dword [ebp - 0xc368], 7
mov word [ebp - 0xc37c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415416
sub ecx, edx
lea eax, [ebp - 0xd3dc]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xc37c]
call fcn.0040a730
mov ecx, dword [ebp - 0xc3b8]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x415d47
mov eax, dword [ecx]
lea edx, [ebp - 0xc37c]
push edx
lea edx, [ebp - 0xdde4]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xc37c]
mov byte [ebp - 4], 7
call fcn.00404cb0
mov eax, dword [ebp - 0xdc60]
lea ecx, [ebp - 0xd3dc]
and dword [ebp - 0xdc64], 0xfffffffb
lea edx, [ecx + 1]
mov dword [ebp - 0xdc60], eax
mov dword [ebp - 0xc36c], 0
mov dword [ebp - 0xc368], 0xf
mov byte [ebp - 0xc37c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4154a3
sub ecx, edx
lea eax, [ebp - 0xd3dc]
push ecx
push eax
lea ecx, [ebp - 0xc37c]
call fcn.004112a0
push dword [ebp - 0xdc5c]
lea eax, [ebp - 0xc37c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0xde40]
push eax
call fcn.00410fd0
add esp, 0xc
mov edx, dword [ebp - 0xc368]
mov byte [ebp - 4], 0xb
cmp edx, 0x10
jb 0x41551d
mov ecx, dword [ebp - 0xc37c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415513
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415d4c
push edx
push ecx
call fcn.00436c0f
add esp, 8
cmp byte [ebp - 0xde28], 0
mov dword [ebp - 0xc36c], 0
mov dword [ebp - 0xc368], 0xf
mov byte [ebp - 0xc37c], 0
je 0x4155d5
cmp dword [ebp - 0xde30], 0xc
jbe 0x4155d5
push dword [ebp - 0xddf0]
lea eax, [ebp - 0xc3f4]
mov ecx, 0x282
sub esp, 0xa08
lea esi, [ebp - 0xdde4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0040ce40
add esp, 0xa10
cmp dword [eax + 0x14], 8
jb 0x415587
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xdbd8]
push 0x1f4
push eax
call fcn.00445391
add esp, 0xc
lea ecx, [ebp - 0xc3f4]
call fcn.00404cb0
cmp byte [ebp - 0xde28], 0
je 0x415d51
mov ecx, dword [ebp - 0xc3b8]
test ecx, ecx
je 0x415d82
mov eax, dword [ecx]
lea edx, [ebp - 0xde40]
push edx
lea edx, [ebp - 0xdde4]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xde40]
mov byte [ebp - 4], 7
call fcn.0040c980
lea ecx, [ebp - 0xd3dc]
mov dword [ebp - 0xdc5c], 0xfde9
mov dword [ebp - 0xc36c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc368], 0xf
mov byte [ebp - 0xc37c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415612
sub ecx, edx
lea eax, [ebp - 0xd3dc]
push ecx
push eax
lea ecx, [ebp - 0xc37c]
call fcn.004112a0
push dword [ebp - 0xdc5c]
lea eax, [ebp - 0xc37c]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0xde40]
push eax
call fcn.00410fd0
add esp, 0xc
mov edx, dword [ebp - 0xc368]
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x41568c
mov ecx, dword [ebp - 0xc37c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415682
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415d87
push edx
push ecx
call fcn.00436c0f
add esp, 8
cmp byte [ebp - 0xde28], 0
mov dword [ebp - 0xc36c], 0
mov dword [ebp - 0xc368], 0xf
mov byte [ebp - 0xc37c], 0
je 0x415744
cmp dword [ebp - 0xde30], 0xc
jbe 0x415744
push dword [ebp - 0xddf0]
lea eax, [ebp - 0xc3f4]
mov ecx, 0x282
sub esp, 0xa08
lea esi, [ebp - 0xdde4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0040ce40
add esp, 0xa10
cmp dword [eax + 0x14], 8
jb 0x4156f6
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xdbd8]
push 0x1f4
push eax
call fcn.00445391
add esp, 0xc
lea ecx, [ebp - 0xc3f4]
call fcn.00404cb0
cmp byte [ebp - 0xde28], 0
je 0x415d8c
mov ecx, dword [ebp - 0xc3b8]
test ecx, ecx
je 0x415dbd
mov eax, dword [ecx]
lea edx, [ebp - 0xde40]
push edx
lea edx, [ebp - 0xdde4]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xde40]
call fcn.0040c980
mov edx, dword [ebp - 0xc380]
mov byte [ebp - 4], 5
cmp edx, 8
jb 0x415793
mov ecx, dword [ebp - 0xc394]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415789
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415dc2
push edx
push ecx
call fcn.00436c0f
add esp, 8
mov ecx, dword [ebp - 0xc3b8]
mov eax, dword [ebp - 0xddf4]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x4152b0
mov edx, dword [ecx]
lea eax, [ebp - 0xc3dc]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
jmp 0x4152aa
movups xmm0, xmmword [ebp - 0xc364]
sub esp, 0x28
lea ecx, [ebp - 0xddf0]
mov eax, esp
lea edx, [ebp - 0xc374]
movups xmmword [ebp - 0xc374], xmm0
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_a7a57f847fb80912b5f33bc723a6774d___bool__struct_ThreadParam_.0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x24], eax
call fcn.00418700
add esp, 0x28
jmp 0x4152aa
cmp dword [0x47961c], 0
mov eax, dword [ebp - 0xddf4]
je 0x4152b0
xor eax, eax
mov dword [ebp - 0xc384], 0
lea ecx, [ebp - 0xc354]
mov dword [ebp - 0xc380], 7
mov word [ebp - 0xc394], ax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415840
sub ecx, edx
lea eax, [ebp - 0xc354]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xc394]
call fcn.0040a730
mov eax, dword [ebp - 0xc35c]
mov ecx, dword [0x47961c]
mov dword [ebp - 0xde64], eax
mov eax, dword [ebp - 0xc358]
mov dword [ebp - 4], 0xf
mov dword [ebp - 0xde60], eax
test ecx, ecx
je 0x415dc7
mov eax, dword [ecx]
lea edx, [ebp - 0xc394]
push edx
lea edx, [ebp - 0xde64]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xc394]
mov dword [ebp - 4], 0xffffffff
call fcn.00404cb0
jmp 0x4152aa
mov ecx, 0x7e
mov dword [ebp - 0xc384], 0
lea esi, [ebp - 0xc364]
mov dword [ebp - 0xc380], 0xf
lea edi, [ebp - 0xc5ec]
mov byte [ebp - 0xc394], 0
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0xc5e8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4158f0
sub ecx, edx
lea eax, [ebp - 0xc5e8]
push ecx
push eax
lea ecx, [ebp - 0xc394]
call fcn.004112a0
sub esp, 0x18
mov dword [ebp - 4], 0x10
mov eax, esp
lea ecx, [ebp - 0xc394]
push ecx
push eax
call fcn.00410f10
add esp, 8
call fcn.00416380
mov edx, dword [ebp - 0xc380]
add esp, 0x18
mov eax, dword [ebp - 0xddf4]
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4152b0
mov ecx, dword [ebp - 0xc394]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415971
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415dcc
push edx
push ecx
call fcn.00436c0f
add esp, 8
jmp 0x4152aa
movups xmm0, xmmword [ebp - 0xc364]
mov eax, dword [ebp - 0xde18]
lea esi, [ebp - 0xc344]
add eax, 0xfffff5d0
lea edi, [ebp - 0xcff4]
movups xmmword [ebp - 0xc3b4], xmm0
mov dword [ebp - 0xddf8], eax
mov ecx, 0x282
movups xmm0, xmmword [ebp - 0xc354]
lea eax, [ebp - 0xde0c]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x4796d8
movups xmmword [ebp - 0xc3a4], xmm0
call fcn.00416340
mov ecx, dword [ebp - 0xde04]
lea eax, [ebp - 0xc3b4]
push eax
lea eax, [ebp - 0xddfc]
mov dword [ebp - 4], 0x11
push eax
call fcn.0041b470
mov eax, dword [ebp - 0xde04]
mov esi, dword [ebp - 0xddfc]
lea edi, [eax + 4]
cmp esi, dword [edi]
jne 0x415af0
lea ecx, [ebp - 0xc3b4]
mov byte [ebp - 4], 0x12
push ecx
lea ecx, [ebp - 0xde48]
push ecx
mov ecx, eax
call fcn.0041b470
mov eax, dword [edi]
mov esi, dword [ebp - 0xde48]
cmp esi, eax
jne 0x415abd
mov esi, dword [eax]
lea ecx, [ebp - 0xcff4]
mov dword [ebp - 0xde5c], ecx
lea ecx, [ebp - 0xc3b4]
mov dword [ebp - 0xde58], ecx
mov dword [ebp - 0xde4c], ecx
lea ecx, [ebp - 0xde5c]
mov eax, dword [esi + 4]
push ecx
lea ecx, [ebp - 0xde4c]
mov dword [ebp - 0xde50], eax
push ecx
push 0x45ee73
push eax
push esi
mov ecx, edi
call fcn.00412800
mov edx, eax
mov ecx, 0x1661eb
mov eax, dword [edi + 4]
sub ecx, eax
cmp ecx, 1
jb 0x415dd1
mov ecx, dword [ebp - 0xde04]
inc eax
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xde50]
mov dword [esi + 4], edx
mov dword [eax], edx
mov eax, dword [edi]
mov eax, dword [eax]
push eax
lea edx, [eax + 8]
push edx
lea eax, [ebp - 0xde14]
push eax
call fcn.00413470
mov esi, dword [ebp - 0xde14]
jmp 0x415aca
mov dword [ebp - 0xde14], esi
mov byte [ebp - 0xde10], 0
mov ecx, dword [0x4795a4]
mov dword [ebp - 0xddfc], esi
mov dword [ebp - 4], 0x11
test ecx, ecx
je 0x415ddb
mov eax, dword [ecx]
mov edx, dword [eax + 8]
lea eax, [esi + 0x28]
push eax
call edx
mov eax, dword [ebp - 0xb93c]
lea ecx, [esi + 0x28]
mov edi, dword [ebp - 0xddf8]
mov dword [esi + 0x230], eax
mov eax, dword [ebp - 0xb938]
mov dword [esi + 0x234], eax
lea eax, [ebp - 0xb934]
push edi
push eax
call fcn.0041c980
cmp dword [0x479644], 0
je 0x415bf1
mov eax, dword [esi + 0x230]
add esi, 0xb0
and eax, 0x10000
or eax, 0
je 0x415bf1
push dword [0x476054]
lea eax, [ebp - 0xb934]
push esi
push edi
push eax
lea eax, [ebp - 0xde40]
push eax
call fcn.00411390
add esp, 0x14
cmp byte [ebp - 0xde28], 0
mov byte [ebp - 4], 0x14
je 0x415be6
lea eax, [ebp - 0xde40]
push eax
lea ecx, [ebp - 0xc394]
call fcn.0040c7b0
cmp dword [ebp - 0xc384], 0
mov byte [ebp - 4], 0x15
je 0x415bdb
mov ecx, dword [0x479644]
test ecx, ecx
je 0x415de0
jmp 0x415bc8
mov eax, dword [ecx]
lea edx, [ebp - 0xc3b4]
push edx
lea edx, [ebp - 0xc394]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xc394]
call fcn.00404cb0
lea ecx, [ebp - 0xde40]
call fcn.0040c980
cmp byte [ebp - 0xde08], 0
mov dword [ebp - 4], 0x16
je 0x415c1c
push dword [ebp - 0xde0c]
call fcn.0041e75b
add esp, 4
test eax, eax
je 0x415c1c
push eax
call fcn.0041eb76
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x4152aa
sub esp, 0x28
lea ecx, [ebp - 0xddf0]
mov eax, esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_2e169f13a7e70c402f569b3b29adbdcc___bool__struct_ThreadParam_.0
mov dword [eax + 4], ecx
mov dword [eax + 0x24], eax
call fcn.00418700
mov ecx, dword [0x47957c]
add esp, 0x28
mov eax, dword [ebp - 0xddf0]
mov dword [ebp - 0xddf8], eax
test ecx, ecx
je 0x415de5
mov eax, dword [ecx]
lea edx, [ebp - 0xddf8]
push edx
call dword [eax + 8]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xddf8], esi
push 0
push dword [ebp - 0xddf0]
push str.process_disconnected__d
push 0
push 0
call fcn.00410df0
add esp, 0x10
mov ecx, esi
push eax
call fcn.00413de0
cmp dword [esi + 0x14], 8
jb 0x415ca1
mov esi, dword [esi]
push dword [ebp - 0xddf0]
push str.process_disconnected__d
push esi
call fcn.00410e30
add esp, 0xc
call fcn.00416380
add esp, 0x18
lea eax, [ebp - 0xde24]
mov ecx, 0x479728
push eax
call fcn.00416340
mov ecx, dword [ebp - 0xde1c]
lea eax, [ebp - 0xddf0]
push eax
mov dword [ebp - 4], 0x17
call fcn.0041aa00
cmp byte [ebp - 0xde20], 0
mov dword [ebp - 4], 0x18
je 0x415d12
push dword [ebp - 0xde24]
call fcn.0041e75b
add esp, 4
test eax, eax
je 0x415d12
push eax
call fcn.0041eb76
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00436e18
mov esp, ebp
pop ebp
ret
push str.list_T__too_long
call fcn.0041d7ba
call fcn.0041d77d
push str.invalid_unordered_map_K__T__key
call fcn.0041d7da
call fcn.0041d77d
call fcn.0043bfe9
xorps xmm0, xmm0
mov dword [ebp - 0xde68], 0
lea ecx, [ebp - 0xde70]
movq qword [ebp - 0xde70], xmm0
call fcn.00410e60
push 0x471618
lea eax, [ebp - 0xde70]
push eax
call fcn.00439cbd
call fcn.0041d77d
call fcn.0043bfe9
xorps xmm0, xmm0
mov dword [ebp - 0xde74], 0
lea ecx, [ebp - 0xde7c]
movq qword [ebp - 0xde7c], xmm0
call fcn.00410e60
push 0x471618
lea eax, [ebp - 0xde7c]
push eax
call fcn.00439cbd
call fcn.0041d77d
call fcn.0043bfe9
call fcn.0041d77d
call fcn.0043bfe9
push str.list_T__too_long
call fcn.0041d7ba
call fcn.0041d77d
call fcn.0041d77d
call fcn.0041d77d
nop
mov ecx, 0x80004158
pop ecx
inc ecx
add bl, ch
push edx
inc ecx
add bh, al
push edi
inc ecx
add byte [edx], al
pop eax
inc ecx
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp