Function at 0x5d3340
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x644c5d
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x6a6040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], 0
call fcn.005a45d0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x5d33a8
push dword [ebp + 8]
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x10], eax
mov edx, eax
mov ecx, eax
test eax, eax
je 0x5d33af
cmp dword [eax + 0xc], 0
jne 0x5d33af
push ecx
call fcn.005a47b0
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 1
test edx, edx
je 0x5d33bf
mov ecx, dword [ecx + 0xc]
jmp 0x5d33c4
mov ecx, 0x651f68
push 0x654c3c
lea edx, [ebp - 0x18]
call fcn.005d2610
mov ecx, dword [ebp - 0x10]
mov edx, eax
add esp, 4
or ebx, 0xffffffff
test edx, edx
js 0x5d3442
test ecx, ecx
je 0x5d33f0
cmp edx, dword [ecx + 4]
jge 0x5d33f0
mov eax, dword [ecx + 0xc]
add eax, edx
jmp 0x5d33f5
mov eax, 0x651f40
cmp byte [eax], 0x3a
jne 0x5d343a
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x5d343a
mov dword [ebp + 0xc], 0
test ecx, ecx
je 0x5d3411
mov eax, dword [ecx + 0xc]
jmp 0x5d3416
mov eax, 0x651f68
lea ecx, [ebp + 0xc]
inc edx
push ecx
add eax, edx
push 0x654184
push eax
call fcn.0041abe0
mov ax, word [ebp + 0xc]
add esp, 0xc
mov edi, dword [ebp - 0x18]
mov word [esi], ax
jmp 0x5d357f
mov edi, dword [ebp - 0x18]
jmp 0x5d3582
test ecx, ecx
je 0x5d344b
mov esi, dword [ecx + 4]
jmp 0x5d344d
xor esi, esi
dec esi
test ecx, ecx
je 0x5d3457
mov eax, dword [ecx + 4]
jmp 0x5d3459
xor eax, eax
test esi, esi
js 0x5d352a
cmp esi, eax
jge 0x5d352a
test ecx, ecx
je 0x5d3472
mov edx, dword [ecx + 0xc]
jmp 0x5d3477
mov edx, 0x651f68
lea eax, [edx - 1]
add esi, edx
cmp esi, eax
jbe 0x5d352a
cmp byte [esi], 0x3a
je 0x5d3493
dec esi
cmp esi, eax
ja 0x5d3484
jmp 0x5d352a
sub esi, edx
js 0x5d352a
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x5d3527
mov dword [ebp + 0xc], 0
test ecx, ecx
je 0x5d34b6
mov eax, dword [ecx + 0xc]
jmp 0x5d34bb
mov eax, 0x651f68
lea ecx, [ebp + 0xc]
inc eax
push ecx
add eax, esi
push 0x654184
push eax
call fcn.0041abe0
mov ax, word [ebp + 0xc]
lea ecx, [ebp - 0x10]
add esp, 0xc
mov word [edi], ax
lea eax, [ebp + 8]
push esi
push eax
call fcn.005ac5a0
mov ecx, dword [ebp - 0x10]
mov edx, dword [eax]
cmp ecx, edx
je 0x5d350c
mov dword [ebp - 0x10], edx
mov dword [eax], 0
test ecx, ecx
je 0x5d3509
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5d3509
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
test edx, edx
je 0x5d3527
mov eax, ebx
lock xadd dword [edx], eax
dec eax
jne 0x5d3524
push ecx
mov ecx, edx
call fcn.005a47b0
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
test ecx, ecx
je 0x5d3533
mov eax, dword [ecx + 0xc]
jmp 0x5d3538
mov eax, 0x651f68
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov esi, eax
test esi, esi
je 0x5d35a9
mov edx, dword [esi + 0xc]
xor ecx, ecx
mov eax, dword [edx]
mov edi, dword [eax]
bswap edi
test eax, eax
je 0x5d357f
test ecx, ecx
jns 0x5d357f
mov eax, dword [edx + ecx*4]
mov eax, dword [eax]
bswap eax
mov dword [ecx*4], eax
inc ecx
mov edx, dword [esi + 0xc]
cmp dword [edx + ecx*4], 0
jne 0x5d3554
test ecx, ecx
jns 0x5d357f
mov dword [ecx*4], 0
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x5d3593
lock xadd dword [ecx], ebx
dec ebx
jne 0x5d3593
push ecx
call fcn.005a47b0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x10]
push eax
push str.gethostbyname___S__
push eax
call fcn.005abfb0
mov eax, dword [edi]
lea ecx, [ebp + 0xc]
add esp, 0xc
push ecx
mov ecx, edi
call dword [eax + 0x3c]
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.005a5da0
lea ecx, [ebp - 0x10]
mov edx, eax
call fcn.005a5da0
push edx
push 0
push eax
lea ecx, [ebp - 0x20]
call fcn.005d0fd0
push 0x6a3d34
lea eax, [ebp - 0x20]
push eax
call fcn.006089ec
int3