Function at 0x407770
Capabilities:
Contain obfuscated stackstrings
Get local ipv4 addresses
Get socket information

Disassembly:
sub esp, 0x4ec
push ebp
push esi
lea eax, [esp + 0x70]
push edi
push eax
mov byte [esp + 0x74], 0x66
mov byte [esp + 0x152], 0
mov dword [esp + 0x78], 0x9c
call dword [sym.imp.kernel32.dll_GetFullPathNameA]
mov edx, dword [esp + 0x4fc]
lea ecx, [esp + 0x2f8]
push 0x100
push ecx
push edx
call fcn.00407380
mov ebp, dword [esp + 0x50c]
xor eax, eax
mov dword [esp + 0x28], eax
add esp, 0xc
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], eax
lea edx, [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xa8]
push ecx
push edx
push eax
mov dword [esp + 0x24], 0x10
call dword [sym.imp.ws2_32.dll_getsockname]
mov ecx, dword [esp + 0x20]
lea esi, [esp + 0x2f8]
mov dword [esp + 0x118], ecx
mov ecx, 0xc
lea edi, [esp + 0x11c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.004070a0
lea edx, [esp + 0x4c]
mov dword [esp + 0x110], eax
push edx
call dword [sym.imp.kernel32.dll_GetDllDirectoryW]
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x118], eax
mov dword [esp + 0x30], 0x20
call dword [sym.imp.kernel32.dll_GetModuleHandleExA]
mov edx, dword [esp + 0x34]
shr edx, 0x14
mov dword [esp + 0x154], edx
call fcn.00407270
mov ecx, dword [esp + 0x504]
mov byte [esp + 0xc], 0x25
test eax, eax
setne al
mov byte [esp + 0x14e], al
mov dword [esp + 0x150], ecx
mov byte [esp + 0xd], 0x64
mov byte [esp + 0xe], 0
call dword [sym.imp.kernel32.dll_GetFileMUIInfo]
mov edi, eax
mov eax, 0x31b5d43b
mul edi
mov esi, dword [sym.imp.user32.dll_Ordinal_729_1]
lea eax, [esp + 0x1cc]
shr edx, 0x18
push edx
lea edx, [esp + 0x10]
push edx
push eax
call esi
mov eax, edi
xor edx, edx
mov ecx, 0x5265c00
div ecx
mov eax, 0x95217cb1
mov edi, edx
mul edi
shr edx, 0x15
push edx
lea edx, [esp + 0x1c]
lea eax, [esp + 0x240]
push edx
push eax
call esi
mov eax, edi
xor edx, edx
mov ecx, 0x36ee80
div ecx
mov eax, 0x45e7b273
mul edx
shr edx, 0xe
push edx
lea edx, [esp + 0x28]
lea eax, [esp + 0x2b0]
push edx
push eax
call esi
lea ecx, [esp + 0x2b8]
lea edx, [esp + 0x254]
push ecx
lea eax, [esp + 0x1f4]
push edx
push eax
lea ecx, [esp + 0x1ba]
push 0x411620
push ecx
call esi
push str.LrQtqY
call fcn.00407050
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1e6]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x100
mov eax, ecx
mov esi, edi
mov edi, edx
mov byte [esp + 0x50], 0x44
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov byte [esp + 0x51], 0x65
and ecx, 3
mov byte [esp + 0x52], 0x66
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x438]
mov byte [esp + 0x53], 0x61
push ecx
mov byte [esp + 0x58], 0x75
mov byte [esp + 0x59], 0x6c
mov byte [esp + 0x5a], 0x74
mov byte [esp + 0x5b], 0
call fcn.004076e0
add esp, 0x44
test eax, eax
jne 0x4079a7
mov edx, str.6gkIBfkSqY
test edx, edx
je 0x4079a1
push edx
call fcn.00407050
add esp, 4
jmp 0x4079ae
lea eax, [esp + 0x10]
jmp 0x4079ae
lea eax, [esp + 0x3f8]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x158]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x15c
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x74]
push ecx
mov ecx, ebp
call fcn.00402520
pop edi
pop esi
pop ebp
add esp, 0x4ec
ret