Function at 0x402da0
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x78834c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [eax + 0x34c]
push esi
push edi
xor edi, edi
mov dword [ebp - 0x58], eax
mov eax, ebx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], edi
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402df0
sub eax, esi
add eax, 0x20
push 8
push eax
call fcn.00413d70
mov esi, eax
add esp, 8
cmp esi, edi
je 0x40311a
mov dword [ebp - 0x24], edi
jmp 0x402e22
xor edi, edi
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x4d6ab4]
push edi
push 0x4b9dac
push ebx
push eax
push esi
mov dword [ebp - 0x4c], eax
call fcn.00414740
mov edi, eax
push str.CONNECT_REQUEST
push edi
call fcn.00408340
add esp, 0x1c
push esi
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x40], eax
test eax, eax
jne 0x402e7b
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, 8
jb 0x402e20
mov dword [ebp - 0x20], 0x7f6
jmp 0x40311d
push str.CONNECT_ANSWER
push edi
call fcn.00408340
add esp, 8
push esi
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x402eaa
mov dword [ebp - 0x20], 0x7f7
jmp 0x40311d
push str.CONNECT_DATA
push edi
call fcn.00408340
add esp, 8
push esi
push 0
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x402ed6
mov dword [ebp - 0x20], 0x7f8
jmp 0x40311d
push 4
push 0
push 0
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x402ef8
mov dword [ebp - 0x20], 0x7f9
jmp 0x40311d
mov eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x402f12
mov dword [ebp - 0x20], 0x7fe
jmp 0x40311d
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x38]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x402f30
mov dword [ebp - 0x20], 0x7fd
jmp 0x40311d
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
push 0xa
lea eax, [ebp - 0x1c]
push eax
push edx
call fcn.004146a0
mov ecx, dword [ebp - 0x4c]
push 0
push 0x4b9dac
lea eax, [ebp - 0x1c]
push eax
push 0x4b9dac
push ebx
push ecx
push esi
call fcn.00414740
mov edi, eax
push str.DATA
push edi
call fcn.00408340
add esp, 0x30
push esi
push 0
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x402fe1
mov dword [ebp - 0x20], 0x7fa
mov ebx, dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x402f9c
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x48]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x402fac
push eax
call ebx
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x402fb6
push eax
call ebx
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x402fc0
push eax
call ebx
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x402fce
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x40311d
push eax
call ebx
jmp 0x40311d
push 0x3e84
push 0
push 0
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x403003
mov dword [ebp - 0x20], 0x7fb
jmp 0x402f85
push str.SERVER_WROTE
push edi
call fcn.00408340
mov ebx, dword [sym.imp.KERNEL32.dll_OpenEventA]
add esp, 8
push esi
push 0
push 0x100002
call ebx
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x403034
mov dword [ebp - 0x20], 0x7fc
jmp 0x402f85
push str.SERVER_READ
push edi
call fcn.00408340
add esp, 8
push esi
push 0
push 0x100002
call ebx
mov ebx, eax
test ebx, ebx
jne 0x40305e
mov dword [ebp - 0x20], 0x7fc
jmp 0x402f88
push str.CLIENT_WROTE
push edi
call fcn.00408340
add esp, 8
push esi
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x40308d
mov dword [ebp - 0x20], 0x7fc
jmp 0x402f88
push str.CLIENT_READ
push edi
call fcn.00408340
add esp, 8
push esi
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x4030bc
mov dword [ebp - 0x20], 0x7fc
jmp 0x402f88
push str.CONNECTION_CLOSED
push edi
call fcn.00408340
add esp, 8
push esi
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x4c], eax
test eax, eax
jne 0x4030eb
mov dword [ebp - 0x20], 0x7fc
jmp 0x402f88
push ebx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
push edx
mov edx, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x24]
push ebx
push edx
push eax
push ecx
call fcn.00414520
mov edx, dword [ebp - 0x54]
add esp, 0x1c
mov dword [edx], eax
jmp 0x40311d
mov edi, dword [ebp - 0x54]
push esi
call fcn.00413e00
mov esi, dword [ebp - 0x20]
add esp, 4
test esi, esi
je 0x403136
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x403146
push eax
call ebx
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x403150
push eax
call ebx
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x40315e
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x403168
push eax
call ebx
test esi, esi
je 0x4031f0
cmp esi, 0x7fc
jne 0x4031ab
mov ecx, dword [ebp - 0x2c]
mov eax, dword [str.Cant_open_shared_memory__client_could_not_create__s_event___lu_]
mov edx, dword [str.HY000]
push ecx
push edi
push eax
mov eax, dword [ebp - 0x58]
push edx
push esi
push eax
call fcn.00402af0
add esp, 0x18
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00472ef6
mov esp, ebp
pop ebp
ret
lea ecx, [esi - 0x7d0]
cmp ecx, 0x3d
ja 0x4031bf
mov eax, dword [esi*4 + 0x4d6388]
jmp 0x4031c4
mov eax, dword [0x4da208]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x58]
push edx
push eax
mov eax, dword [str.HY000]
push eax
push esi
push ecx
call fcn.00402af0
add esp, 0x14
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00472ef6
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00472ef6
mov esp, ebp
pop ebp
ret