Function at 0x100057f8
Capabilities:
Get common file path
Resolve dns

Disassembly:
push ebp
lea ebp, [esp - 0x1288]
mov eax, 0x13a0
call fcn.10043e70
mov eax, dword [0x1007ef24]
xor eax, ebp
mov dword [ebp + 0x1284], eax
push ebx
push esi
mov esi, dword [ebp + 0x1290]
push edi
push str.SpeedNet
push 0x80
push 0
push 4
push 0
push 0xffffffffffffffff
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov edi, eax
test edi, edi
je 0x1000585f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
push edi
je 0x10005859
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10005a5e
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, 0xfff
push edi
lea eax, [ebp + 0x85]
push 0
push eax
mov byte [ebp + 0x84], 0
call fcn.10042a90
push 0x1006429c
push esi
call fcn.10043620
mov esi, eax
add esp, 0x14
test esi, esi
je 0x10005a5e
inc esi
inc esi
push 0x10063ef0
push esi
call fcn.10043620
test eax, eax
pop ecx
pop ecx
je 0x10005a5e
sub eax, esi
cmp eax, edi
jg 0x10005a5e
push eax
lea eax, [ebp + 0x84]
push esi
push eax
call fcn.10043ac0
lea esi, [ebx + 0x231]
add esp, 0xc
cmp byte [esi], 0
je 0x10005a5e
push 0x1ff
lea eax, [ebp + 0x1085]
push 0
push eax
mov byte [ebp + 0x1084], 0
call fcn.10042a90
lea edx, [ebp + 0x1084]
add esp, 0xc
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100058fa
lea edi, [ebp + 0x1084]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1000590b
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, str.dialer.dll
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp + 0x1084]
push eax
movsb byte es:[edi], byte [esi]
call ebx
test eax, eax
mov dword [ebp + 0x80], eax
jne 0x10005991
mov esi, 0x200
push esi
push eax
lea eax, [ebp + 0x1084]
push eax
call fcn.10042a90
add esp, 0xc
push esi
lea eax, [ebp + 0x1084]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp byte [ebp + 0x1084], 0
je 0x10005a5e
lea edi, [ebp + 0x1084]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1000596e
mov esi, 0x10064278
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x1084]
push eax
movsd dword es:[edi], dword [esi]
call ebx
test eax, eax
mov dword [ebp + 0x80], eax
je 0x100059a9
push str.dlraddorgrtentry
push dword [ebp + 0x80]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x78], eax
jne 0x100059bd
push str._dlr_add_org_rtentry__YAHKK_Z
push dword [ebp + 0x80]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp + 0x78], eax
xor edi, edi
push 0x18c
lea eax, [ebp - 0x114]
push edi
push eax
mov dword [ebp - 0x118], edi
call fcn.10042a90
add esp, 0xc
lea eax, [ebp + 0x84]
push eax
mov dword [ebp + 0x7c], edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, edi
je 0x10005a5e
cmp word [eax + 8], 2
jne 0x10005a28
mov esi, dword [eax + 0xc]
mov ecx, dword [esi]
cmp ecx, edi
je 0x10005a28
movsx edi, word [eax + 0xa]
lea ebx, [ebp - 0x118]
push edi
push ecx
push ebx
call fcn.10043ac0
add esp, 0xc
inc dword [ebp + 0x7c]
add ebx, 4
cmp dword [ebp + 0x7c], 0x64
jge 0x10005a28
add esi, 4
mov ecx, dword [esi]
test ecx, ecx
jne 0x10005a08
xor edi, edi
cmp dword [ebp + 0x78], edi
je 0x10005a4a
xor esi, esi
cmp dword [ebp + 0x7c], edi
jle 0x10005a4a
push 0xffffffffffffffff
push dword [ebp + esi*4 - 0x118]
call dword [ebp + 0x78]
inc esi
cmp esi, dword [ebp + 0x7c]
pop ecx
pop ecx
jl 0x10005a36
cmp dword [ebp + 0x80], edi
je 0x10005a5e
push dword [ebp + 0x80]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp + 0x1284]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10042977
add ebp, 0x1288
leave
ret 4