Function at 0x43a980
Capabilities:
Resolve dns

Disassembly:
push 0xffffffffffffffff
push 0x4547c0
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov eax, dword [0x467334]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov edi, dword [esp + 0x68]
xor ebx, ebx
cmp dword [edi + 0x4c], ebx
je 0x43abac
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x6c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esi + 1]
cmp ecx, eax
jae 0x43abac
lea edx, [esp + 0x20]
push edx
call fcn.0042a300
mov dword [esp + 0x60], ebx
lea eax, [esp + 0x17]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x17], bl
lea edx, [eax + 1]
jmp 0x43aa00
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43aa00
sub eax, edx
je 0x43aa15
call fcn.00439720
call fcn.00439810
push esi
mov eax, edi
call fcn.0043acd0
cmp dword [eax + 0x18], 0x10
jb 0x43aa28
mov eax, dword [eax + 4]
jmp 0x43aa2b
add eax, 4
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push ebx
push 0xf
push eax
call sub.DNSAPI.dll_DnsQuery_A
cmp eax, ebx
jne 0x43aba3
mov ebp, dword [esp + 0x18]
cmp ebp, ebx
je 0x43ab57
jmp 0x43aa55
mov esi, dword [esp + 0x6c]
cmp word [ebp + 8], 0xf
jne 0x43ab26
push esi
mov eax, edi
call fcn.0043acd0
cmp dword [eax + 0x18], 0x10
jb 0x43aa73
mov eax, dword [eax + 4]
jmp 0x43aa76
add eax, 4
mov edx, dword [ebp + 4]
push edx
push eax
call fcn.0043cd92
add esp, 8
test eax, eax
jne 0x43ab26
movzx eax, word [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x38], eax
mov eax, ecx
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
lea esi, [eax + 1]
jmp 0x43aab0
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x43aab0
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.004033f0
lea ebx, [esp + 0x38]
lea edi, [esp + 0x20]
mov byte [esp + 0x60], 1
call fcn.004054c0
xor bl, bl
mov byte [esp + 0x60], bl
cmp dword [esp + 0x54], 0x10
jb 0x43aaf0
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0043c853
add esp, 4
call fcn.004179f0
test eax, eax
je 0x43aafe
call fcn.004398e0
lea eax, [esp + 0x17]
mov byte [esp + 0x17], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43ab10
sub eax, edx
je 0x43ab20
call fcn.00438a50
mov edi, dword [esp + 0x68]
xor ebx, ebx
mov ebp, dword [ebp]
cmp ebp, ebx
jne 0x43aa51
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x43ab57
push 1
push eax
call sub.DNSAPI.dll_DnsFree
push ebx
call fcn.0043cb47
add esp, 4
push ebx
mov dword [esp + 0x1c], ebx
call fcn.0043cb47
add esp, 4
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x2c]
xor esi, esi
sar edx, 5
test edx, edx
jbe 0x43aba3
jmp 0x43ab70
mov eax, esi
lea ecx, [esp + 0x20]
call fcn.00405430
cmp dword [eax], 0xd
jne 0x43ab93
mov eax, esi
lea ecx, [esp + 0x20]
call fcn.00405430
add eax, 4
cmp dword [eax + 0x14], ebx
jne 0x43abc7
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x2c]
inc esi
sar eax, 5
cmp esi, eax
jb 0x43ab70
lea esi, [esp + 0x20]
call fcn.004053e0
mov eax, 0x80004005
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 8
mov eax, esi
lea ecx, [esp + 0x20]
call fcn.00405430
mov ecx, dword [esp + 0x6c]
mov esi, eax
push ecx
mov eax, edi
add esi, 4
call fcn.0043acd0
push 0xffffffffffffffff
add eax, 0x1c
push ebx
push esi
mov ecx, eax
call fcn.00402ea0
call fcn.00417960
test eax, eax
je 0x43ac04
call fcn.004399b0
call fcn.00432560
lea esi, [esp + 0x20]
call fcn.004053e0
xor eax, eax
jmp 0x43abb1