Function at 0x4100ec
Capabilities:
Reference 114dns dns server

Disassembly:
push 0
mov eax, 0x465247
call fcn.00435814
mov esi, ecx
mov eax, dword [ebp + 8]
cmp dword [esi + 0xac], eax
je 0x41049e
xor ebx, ebx
mov dword [esi + 0xac], eax
cmp eax, 1
jne 0x41016a
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0x14]
push ebx
push 0x50
push 7
push str.IDB_DNS_STATUS_SAFE
lea ecx, [edi + 0x70]
mov dword [edi + 0x80], eax
call fcn.0042754c
lea ecx, [edi + 0x70]
call fcn.004097cc
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
mov edi, 0x49a753
push edi
call dword [eax + 0x48]
push edi
jmp 0x4102b9
cmp eax, 2
jne 0x4101c6
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0x14]
push ebx
push 0x50
push 8
push str.IDB_DNS_STATUS_DANGER
lea ecx, [edi + 0x70]
mov dword [edi + 0x80], eax
call fcn.0042754c
lea ecx, [edi + 0x70]
call fcn.004097cc
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push 0xc43b2b
call dword [eax + 0x48]
push 0x2b3bc4
jmp 0x4102b9
cmp eax, ebx
jne 0x410209
mov edi, dword [esi + 0x78]
push dword [edi + 0x84]
push dword [edi + 0x80]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [edi + 0x78], ebx
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x48]
push ebx
jmp 0x4102b9
cmp eax, 3
jne 0x410262
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0x14]
push 1
push 0x50
push 0xc
push str.IDB_DNS_STATUS_LOADING
lea ecx, [edi + 0x70]
mov dword [edi + 0x80], eax
call fcn.0042754c
lea ecx, [edi + 0x70]
call fcn.004097cc
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push 0xee8100
call dword [eax + 0x48]
push 0x81ee
jmp 0x4102b9
cmp eax, 4
jne 0x4102c4
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0x14]
push ebx
push 0x50
push 8
push 0x46cf58
lea ecx, [edi + 0x70]
mov dword [edi + 0x80], eax
call fcn.0042754c
lea ecx, [edi + 0x70]
call fcn.004097cc
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx]
push 0xf16409
call dword [eax + 0x48]
push 0x964f1
mov ecx, dword [esi + 0x9c]
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, esi
call fcn.00408ea1
xor edi, edi
inc edi
mov ecx, esi
cmp eax, edi
jne 0x4102dd
push ebx
call fcn.0040ab58
push edi
jmp 0x4102e4
push edi
call fcn.0040ab58
push ebx
push edi
mov ecx, esi
call fcn.0040aaba
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x78]
mov eax, dword [esi + 0xac]
cmp eax, ebx
je 0x4104c6
cmp dword [ebp + 0xc], ebx
je 0x4104c6
cmp eax, 3
je 0x4104c6
cmp dword [esi + 0xb0], 3
je 0x4104c6
mov eax, dword [esi + 0xe4]
cmp eax, ebx
je 0x410399
cmp dword [esi + 0xe8], ebx
je 0x410395
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push str.114.114.115.115
call fcn.004076dd
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
mov edi, str.114.114.114.114
push edi
mov dword [ebp - 4], ebx
call fcn.004076dd
mov eax, dword [esi + 0xd8]
or dword [ebp - 4], 0xffffffff
push eax
mov ecx, 0x483dfc
call fcn.0040e9c1
push 1
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push edi
mov dword [esi + 0xe4], ebx
call fcn.004076dd
mov ecx, esi
call fcn.0040a841
push 1
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push str.114.114.115.115
jmp 0x4103e5
cmp eax, ebx
jne 0x4103fd
cmp dword [esi + 0xe8], ebx
je 0x4103f9
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
mov edi, str.114.114.115.115
push edi
call fcn.004076dd
push ecx
mov eax, esp
mov dword [ebp + 0xc], esp
push eax
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.0040a801
mov eax, dword [esi + 0xd8]
or dword [ebp - 4], 0xffffffff
push eax
mov ecx, 0x483dfc
call fcn.0040e9c1
push 1
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push edi
mov dword [esi + 0xe8], ebx
call fcn.004076dd
mov ecx, esi
call fcn.00410046
jmp 0x41045b
cmp eax, ebx
je 0x41045b
cmp dword [esi + 0xe8], ebx
jne 0x41045b
push ecx
mov eax, esp
mov dword [ebp + 8], esp
push eax
mov ecx, esi
call fcn.0040a821
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
mov edi, str.114.114.114.114
push edi
mov dword [ebp - 4], 2
call fcn.004076dd
mov eax, dword [esi + 0xd8]
or dword [ebp - 4], 0xffffffff
push eax
mov ecx, 0x483dfc
call fcn.0040e9c1
push 1
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push edi
mov dword [esi + 0xe4], ebx
call fcn.004076dd
mov ecx, esi
call fcn.0040a841
push dword [0x485eac]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4104c6
push dword [0x485eac]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4104c6
mov ecx, esi
call fcn.00408ea1
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x6c]
push eax
push 0x402
push dword [0x485eac]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x4104c6
call fcn.00408ea1
xor edi, edi
inc edi
mov ecx, esi
cmp eax, edi
jne 0x4104b6
push 0
call fcn.0040ab58
push edi
jmp 0x4104be
push edi
call fcn.0040ab58
push 0
push edi
mov ecx, esi
call fcn.0040aaba
call fcn.004358ec
ret 8