Function at 0x10069ef0
Capabilities:
Read file via mapping

Disassembly:
sub esp, 0x80
mov eax, dword [esp + 0x84]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov edi, dword [eax + 0x34c]
push ebp
push 0x100c9ae0
lea ecx, [esp + 0x58]
push edi
push ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x30], ebp
call fcn.1006e050
mov esi, eax
push str.CONNECT_REQUEST
push esi
call fcn.1006dc40
mov ebx, dword [sym.imp.KERNEL32.dll_OpenEventA]
add esp, 0x18
lea edx, [esp + 0x50]
push edx
push ebp
push 0x1f0003
call ebx
test eax, eax
mov dword [esp + 0x30], eax
jne 0x10069f72
mov dword [esp + 0x10], 0x7f5
jmp 0x1006a20e
push str.CONNECT_ANSWER
push esi
call fcn.1006dc40
add esp, 8
lea eax, [esp + 0x50]
push eax
push 0
push 0x1f0003
call ebx
test eax, eax
mov dword [esp + 0x24], eax
jne 0x10069fa3
mov dword [esp + 0x10], 0x7f6
jmp 0x1006a20e
push str.CONNECT_DATA
push esi
call fcn.1006dc40
add esp, 8
lea ecx, [esp + 0x50]
push ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
test eax, eax
mov dword [esp + 0x34], eax
jne 0x10069fd5
mov dword [esp + 0x10], 0x7f7
jmp 0x1006a20e
push 4
push 0
push 0
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x10069ff9
mov dword [esp + 0x10], 0x7f8
jmp 0x1006a20e
mov edx, dword [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1006a015
mov dword [esp + 0x10], 0x7fd
jmp 0x1006a20e
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1006a045
mov dword [esp + 0x10], 0x7fc
jmp 0x1006a20e
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push 0xa
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.1006def0
push 0
push 0x100c9ae0
lea edx, [esp + 0x4c]
push edx
push 0x100c9ae0
lea eax, [esp + 0x6c]
push edi
push eax
call fcn.1006e050
mov esi, eax
push str.DATA
push esi
call fcn.1006dc40
add esp, 0x2c
lea ecx, [esp + 0x50]
push ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x1006a0ac
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], 0x7f9
jmp 0x1006a1b9
push 0x3e84
push 0
push 0
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x1006a0d7
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], 0x7fa
jmp 0x1006a1b9
push str.SERVER_WROTE
push esi
call fcn.1006dc40
add esp, 8
lea edx, [esp + 0x50]
push edx
push 0
push 0x1f0003
call ebx
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x1006a10c
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], 0x7fb
jmp 0x1006a1b9
push str.SERVER_READ
push esi
call fcn.1006dc40
add esp, 8
lea eax, [esp + 0x50]
push eax
push 0
push 0x1f0003
call ebx
mov ebp, eax
test ebp, ebp
jne 0x1006a13c
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], 0x7fb
jmp 0x1006a1b9
push str.CLIENT_WROTE
push esi
call fcn.1006dc40
add esp, 8
lea ecx, [esp + 0x50]
push ecx
push 0
push 0x1f0003
call ebx
mov edi, eax
test edi, edi
je 0x1006a1b1
push str.CLIENT_READ
push esi
call fcn.1006dc40
add esp, 8
lea edx, [esp + 0x50]
push edx
push 0
push 0x1f0003
call ebx
mov ebx, eax
test ebx, ebx
je 0x1006a1b1
push ebp
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
push ebx
push edi
mov edi, dword [esp + 0xa0]
push ebp
push eax
push ecx
push edx
push edi
call fcn.1006de30
mov ebx, dword [esp + 0x3c]
add esp, 0x1c
mov dword [edi], eax
jmp 0x1006a221
mov dword [esp + 0x10], 0x7fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
test ebp, ebp
mov ebx, eax
je 0x1006a1cc
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1006a1df
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call ebp
jmp 0x1006a1e5
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x1006a1ec
push edi
call ebp
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1006a1fb
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1006a206
push eax
call ebp
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1006a21a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x20], eax
mov ebx, eax
mov edi, dword [esp + 0x98]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1006a234
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call ebp
jmp 0x1006a23a
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1006a245
push eax
call ebp
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1006a254
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1006a25f
push eax
call ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x1006a2dc
mov dword [edi + 0x25c], ebp
mov eax, dword [str.HY000]
push eax
lea ecx, [edi + 0x254]
push ecx
call fcn.1006dc40
add esp, 8
cmp ebp, 0x7fb
push ebx
jne 0x1006a2b4
mov edx, dword [edi + 0x25c]
mov eax, dword [edx*4 + 0x100c7c8c]
push esi
push eax
add edi, 0x54
push edi
call fcn.100863cc
add esp, 0x10
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x80
ret
mov ecx, dword [edi + 0x25c]
mov edx, dword [ecx*4 + 0x100c7c8c]
push edx
add edi, 0x54
push edi
call fcn.100863cc
add esp, 0xc
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x80
ret
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret