Function at 0x47d380
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x559632
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x168
mov eax, dword [0x5ec3c8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x90], esi
mov eax, dword [ebx + 8]
lea edi, [esi + 0x19c]
mov dword [ebp - 0x48], eax
mov ecx, edi
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x48], 0x3e8
call fcn.0047a650
mov ecx, esi
call fcn.0047df70
test al, al
jne 0x47d430
sub esp, 8
mov ecx, esp
mov dword [ecx], str.CLpipe_is_not_ready
mov dword [ecx + 4], 0x14
mov ecx, esi
call fcn.0047d1e0
mov eax, dword [ebp - 0x98]
mov dword [eax], 0
jmp 0x47de9f
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0x7c]
xorps xmm0, xmm0
movups xmmword [ebp - 0x7c], xmm0
push dword [eax]
push dword [ebp - 0x94]
call fcn.0047a3e0
push 0
push 0
push 0
push 0
mov dword [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x84], esi
test esi, esi
jne 0x47d597
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x54], eax
push str.CLno_request_error
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], eax
movups xmmword [ebp - 0x64], xmm0
call fcn.00419c40
lea esi, [edi + 0x74]
mov byte [ebp - 4], 2
push esi
mov dword [ebp - 0x48], esi
call fcn.004f3843
add esp, 4
test eax, eax
jne 0x47debf
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00481da0
cmp byte [edi + 0xa4], 0
je 0x47d4d7
lea eax, [ebp - 0x64]
mov ecx, edi
push eax
call fcn.00481910
push 0
mov ecx, edi
call fcn.004819c0
push esi
call fcn.004f3868
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.004196c0
call fcn.0044f060
push 1
lea ecx, [ebp - 0x170]
push ecx
mov ecx, eax
call fcn.0044f5c0
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x4c], str.ClientPipeCommunications.cpp
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x48], 0x1df
call fcn.0041a580
mov edx, str.Failed_to_create_request_event._Error
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
lea ecx, [ebp - 0x170]
call fcn.004301e0
lea ecx, [ebp - 0x118]
call fcn.0044dd10
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 4
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f317c
mov edi, dword [ebp - 0x98]
add esp, 4
mov eax, dword [ebp - 0x70]
mov dword [edi], 0
test eax, eax
je 0x47de9d
push eax
call fcn.0050aa90
add esp, 4
jmp 0x47de9d
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x88], eax
lea edi, [eax + 0x148]
mov byte [ebp - 4], 5
push edi
mov dword [ebp - 0xa4], edi
call fcn.004f3843
add esp, 4
test eax, eax
jne 0x47dec5
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x178]
add ecx, 1
je 0x47d5e0
xorps xmm0, xmm0
mov dword [eax + 0x178], ecx
movups xmmword [ebp - 0xc8], xmm0
add eax, 0x17c
mov dword [ebp - 0xb0], 0
movq qword [ebp - 0xb8], xmm0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xbc], xmm0
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x6c], ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.0047fd20
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 8
push eax
call fcn.0047fd90
lea ecx, [ebp - 0x68]
call fcn.0047dee0
mov ecx, dword [ebp - 0xb0]
or eax, 0xffffffff
test ecx, ecx
je 0x47d6a4
lock xadd dword [ecx + 8], eax
jne 0x47d6a1
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x94], eax
call dword [0x5845b0]
mov ecx, dword [ebp - 0xb0]
call dword [ebp - 0x94]
or eax, 0xffffffff
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x47d703
lock xadd dword [ecx + 4], eax
jne 0x47d703
mov eax, dword [ecx]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x94], eax
call dword [0x5845b0]
mov ecx, dword [ebp - 0xb8]
call dword [ebp - 0x94]
mov eax, dword [ebp - 0xb8]
or ecx, 0xffffffff
lock xadd dword [eax + 8], ecx
dec ecx
jne 0x47d703
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x94], eax
call dword [0x5845b0]
mov ecx, dword [ebp - 0xb8]
call dword [ebp - 0x94]
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x47d716
push eax
call fcn.0050aa90
add esp, 4
mov eax, dword [ebp - 0xd0]
push edi
mov byte [ebp - 4], 5
mov dword [eax + 0xc], esi
call fcn.004f3868
add esp, 4
cmp dword [ebp - 0x78], 0xf
jb 0x47dd51
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x44]
mov dword [ecx + 0xb], eax
push dword [ebp - 0x78]
mov ecx, dword [ebp - 0x90]
push dword [ebp - 0x70]
call fcn.004861b0
test al, al
jne 0x47d87f
mov edi, dword [ebp - 0x90]
sub esp, 8
mov eax, esp
mov ecx, edi
mov dword [eax], str.CLwrite_failure
mov dword [eax + 4], 0x10
call fcn.0047d1e0
call fcn.0044f060
push 1
lea ecx, [ebp - 0x170]
push ecx
mov ecx, eax
call fcn.0044f5c0
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x4c], str.ClientPipeCommunications.cpp
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x48], 0x202
call fcn.0041a580
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], edi
lea ecx, [ebp - 0x170]
call fcn.004801f0
mov edx, 0x5cba98
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
cmp dword [edi + 0x140], 8
lea eax, [edi + 0x12c]
jb 0x47d7e0
mov eax, dword [eax]
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
lea ecx, [ebp - 0x170]
call fcn.0041a760
mov edx, 0x5d35c0
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
mov edx, 0x5d36d8
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x170]
call fcn.004301e0
mov edx, 0x5cba98
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea ecx, [ebp - 0x118]
call fcn.0044dd10
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f317c
mov eax, dword [ebp - 0x98]
add esp, 4
mov dword [eax], 0
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x47de80
mov ecx, edi
jmp 0x47de7a
push 0x3e8
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x47db3b
mov edi, dword [ebp - 0x90]
mov eax, dword [ebx + 0x18]
add edi, 0x210
mov ecx, dword [ebx + 0x1c]
push edi
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa0], edi
call fcn.004f3843
add esp, 4
test eax, eax
jne 0x47decb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x90]
lea ecx, [ecx + 0x19c]
call fcn.00481da0
mov ecx, dword [ebp - 0x90]
cmp byte [ecx + 0x240], 0
je 0x47da03
lea esi, [ebp - 0x16]
mov ecx, 0x3e8
nop
mov eax, 0xcccccccd
sub esi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [esi], cx
mov ecx, edx
test ecx, ecx
jne 0x47d900
push ecx
lea eax, [ebp - 0x16]
push eax
push esi
lea ecx, [ebp - 0xc4]
call fcn.00431c60
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0xa8]
add eax, 0x1b8
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x47d951
mov eax, dword [eax]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xc4]
call fcn.00442db0
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x50], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x54], xmm0
mov byte [ebp - 4], 0x12
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0xc4]
call fcn.004196c0
cmp dword [ebp - 0x9c], 0
je 0x47d9d3
push 1
push 0x5d329c
lea ecx, [ebp - 0x64]
call fcn.0041ff00
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x64]
push dword [ebp - 0x94]
call fcn.0041ff00
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ecx + 0x19c]
call fcn.00481910
mov ecx, dword [ebp - 0x90]
push 0
lea ecx, [ecx + 0x19c]
call fcn.004819c0
lea ecx, [ebp - 0x64]
call fcn.004196c0
push edi
mov byte [ebp - 4], 5
call fcn.004f3868
add esp, 4
call fcn.0044f060
push 1
lea ecx, [ebp - 0x170]
push ecx
mov ecx, eax
call fcn.0044f5c0
lea edx, [ebp - 0xac]
mov dword [ebp - 0xac], str.ClientPipeCommunications.cpp
lea ecx, [ebp - 0x170]
mov dword [ebp - 0xa8], 0x20b
call fcn.0041a580
mov edi, dword [ebp - 0x90]
cmp dword [edi + 0x140], 8
lea eax, [edi + 0x12c]
jb 0x47da61
mov eax, dword [eax]
lea edx, [ebp - 0xa8]
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0x170]
call fcn.0041a760
mov edx, 0x5d35c0
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
mov edx, str.Wait_for_message_with_id
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x170]
call fcn.004301e0
mov edx, str._was_not_successful._Return
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0x170]
call fcn.004301e0
mov edx, str.__timeout
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x170]
call fcn.004301e0
lea ecx, [ebp - 0x118]
call fcn.0044dd10
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x13
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f317c
mov eax, dword [ebp - 0x98]
add esp, 4
mov dword [eax], 0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
mov eax, dword [eax]
test eax, eax
je 0x47db2e
push eax
mov ecx, edi
call fcn.0047acb0
test esi, esi
je 0x47de87
jmp 0x47de80
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0x15
push edi
mov dword [ebp - 0xa4], edi
call fcn.004f3843
add esp, 4
test eax, eax
jne 0x47ded1
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x44]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0x42]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x41]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00427f90
mov edx, dword [eax + 4]
test edx, edx
jne 0x47dbc0
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 0x90]
cmp dword [ecx + 0x180], edx
je 0x47dc5a
lea ecx, [edx + 0x10]
lea eax, [ebp - 0x80]
cmp eax, ecx
je 0x47dbea
mov eax, dword [ecx]
mov dword [ebp - 0x94], eax
mov dword [ecx], 0
mov ecx, dword [ebp - 0xa0]
mov eax, dword [edx + 0x14]
push edx
mov dword [ecx], eax
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x9c]
push eax
call fcn.0047fb70
push edi
mov dword [ebp - 0x44], 0
call fcn.004f3868
mov edi, dword [ebp - 0x98]
add esp, 4
mov eax, dword [ebp - 0x94]
mov dword [edi], eax
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x47dc3a
mov ecx, dword [ebp - 0x90]
push eax
call fcn.0047acb0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x47de9d
push eax
call fcn.0050aa90
add esp, 4
jmp 0x47de9d
sub esp, 8
mov eax, esp
mov dword [eax], str.CLno_reply
mov dword [eax + 4], 0xb
call fcn.0047d1e0
call fcn.0044f060
push 1
lea ecx, [ebp - 0x170]
push ecx
mov ecx, eax
call fcn.0044f5c0
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x4c], str.ClientPipeCommunications.cpp
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x48], 0x221
call fcn.0041a580
mov eax, dword [ebp - 0x90]
add eax, 0x12c
cmp dword [eax + 0x14], 8
jb 0x47dcb5
mov eax, dword [eax]
lea edx, [ebp - 0x48]
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x170]
call fcn.0041a760
mov edx, 0x5d35c0
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
mov edx, str.Message_with_id
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x170]
call fcn.004301e0
mov edx, str._was_not_found
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea ecx, [ebp - 0x118]
call fcn.0044dd10
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x17
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f317c
mov eax, dword [ebp - 0x98]
add esp, 4
mov dword [ebp - 0x44], 0
push edi
mov dword [eax], 0
call fcn.004f3868
add esp, 4
mov byte [ebp - 4], 0x18
jmp 0x47de6d
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.CLst_msg_id
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00419c40
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x90]
add edi, 0x210
push edi
mov dword [ebp - 0x48], edi
call fcn.004f3843
add esp, 4
test eax, eax
jne 0x47ded7
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x90]
lea ecx, [ecx + 0x19c]
call fcn.00481da0
mov eax, dword [ebp - 0x90]
cmp byte [eax + 0x240], 0
je 0x47dddf
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [eax + 0x19c]
call fcn.00481910
mov ecx, dword [ebp - 0x90]
push 0
lea ecx, [ecx + 0x19c]
call fcn.004819c0
push edi
call fcn.004f3868
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x64]
call fcn.004196c0
call fcn.0044f060
push 1
lea ecx, [ebp - 0x170]
push ecx
mov ecx, eax
call fcn.0044f5c0
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x4c], str.ClientPipeCommunications.cpp
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x48], 0x1fb
call fcn.0041a580
mov edx, str.Failed_to_set_message_id
lea ecx, [ebp - 0x170]
call fcn.0041a5e0
lea ecx, [ebp - 0x118]
call fcn.0044dd10
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xb
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004f317c
mov eax, dword [ebp - 0x98]
add esp, 4
mov dword [eax], 0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x47de80
mov ecx, dword [ebp - 0x90]
push eax
call fcn.0047acb0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x47de97
push eax
call fcn.0050aa90
add esp, 4
mov edi, dword [ebp - 0x98]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0050a47b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x18
push eax
call fcn.004f3949
push eax
call fcn.004f3949
push eax
call fcn.004f3949
push eax
call fcn.004f3949
push eax
call fcn.004f3949
int3