Function at 0x465b00
Capabilities:
Resolve dns

Disassembly:
mov eax, 0xab00
call fcn.0078c8d0
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x324]
call fcn.00469c10
mov eax, dword [ebp]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x465d64
test al, 1
jne 0x465d64
mov cl, byte [0x82c634]
test cl, cl
je 0x465b75
test al, 2
je 0x465b75
mov eax, dword [ebp + 0x2248]
xor esi, esi
test eax, eax
jle 0x465b75
lea edi, [ebp + 0x212c]
mov eax, dword [ebp + 0x223c]
push edi
lea ecx, [eax + esi*8]
call fcn.00469a40
test al, al
je 0x465c67
mov eax, dword [ebp + 0x2248]
inc esi
cmp esi, eax
jl 0x465b53
mov edi, str.mangler2.westwood.com
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, 0x10e1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0x1c]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
jle 0x465bd9
mov edx, dword [ebp + 0x2120]
lea ecx, [esp + 0x24]
push ecx
push edx
mov ecx, 0x82c5a8
call fcn.0046bd80
test al, al
je 0x465bd9
mov eax, dword [ebp + 0x2120]
mov ecx, 0x82c5a8
push eax
call fcn.0046bf20
test ax, ax
je 0x465bd9
mov ebx, eax
lea ecx, [esp + 0x24]
push ecx
call sub.WSOCK32.dll_gethostbyname
test eax, eax
je 0x465d64
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x10]
call fcn.00469910
lea edx, [esp + 0x18]
push ebx
push edx
lea ecx, [esp + 0x18]
call fcn.00469960
push 0
mov ecx, ebp
call fcn.00464840
mov ebx, eax
push 0x10e1
and ebx, 0xffff
lea ecx, [esp + 0x328]
push ebx
call fcn.00469e40
test al, al
je 0x465d64
mov al, byte [0x81c644]
test al, al
jne 0x465c53
mov ecx, 0x83f450
call fcn.005ddd50
mov byte [0x81c644], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x83f450]
cmp eax, ecx
jbe 0x465c76
sub eax, ecx
jmp 0x465c7e
mov ecx, dword [ebp + 0x2254]
mov si, word [ecx + esi*2]
jmp 0x465e28
mov ecx, dword [0x83f454]
add eax, ecx
add eax, 0xbb8
xor edi, edi
mov dword [esp + 0x20], eax
mov al, byte [0x81c644]
test al, al
jne 0x465ca3
mov ecx, 0x83f450
call fcn.005ddd50
mov byte [0x81c644], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x83f450]
cmp eax, ecx
jbe 0x465cb7
sub eax, ecx
jmp 0x465cbf
mov edx, dword [0x83f454]
add eax, edx
cmp eax, dword [esp + 0x20]
jae 0x465d32
test di, di
jne 0x465d32
mov eax, dword [0x7fab38]
mov ecx, dword [esp + 0x32c]
push 0
push eax
lea edx, [esp + 0x12c]
push ecx
push edx
mov ecx, ebp
call fcn.00465e50
lea ecx, [esp + 0x10]
mov esi, eax
call fcn.004699d0
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x12c]
push esi
push ecx
lea ecx, [esp + 0x334]
call fcn.0046a220
mov eax, dword [0x7fab38]
push 0
lea edx, [esp + 0x328]
push 0x1f4
push edx
push eax
mov ecx, ebp
call fcn.00464950
mov edi, eax
jmp 0x465c89
mov ecx, dword [0x7fab38]
inc ecx
test di, di
mov dword [0x7fab38], ecx
jne 0x465d85
mov edx, dword [ebp + 0x2120]
mov ecx, dword [ebp + 0x1c]
inc edx
mov eax, edx
mov dword [ebp + 0x2120], edx
cmp eax, ecx
jl 0x465d64
mov dword [ebp + 0x2120], 0
lea ecx, [esp + 0x324]
call fcn.00469d10
mov ax, word [esp + 0xab14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xab00
ret 4
mov al, byte [esp + 0x1c]
test al, 2
je 0x465da9
lea ecx, [esp + 0x324]
call fcn.00469d10
mov ax, di
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xab00
ret 4
test al, 0x10
je 0x465dba
mov esi, dword [ebp + 8]
and edi, 0xffff
add esi, edi
jmp 0x465e0c
mov ebp, dword [ebp + 8]
cmp ebp, 0x64
jne 0x465ddd
mov ecx, dword [esp + 0xab14]
and edi, 0xffff
sub edi, ebx
and ecx, 0xffff
lea esi, [edi + ecx + 0x64]
jmp 0x465e0c
test ebp, ebp
jne 0x465deb
and edi, 0xffff
mov esi, edi
jmp 0x465e0c
mov eax, edi
and eax, 0xffff
cdq
idiv ebp
mov esi, eax
mov eax, dword [esp + 0xab14]
and eax, 0xffff
inc esi
cdq
imul esi, ebp
idiv ebp
add esi, edx
cmp esi, 0xffff
jle 0x465e1a
sub esi, 0xffff
cmp esi, 0x400
jge 0x465e28
add esi, 0x400
lea ecx, [esp + 0x324]
call fcn.00469d10
mov ax, si
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xab00
ret 4