Function at 0x10027ea0
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x1034]
mov eax, 0x1034
call fcn.10140530
push 0xfffffffffffffffe
push 0x10185a58
push 0x10132540
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x10189710]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x1030], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov ebx, dword [ebp + 0x103c]
mov dword [ebp - 0x30], ebx
xor esi, esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 4], esi
mov byte [ebp + 0x608], 0
push 0x103
push esi
lea eax, [ebp + 0x609]
push eax
call fcn.1012e060
add esp, 0xc
mov dword [ebp - 0x48], esi
call fcn.10016ab0
mov byte [ebx], 0
lea edi, [ebp + 0x608]
call fcn.1005d0a0
test eax, eax
je 0x10028c42
push esi
mov ecx, edi
push ecx
call fcn.100612a0
add esp, 8
test eax, eax
je 0x10028c42
mov edx, edi
push edx
lea eax, [ebp + 0xf2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0xf2c]
call fcn.10065200
push str.TemplateEVCACHE.DAT
lea ecx, [ebp + 0xf2c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
push esi
lea edx, [ebp - 0x48]
lea ecx, [ebp + 0xf2c]
call fcn.10060eb0
add esp, 8
test eax, eax
jne 0x10028c2b
mov dword [ebp - 0x2c], esi
lea edx, [ebp + 0xf2c]
push edx
call fcn.10024920
push 0x80
push 3
push 3
push bind
lea edi, [ebp + 0xf2c]
call fcn.1005aa40
add esp, 0x14
mov edi, eax
mov dword [ebp - 0x2c], edi
cmp edi, 0xffffffff
je 0x10028bdb
cmp edi, esi
je 0x10028bdb
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov dword [ebp - 0x6c], ebx
cmp ebx, esi
je 0x10028b29
lea eax, [ebx + 0x401]
push eax
call fcn.10128320
add esp, 4
mov esi, eax
mov dword [ebp - 0x48], esi
test esi, esi
je 0x10028b41
lea eax, [ebx + 0x401]
push eax
push 0
push esi
call fcn.1012e060
add esp, 0xc
push 0
lea eax, [ebp - 0x44]
push eax
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, eax
test edi, edi
je 0x10028af2
cmp dword [ebp - 0x44], 0
jbe 0x10028af2
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x20]
push ecx
push str.LastCacheLine
mov ecx, str.SOFTWAREMicroWorld
mov edx, reloc.WS2_32.dll_bind
call fcn.10059e30
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
cmp dword [0x101aa5a4], 5
jl 0x1002809f
push eax
mov edx, dword [ebp - 0x44]
push edx
push ebx
lea eax, [ebp + 0xf2c]
push eax
push str.EVCACHE:__s__dwFileSize___u__ReadBytes___u__LastCacheLine___u
lea ecx, [ebp + 0xb1c]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xb1c]
push edx
call fcn.10017540
add esp, 0x1c
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x21]
push eax
lea ecx, [ebp - 0x22]
push ecx
lea edx, [ebp - 0x70]
push edx
lea ebx, [ebp - 0x74]
lea edi, [ebp - 0x30]
call fcn.1005ca60
mov edi, eax
mov dword [ebp - 0x28], edi
xor ebx, ebx
cmp edi, ebx
je 0x10028abe
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x20]
jbe 0x100281c0
mov dword [ebp - 0x40], ebx
mov byte [ebp + 0xd24], bl
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x54], eax
mov al, byte [edi]
cmp al, bl
je 0x10028128
cmp al, 0x20
je 0x10028128
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10028107
sub eax, edx
mov esi, eax
mov dword [ebp - 0x40], esi
cmp byte [esi + edi - 1], 0x20
jne 0x10028125
mov dword [ebp - 0x50], 1
jmp 0x10028136
mov dword [ebp - 0x40], ebx
push edi
call fcn.10061df0
add esp, 4
mov esi, eax
mov dword [ebp - 0x40], esi
cmp byte [edi], bl
je 0x1002815b
cmp byte [edi + 8], 0x3b
je 0x1002818f
xor esi, esi
mov dword [ebp - 0x40], esi
lea eax, [ebp + 0xf2c]
push eax
push edi
push str._DNSLIB__Invalid_Line___s__in__s_
push ebx
call fcn.1006ed90
add esp, 0x10
cmp esi, ebx
je 0x100281c0
cmp byte [edi], bl
je 0x100281c0
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov ecx, 5
mov edx, edi
call fcn.1001cd40
mov esi, eax
mov dword [ebp - 0x68], esi
cmp esi, 0x180a
jne 0x100281e3
call fcn.1001d0e0
mov edi, dword [ebp - 0x28]
jmp 0x100281f2
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp ecx, 8
jge 0x1002815b
mov al, byte [ecx + edi]
cmp al, 0x30
jl 0x100281a7
cmp al, 0x39
jg 0x100281a7
inc ecx
jmp 0x10028191
lea ecx, [ebp + 0xf2c]
push ecx
push edi
push str._DNSLIB__Invalid_Line___s__in__s_
push ebx
call fcn.1006ed90
add esp, 0x10
mov dword [ebp - 0x40], ebx
lea edx, [ebp - 0x21]
push edx
lea eax, [ebp - 0x22]
push eax
lea ecx, [ebp - 0x70]
push ecx
lea ebx, [ebp - 0x74]
lea edi, [ebp - 0x30]
xor esi, esi
call fcn.1005ca60
mov dword [ebp - 0x28], eax
mov edi, eax
jmp 0x100280c6
cmp esi, 0x2ef
jne 0x100281f2
mov dword [ebp - 0x5c], 1
lea edx, [esi - 0x1770]
cmp edx, 0xf9f
jbe 0x1002820e
add esi, 0xffffb1e0
cmp esi, 0x1387
ja 0x10028215
mov dword [ebp - 0x3c], 1
cmp dword [ebp - 0x50], ebx
jne 0x100283b3
mov byte [ebp + 0x914], bl
push 0x103
push ebx
lea eax, [ebp + 0x915]
push eax
call fcn.1012e060
add esp, 0xc
lea ecx, [ebp - 0x60]
push ecx
push str.UniqueMidIndex
mov ecx, str.SoftwareMicroWorld
mov edx, reloc.WS2_32.dll_bind
call fcn.10059e30
cmp byte [0x101c4490], bl
jne 0x1002828a
mov eax, dword [ebp - 0x60]
cmp eax, 2
je 0x1002828a
push eax
mov ecx, 0x101c4490
call fcn.10029040
add esp, 4
cmp dword [0x101aa5a4], 5
jl 0x1002828a
push 0x101c4490
push str._PROC__UniqueMid_A_:__s
call fcn.10017540
add esp, 8
cmp byte [0x101c4598], bl
jne 0x1002829e
push 0x101c4598
xor ecx, ecx
call fcn.10081380
push 0x104
push edi
mov ecx, 2
lea edx, [ebp + 0x914]
call fcn.1001ce60
add esp, 8
cmp dword [ebp - 0x3c], ebx
jne 0x100283b3
cmp byte [0x101c4598], bl
je 0x100283b3
cmp byte [ebp + 0x914], bl
je 0x100283b3
lea edx, [ebp + 0x914]
push edx
push 0x101c4598
call fcn.10135887
add esp, 8
test eax, eax
je 0x100283b3
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10028300
sub eax, edx
add eax, 0x104
push eax
call fcn.10128320
add esp, 4
mov esi, eax
mov dword [ebp - 0x34], esi
cmp esi, ebx
je 0x100283b3
push edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x914]
push eax
push 0x1015aecc
lea ecx, [ebp + 0x70c]
push ecx
call fcn.10127dc0
push 0x101c4598
push 0x1015aecc
lea edx, [ebp + 0xa18]
push edx
call fcn.10127dc0
lea eax, [ebp + 0xa18]
push eax
lea ecx, [ebp + 0x70c]
push ecx
push esi
call fcn.10064100
lea edx, [ebp + 0x914]
push edx
push 0x1015ddb8
lea eax, [ebp + 0x70c]
push eax
call fcn.10127dc0
push 0x101c4598
push 0x1015ddb8
lea ecx, [ebp + 0xa18]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xa18]
push edx
lea eax, [ebp + 0x70c]
push eax
push esi
call fcn.10064100
add esp, 0x48
mov eax, dword [0x101c448c]
cmp eax, ebx
je 0x100283c4
cmp eax, dword [0x101a9f3c]
je 0x100283d8
mov ecx, dword [0x101a9f3c]
mov dword [0x101c448c], ecx
mov dword [0x101c469c], ebx
jmp 0x100283e4
cmp dword [0x101c469c], ebx
jne 0x100287e8
mov byte [ebp + 0x810], bl
push 0x103
push ebx
lea edx, [ebp + 0x811]
push edx
call fcn.1012e060
mov byte [ebp + 0xc20], bl
push 0x103
push ebx
lea eax, [ebp + 0xc21]
push eax
call fcn.1012e060
add esp, 0x18
mov dword [0x101c469c], 1
mov ecx, 0x101b3768
mov edx, 0x101c46a0
jmp 0x10028430
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x10028430
mov ecx, 0x101b31fc
mov edx, 0x101c47a4
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x10028444
lea esi, [ebp + 0x810]
call fcn.1005ead0
test eax, eax
jne 0x1002847f
cmp byte [ebp + 0x810], bl
je 0x1002847b
push ebx
mov ecx, esi
push ecx
push 0x101b3768
call fcn.10063340
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1002847f
xor eax, eax
jmp 0x10028484
mov eax, 1
mov dword [0x101c47b0], eax
mov dword [0x101c47b8], ebx
cmp eax, ebx
je 0x1002859c
cmp dword [0x101aa494], ebx
je 0x10028572
cmp dword [0x101aa49c], ebx
je 0x10028572
cmp byte [0x101aa4a0], bl
je 0x10028572
push 0x101aa4a0
push 0x104
lea edx, [ebp + 0xc20]
push edx
push 0x1015ddbc
push str.SecServer
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp + 0xc20], 0x31
jne 0x10028572
mov dword [0x101c47b8], 1
mov eax, dword [str.127.0.0.1]
mov dword [0x101c46a0], eax
mov ecx, dword [0x10157e7c]
mov dword [0x101c46a4], ecx
mov dx, word [0x10157e80]
mov word [0x101c46a8], dx
lea eax, [ebp + 0x810]
push eax
push 0x101c47a4
push 0x101c46a0
push str.EVCACHE:_Force_SENDING_Event_to__s:_s_as_this_is_Cloud_Client_and_UPDATE_AGENT__CH:_s__
lea ecx, [ebp + 0xd24]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xd24]
push edx
call fcn.10017540
add esp, 0x18
cmp dword [0x101a4168], ebx
je 0x100287a0
push 0x101ab648
push 0x101c47a4
push 0x101c46a0
push str.EVCACHE:_Cached_Events_To_Host___s:_s___AltHost___s_.
jmp 0x100287e0
cmp dword [0x101c47b8], ebx
jne 0x100284f8
mov dword [0x101a4168], ebx
lea eax, [ebp + 0x810]
push eax
push 0x101b31fc
push 0x101b3768
push str.EVCACHE:_Not_sending_Event_to__s:_s_as_this_is_Cloud_Client__CH:_s__
jmp 0x10028532
push 0x101aa4a0
push 0x104
lea eax, [ebp + 0xc20]
push eax
push 0x1014d5e3
push str.CreateLiveEvents
push str.Config
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
call esi
lea ecx, [ebp + 0xc20]
push ecx
call fcn.10128238
add esp, 4
test eax, eax
jle 0x1002878e
push 0x101aa4a0
push 0x104
lea edx, [ebp + 0xc20]
push edx
push 0x1015ddbc
push str.SecServer
push str.Config
call esi
cmp byte [ebp + 0xc20], 0x31
jne 0x10028669
mov dword [0x101c47b8], 1
mov dword [0x101aa6bc], ebx
mov eax, dword [str.127.0.0.1]
mov dword [0x101c46a0], eax
mov ecx, dword [0x10157e7c]
mov dword [0x101c46a4], ecx
mov dx, word [0x10157e80]
mov word [0x101c46a8], dx
push 0x101c47a4
push 0x101c46a0
push str.EVCACHE:_CreateLiveEvents_Value_is_set_and_SecServer1._So_force_SENDING_Event_to__s:_s
lea eax, [ebp + 0xd24]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xd24]
push ecx
call fcn.10017540
add esp, 0x14
jmp 0x1002878e
mov byte [ebp], bl
push 0x3ff
push ebx
lea edx, [ebp + 1]
push edx
call fcn.1012e060
mov dword [ebp - 0x7c], 0x400
mov byte [ebp + 0x400], bl
push 0x207
push ebx
lea eax, [ebp + 0x401]
push eax
call fcn.1012e060
add esp, 0x18
push str.LogEstr
lea eax, [ebp - 0x7c]
lea edi, [ebp]
mov ecx, str.SOFTWAREMicroWorldeScan_for_Windows
mov edx, reloc.WS2_32.dll_bind
call fcn.10059d80
cmp byte [ebp], bl
je 0x10028743
push ebx
push str._UAG_
mov ecx, edi
push ecx
call fcn.10063340
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1002873e
lea edx, [ebp + 0x400]
push edx
call fcn.10027ce0
add esp, 4
test eax, eax
je 0x10028712
lea eax, [ebp + 0x400]
push eax
push str.EVCACHE:_Ignoring_CreateLiveEvents_Value__Reason__s
lea ecx, [ebp + 0xd24]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xd24]
push edx
call fcn.10017540
add esp, 0x10
jmp 0x1002878b
mov dword [0x101c47b4], 1
push str.EVCACHE:_CreateLiveEvents_is_set_to_1
lea eax, [ebp + 0xd24]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xd24]
push ecx
call fcn.10017540
add esp, 0xc
jmp 0x1002878b
cmp byte [ebp], bl
jne 0x10028751
push str.EVCACHE:_Ignoring_CreateLiveEvents_Value_as_LogEstr_is_blank
lea edx, [ebp + 0xd24]
push edx
jmp 0x10028774
push ebx
push str._UAG_
lea eax, [ebp]
push eax
call fcn.10063340
add esp, 0xc
cmp eax, 0xffffffff
je 0x1002877c
push str.EVCACHE:_Ignoring_CreateLiveEvents_Value_as_this_is_Update_Agent_Client__UAG_
lea ecx, [ebp + 0xd24]
push ecx
call fcn.10127dc0
add esp, 8
lea edx, [ebp + 0xd24]
push edx
call fcn.10017540
add esp, 4
mov edi, dword [ebp - 0x28]
cmp dword [0x101c47b4], ebx
je 0x1002854d
mov dword [0x101a4168], ebx
cmp dword [0x101c47b0], ebx
je 0x100287c4
push 0x101ab648
push 0x101b31fc
push 0x101b3768
push str.EVCACHE:_NOT_Sending_Cached_Events_To_Host___s:_s___AltHost___s__as_this_is_Cloud_Client
call fcn.10017540
add esp, 0x10
cmp dword [0x101c47b4], ebx
je 0x100287e8
push 0x101ab648
push 0x101b31fc
push 0x101b3768
push str.EVCACHE:_NOT_Sending_Cached_Events_To_Host___s:_s___AltHost___s__as_CreateLiveEvents_is_set
call fcn.10017540
add esp, 0x10
cmp dword [0x101a9f08], ebx
je 0x10028809
push 0x101b16b8
mov eax, dword [0x101c47b0]
push eax
push str._CCLN__A__ThisIsCloudClient:_u__CloudPriorityEventIds:_s
push ebx
call fcn.1006ed90
add esp, 0x10
cmp dword [0x101c47b0], ebx
je 0x100288c9
cmp byte [0x101b16b8], bl
je 0x100288c9
cmp dword [0x101b31f0], ebx
jne 0x1002884e
push str._CCLN__Started_Cloud_AntiSpam_Download_Thread_A_
lea ecx, [ebp + 0xd24]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xd24]
push edx
call fcn.10017540
add esp, 0xc
call fcn.10027ca0
mov eax, dword [ebp - 0x68]
push eax
push 0x101579f0
lea ecx, [ebp + 0xb1c]
push ecx
call fcn.10127dc0
add esp, 0xc
cmp dword [0x101a9f08], ebx
je 0x1002888c
lea esi, [ebp + 0xb1c]
call fcn.10027970
push eax
mov edx, dword [ebp - 0x68]
push edx
push str._CCLN__A__EventID:_u__Priority:_u_
push ebx
call fcn.1006ed90
add esp, 0x10
cmp byte [0x101b16b8], 0x2a
je 0x100288a4
lea esi, [ebp + 0xb1c]
call fcn.10027970
test eax, eax
je 0x100288c9
push 0x101a6e98
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x101b31f8], 2
jae 0x100288be
inc dword [0x101b31f8]
push 0x101a6e98
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x101aa5a4], 5
jl 0x100288f2
cmp dword [0x101a4168], ebx
je 0x100288f2
push edi
push 0x101c47a4
push 0x101c46a0
push str.EVCACHE:_Sending_Cached_Event_to___s:_s__:__s...
call fcn.10017540
add esp, 0x10
mov esi, 1
mov dword [ebp - 0x4c], esi
cmp dword [0x101a4168], ebx
je 0x100289ef
cmp dword [ebp - 0x34], ebx
je 0x1002896a
cmp dword [ebp - 0x50], ebx
je 0x1002892f
push 6
push ebx
push 0x101ab648
push 0x101c47a4
push 0x101c46a0
push esi
push esi
mov eax, dword [ebp - 0x34]
push eax
call sym.DNSLIB.dll_SendFullLogLineProcEx
jmp 0x10028957
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x101c4490
push 0x10
push ebx
push 0x101c46a0
push 1
push 1
mov edx, dword [ebp - 0x34]
push edx
mov edx, 0x101ab648
mov ecx, 0x101c47a4
call fcn.10026f50
mov esi, eax
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x34]
push eax
call fcn.10128243
add esp, 4
jmp 0x100289b7
cmp dword [ebp - 0x50], ebx
je 0x1002898d
push 7
push ebx
push 0x101ab648
push 0x101c47a4
push 0x101c46a0
push 1
push 1
push edi
call sym.DNSLIB.dll_SendFullLogLineProcEx
jmp 0x100289b2
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x101c4490
push 0x11
push ebx
push 0x101c46a0
push 1
push 1
push edi
mov edx, 0x101ab648
mov ecx, 0x101c47a4
call fcn.10026f50
mov esi, eax
mov dword [ebp - 0x4c], esi
cmp esi, 1
jne 0x10028a87
cmp dword [ebp - 0x5c], ebx
je 0x100289ef
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
lea ecx, [ecx]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0x186a0
jae 0x100289ec
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100289d0
mov edi, dword [ebp - 0x28]
cmp esi, 1
jne 0x10028a87
cmp dword [0x101aa5a4], 5
jl 0x10028a56
cmp dword [0x101a4168], ebx
je 0x10028a25
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x1c]
push edx
push str.EVCACHE:_SendFullLogLineProcEx_Success___u___u_ms_
lea eax, [ebp + 0xd24]
push eax
jmp 0x10028a3f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
push str.EVCACHE:_FORCE_SETTING_SendFullLogLineProcEx_to_Success___u___u_ms_
lea edx, [ebp + 0xd24]
push edx
call fcn.10127dc0
add esp, 0x10
lea eax, [ebp + 0xd24]
push eax
call fcn.10017540
add esp, 4
inc dword [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x38]
je 0x100281c0
mov esi, str.LastCacheLine
mov ebx, str.SOFTWAREMicroWorld
mov ecx, reloc.WS2_32.dll_bind
call fcn.10059bf0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x38], ecx
jmp 0x100281c0
cmp dword [0x101aa5a4], 5
jl 0x10028abe
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x1c]
push edx
push str.EVCACHE:_SendFullLogLineProcEx_Failed___u___u_ms_
lea eax, [ebp + 0xd24]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0xd24]
push ecx
call fcn.10017540
add esp, 0x14
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x38]
je 0x10028ae2
mov esi, str.LastCacheLine
mov ebx, str.SOFTWAREMicroWorld
mov ecx, reloc.WS2_32.dll_bind
call fcn.10059bf0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x38], edx
xor ebx, ebx
cmp edi, ebx
mov ebx, dword [ebp - 0x6c]
jne 0x10028b41
mov dword [ebp - 0x64], 1
jmp 0x10028b41
cmp dword [0x101aa5a4], 5
jl 0x10028b41
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str.EVCACHE:_ReadFileResult:__u__LE:_u___dwReadBytes___u
lea ecx, [ebp + 0xb1c]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0xb1c]
push edx
call fcn.10017540
add esp, 0x18
jmp 0x10028b41
lea eax, [ebp + 0xf2c]
push eax
push str.EVCACHE:__s_filesize_is_zero_
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.10127dc0
add esp, 0xc
lea edx, [ebp - 0x2c]
push edx
call fcn.10082e10
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x10028b5a
push eax
call fcn.10128243
add esp, 4
cmp dword [ebp - 0x64], 1
jne 0x10028c67
push 0x80
push 3
push 0
push bind
lea edi, [ebp + 0xf2c]
call fcn.1005aa40
add esp, 0x10
mov dword [ebp - 0x2c], eax
cmp eax, 0xffffffff
je 0x10028c67
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, ebx
jne 0x10028bcd
lea eax, [ebp - 0x2c]
push eax
call fcn.10082e10
mov eax, edi
call fcn.1005ad10
cmp eax, 1
jne 0x10028c67
xor eax, eax
mov esi, str.LastCacheLine
mov ebx, str.SOFTWAREMicroWorld
mov ecx, reloc.WS2_32.dll_bind
call fcn.10059bf0
jmp 0x10028c67
lea ecx, [ebp - 0x2c]
push ecx
call fcn.10082e10
jmp 0x10028c67
mov byte [ebp + 0xb1c], 0
push 0x103
push 0
lea edx, [ebp + 0xb1d]
push edx
call fcn.1012e060
push 0x104
lea esi, [ebp + 0xb1c]
call fcn.10065360
mov eax, esi
push eax
lea ecx, [ebp + 0xf2c]
push ecx
push str.EVCACHE:_Unable_to_open___s___Reason:__s
mov edx, dword [ebp - 0x30]
push edx
call fcn.10127dc0
add esp, 0x20
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x10028c71
lea eax, [ebp + 0xf2c]
push eax
push str.EVCACHE:_Unable_to_find___s__
push ebx
call fcn.10127dc0
add esp, 0xc
jmp 0x10028c67
push str.EVCACHE:_Unable_to_locate_eScan_directory_
push ebx
call fcn.10127dc0
jmp 0x10028c64
add esp, 8
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1030]
xor ecx, ebp
call fcn.10127db1
add ebp, 0x1034
mov esp, ebp
pop ebp
ret 4