Function at 0x480bc0
Capabilities:
Encode data using xor
Resolve dns
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
mov eax, dword [0x6d3f68]
xor eax, esp
mov dword [esp + 0x54], eax
push esi
push edi
mov eax, dword [0x6d78a0]
mov cl, 0x23
mov dword [esp + 0x18], eax
mov al, 0x3d
mov dl, al
mov byte [esp + 0xc], 0xd
xor al, byte [esp + 0xc]
mov ah, cl
mov byte [esp + 0xd], al
mov ch, dl
mov al, byte [esp + 0xc]
mov dh, ah
xor cl, al
mov byte [esp + 0xb], ch
xor dl, al
mov byte [esp + 0x14], 0
xor ah, al
mov byte [esp + 0xe], cl
xor ch, al
mov byte [esp + 0x10], ah
xor dh, al
mov byte [esp + 0xf], dl
mov al, byte [esp + 0xb]
xor al, byte [esp + 0xc]
mov byte [esp + 0x13], al
lea eax, [esp + 0xd]
push eax
mov byte [esp + 0x15], ch
mov byte [esp + 0x16], dh
mov byte [esp + 0x18], 0
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x480c53
cmp word [eax + 8], 2
jne 0x480c53
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x480cc3
xor edi, edi
mov dword [esp + 0x58], 0
lea esi, [esp + 0xd]
lea eax, [edi + 0x2e]
lea edx, [esi + 1]
mov dword [esp + 0x50], edx
cmp byte [esi], 0x30
je 0x480ca2
push 0xa
lea eax, [esp + 0x54]
push eax
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp eax, 0xff
ja 0x480cc7
mov edx, dword [esp + 0x50]
cmp edx, esi
je 0x480cc7
mov ecx, edx
sub ecx, esi
cmp ecx, 3
jg 0x480cc7
mov byte [esp + edi + 0x58], al
mov eax, 0x2e
xor ecx, ecx
cmp edi, 3
cmovl ecx, eax
movsx eax, byte [edx]
cmp eax, ecx
jne 0x480cc7
inc edi
lea esi, [edx + 1]
mov eax, 0x2e
cmp edi, 4
jl 0x480c64
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
sub esp, 0xc
mov ax, word [esi + 0xc]
mov word [esp + 0x60], ax
call fcn.0045c670
add esp, 0xc
mov dword [esi], eax
test eax, eax
jne 0x480cfc
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.0062e5ad
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
mov dword [eax + 0x858], 0x45cf40
mov esi, dword [esi]
push 0x10000
movaps xmmword [esp + 0x44], xmm0
call dword [0x6d4188]
add esp, 4
test eax, eax
jne 0x480d97
call dword [0x6d4190]
movaps xmm0, xmmword [0x6c6d70]
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
mov word [esp + 0x3c], 6
movaps xmm0, xmmword [0x6c6da0]
movups xmmword [esp + 0x2c], xmm0
nop dword [eax]
mov al, byte [esp + 0x1c]
xor byte [esp + ecx + 0x1d], al
inc ecx
cmp ecx, 0x20
jb 0x480d50
lea eax, [esp + 0x1d]
mov byte [esp + 0x3d], 0
push eax
sub esp, 0x18
mov ecx, esp
push 2
push 0x6c3194
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.0044e760
call fcn.00481200
add esp, 0x1c
jmp 0x480dd9
mov ecx, dword [esi + 0x85c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x45b7b0
mov dword [esp + 0x48], 0x45bdd0
mov dword [esp + 0x4c], 0x45b740
test ecx, ecx
je 0x480dcd
mov eax, dword [esi + 0x868]
test eax, eax
je 0x480dcd
push ecx
call eax
add esp, 4
movups xmm0, xmmword [esp + 0x40]
movups xmmword [esi + 0x85c], xmm0
movaps xmm0, xmmword [str.g_L:G__]
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
mov dword [esp + 0x2c], 0x47140e47
mov dword [esp + 0x30], 0x9091215
mov dword [esp + 0x34], 0x90e
nop
mov al, byte [esp + 0x1c]
xor byte [esp + ecx + 0x1d], al
inc ecx
cmp ecx, 0x1a
jb 0x480e00
lea eax, [esp + 0x1d]
mov byte [esp + 0x37], 0
push eax
sub esp, 0x18
mov ecx, esp
push 2
push 0x6c4ae4
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.0044e760
call fcn.00481200
mov ecx, dword [esp + 0x78]
add esp, 0x1c
mov al, 1
pop edi
pop esi
xor ecx, esp
call fcn.0062e5ad
mov esp, ebp
pop ebp
ret