Function at 0x471640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x244
mov eax, dword [0x660124]
xor eax, esp
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x24c]
push ebx
mov ebx, dword [esp + 0x24c]
push esi
push edi
mov dword [esp + 0x18], ebx
mov edi, dword [ebx]
lea esi, [edi + 0x140]
mov dword [eax], 0
cmp dword [esi], 0
mov dword [esp + 0x1c], eax
jne 0x4716c3
cmp dword [edi + 0x35c], 0
jne 0x4716c3
push dword [ebx + 0x6f4]
push str.Could_not_DOH_resolve:__s
push edi
call fcn.00445020
add esp, 0xc
xor eax, eax
cmp byte [ebx + 0x51a], al
sete al
pop edi
pop esi
add eax, 5
pop ebx
mov ecx, dword [esp + 0x240]
xor ecx, esp
call fcn.005846b2
add esp, 0x244
ret
cmp dword [edi + 0x578], 0
jne 0x471903
mov dword [esp + 0xc], 0
mov ebx, 2
mov dword [esp + 0x10], 0
push dword [esi]
push dword [edi + 0x78]
call fcn.00436c00
push esi
call fcn.004403b0
add esp, 0xc
add esi, 0x21c
sub ebx, 1
jne 0x4716e5
push 0x22c
lea eax, [esp + 0x24]
push ebx
push eax
call fcn.0059e610
add esp, 0xc
mov dword [esp + 0x244], connect
lea esi, [esp + 0x20]
mov ebx, 4
nop word [eax + eax]
push 0x100
push esi
call fcn.0043b7b0
add esp, 8
add esi, 0x10
sub ebx, 1
jne 0x471730
push ebp
xor ebp, ebp
lea ebx, [edi + 0x144]
nop
mov eax, dword [ebx]
test eax, eax
je 0x4717cd
lea ecx, [esp + 0x24]
push ecx
push eax
lea esi, [ebx + 0x208]
push esi
call fcn.00498fa0
add esp, 4
push eax
push esi
call fcn.00536e50
add esp, 4
push eax
call fcn.00471a70
push esi
mov dword [esp + 0x2c], eax
mov dword [esp + ebp*4 + 0x24], eax
call fcn.0043b780
mov eax, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
je 0x4717cd
cmp eax, 0xc
ja 0x4717a2
mov ecx, dword [eax*4 + 0x5d8314]
jmp 0x4717a7
mov ecx, str.bad_error_code
push dword [edi + 0x57c]
cmp dword [ebx], 1
mov edx, str.AAAA
mov eax, 0x5d84c8
cmovne eax, edx
push eax
push ecx
push str.DOH:__s_type__s_for__s_n
push edi
call fcn.00445100
add esp, 0x14
inc ebp
add ebx, 0x21c
cmp ebp, 2
jl 0x471750
cmp dword [esp + 0x10], 0
mov ebx, 6
je 0x4717f4
cmp dword [esp + 0x14], 0
jne 0x4718d7
push dword [edi + 0x57c]
push str.DOH_Host_name:__s_n
push edi
call fcn.00445100
lea eax, [esp + 0x30]
push eax
push edi
call fcn.004724f0
push dword [edi + 0x580]
lea eax, [esp + 0x3c]
push dword [edi + 0x57c]
push eax
call fcn.00471920
mov ebp, eax
add esp, 0x20
test ebp, ebp
jne 0x471874
xor esi, esi
cmp dword [esp + 0x24c], esi
jle 0x471856
lea edi, [esp + 0x24]
nop
push edi
call fcn.0043b780
inc esi
add esp, 4
add edi, 0x10
cmp esi, dword [esp + 0x24c]
jl 0x471840
mov eax, 0x1b
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x240]
xor ecx, esp
call fcn.005846b2
add esp, 0x244
ret
cmp dword [edi + 0x80], 0
je 0x47188a
push 2
push 3
push edi
call fcn.00449e60
add esp, 0xc
push dword [edi + 0x580]
push dword [edi + 0x57c]
push ebp
push edi
call fcn.0044d1f0
add esp, 0x10
mov esi, eax
cmp dword [edi + 0x80], 0
je 0x4718b6
push 3
push edi
call fcn.00449ea0
add esp, 8
test esi, esi
jne 0x4718c5
push ebp
call fcn.00456a10
add esp, 4
jmp 0x4718d7
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [eax + 0x6fc], esi
mov eax, dword [esp + 0x20]
mov dword [eax], esi
xor esi, esi
cmp dword [esp + 0x24c], esi
jle 0x4718fc
lea edi, [esp + 0x24]
push edi
call fcn.0043b780
inc esi
add esp, 4
add edi, 0x10
cmp esi, dword [esp + 0x24c]
jl 0x4718e6
mov eax, ebx
jmp 0x47185b
mov ecx, dword [esp + 0x24c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005846b2
add esp, 0x244
ret