Function at 0x41f090
Capabilities:
Resolve dns

Disassembly:
push 0xffffffffffffffff
push 0x45a900
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47617c]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
xor ebp, ebp
push 0x45e274
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
call fcn.00404bc0
mov ebx, dword [esp + 0x2c]
push ebp
push ebp
push ebp
push ebp
push 0xffffffffffffffff
push ebx
push ebp
push ebp
mov dword [esp + 0x40], ebp
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea edi, [eax + 1]
push edi
call fcn.0041fdb6
mov esi, eax
add esp, 4
test esi, esi
je 0x41f11e
push edi
push ebp
push esi
call fcn.0043ecd0
add esp, 0xc
push ebp
push ebp
push edi
push esi
push 0xffffffffffffffff
push ebx
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
call dword [sym.imp.WS2_32.dll_gethostbyname]
push esi
mov ebp, eax
call fcn.0041fdb1
add esp, 4
test ebp, ebp
je 0x41f205
xor ebx, ebx
jmp 0x41f130
mov eax, dword [ebp + 0xc]
cmp dword [ebx + eax], 0
je 0x41f205
xor edi, edi
cmp word [ebp + 0xa], di
jle 0x41f1ec
lea esp, [esp]
call fcn.004218cc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x41f1fb
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
test edi, edi
mov byte [esp + 0x20], 1
jle 0x41f18d
push 1
push 0x45f1f4
lea ecx, [esp + 0x1c]
call fcn.00403820
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + ebx]
movzx eax, byte [edx + edi]
push eax
lea ecx, [esp + 0x30]
push 0x461dc8
push ecx
call fcn.00403a10
mov esi, dword [esp + 0x38]
mov eax, dword [esi - 0xc]
add esp, 0xc
push eax
push esi
lea ecx, [esp + 0x1c]
call fcn.00403820
lea eax, [esi - 0x10]
mov byte [esp + 0x20], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41f1dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movsx ecx, word [ebp + 0xa]
add edi, 1
cmp edi, ecx
jl 0x41f150
cmp dword [esp + 0x30], 1
je 0x41f205
add ebx, 4
jmp 0x41f130
push 0x80004005
call fcn.00401090
mov esi, dword [esp + 0x14]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x41f230
cmp eax, dword [esi]
jne 0x41f230
mov edx, 1
mov edi, esi
lock xadd dword [ecx], edx
jmp 0x41f26c
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x41f249
call fcn.00401150
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0043e0f0
add esp, 0x10
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
add eax, 0xfffffff0
add edi, 0x10
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov dword [esp + 0x20], edx
mov dword [esi], edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f299
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc