Function at 0x41f640
Capabilities:
Resolve dns
Terminate process

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x30
mov ebx, 0x258
mov dword [esp + 8], 0x302
mov esi, dword [ebp + 8]
mov dword [esp + 4], 0x41f551
mov dword [esp], 0x41cb50
call sym._updatecontext_f
mov dword [0x438c4c], ebx
test esi, esi
mov eax, 1
je 0x41f770
inc dword [0x438c04]
mov eax, dword [0x438d08]
mov dword [0x438c24], eax
mov eax, dword [0x438bf4]
mov dword [esp], eax
call sym._mydelete2
mov eax, dword [0x438bfc]
xor ecx, ecx
mov dword [0x438bf4], ecx
mov dword [esp], eax
call sym._mydelete2
mov eax, dword [0x438c00]
xor edx, edx
mov dword [0x438bfc], edx
mov dword [esp], eax
call sym._mydelete2
xor eax, eax
mov dword [0x438c00], eax
mov eax, dword [esi]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0x30f
inc eax
mov dword [esp + 8], 0x41cb50
mov dword [esp + 4], 0x41f551
mov dword [esp], eax
call sym._mycalloc2
mov dword [0x438bf4], eax
mov ebx, eax
mov eax, dword [esi]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._strcpy
movzx ecx, word [esi + 4]
mov eax, dword [esi + 8]
test eax, eax
mov word [0x438bf8], cx
jne 0x41fa81
mov dword [esp + 0xc], 0x318
mov dword [esp + 8], 0x41cb50
mov dword [esp + 4], 0x41f551
mov dword [esp], 0x200
call sym._mycalloc2
mov esi, eax
mov eax, dword [0x4389e0]
cmp eax, 2
je 0x41fa32
cmp eax, 2
ja 0x41f9be
dec eax
je 0x41f777
mov dword [esp], esi
call sym._mydelete2
mov eax, 1
add esp, 0x30
pop ebx
pop esi
pop ebp
ret
mov dword [esp + 8], 0x41f55c
mov dword [esp + 4], 0x1ff
mov dword [esp], esi
call sym._snprintf
movzx ecx, word [0x438bf8]
mov ebx, dword [0x438bf4]
mov word [0x438c10], cx
mov dword [0x438c0c], ebx
mov edx, dword [0x438a34]
test edx, edx
je 0x41f986
mov dword [esp + 0x28], esi
movzx eax, dl
mov dword [esp + 0x24], eax
movzx eax, dh
shr edx, 0x10
mov dword [esp + 0x20], eax
movzx eax, dl
shr edx, 8
mov dword [esp + 0x1c], eax
movzx eax, cx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x41f570
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
mov dword [esp], esi
call sym._mydelete2
mov eax, dword [0x438c1c]
test eax, eax
jne 0x41f94a
mov dword [esp + 0xc], 0x438c14
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], 1
call sym._socketpair
test eax, eax
js 0x41f92d
call sym._fork
test eax, eax
js 0x41f901
test eax, eax
jne 0x41f8d7
mov ebx, 3
cmp ebx, dword [0x438c18]
je 0x41f870
mov dword [esp], ebx
call sym._close
inc ebx
cmp ebx, 0xfe
jle 0x41f860
mov eax, dword [0x438c0c]
mov dword [esp], eax
call sym._gethostbyname
test eax, eax
je 0x41f8ce
mov dword [esp + 8], 4
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [0x438c18]
mov dword [esp], eax
call sym._write
cmp eax, 4
je 0x41f8b9
mov dword [esp], 0xb
call sym._exit
mov dword [esp], 0x3c
call sym._sleep
mov dword [esp], 0
jmp 0x41f8b4
mov dword [esp], 0xa
jmp 0x41f8b4
mov dword [0x438c1c], eax
mov eax, dword [0x438c18]
mov dword [esp], eax
call sym._close
xor eax, eax
mov dword [0x438c18], eax
mov eax, 1
mov dword [0x438c20], eax
xor eax, eax
jmp 0x41f770
call sym.___errno
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov dword [esp + 8], eax
mov dword [esp + 4], 0x41f5a6
mov dword [esp], 1
call sym._outerror
jmp 0x41f76b
call sym.___errno
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov dword [esp + 8], eax
mov dword [esp + 4], 0x41f5b1
jmp 0x41f91c
mov eax, dword [0x438c14]
mov dword [esp], eax
call sym._close
mov ecx, dword [0x438c14]
mov eax, 0xfffffffe
mov edx, ecx
and ecx, 0x1f
shr edx, 5
rol eax, cl
and dword [edx*4 + 0x438d18], eax
xor eax, eax
mov dword [0x438c14], eax
xor eax, eax
mov dword [0x438c1c], eax
jmp 0x41f81e
mov dword [esp + 0x18], esi
movzx eax, cx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x41f5d0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
jmp 0x41f809
cmp eax, 3
je 0x41fa21
cmp eax, 4
jne 0x41f763
movzx eax, word [0x4389e8]
mov dword [esp + 8], 0x41f5f1
mov dword [esp + 0x10], eax
mov eax, dword [0x4389e4]
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x1ff
mov dword [esp], esi
call sym._snprintf
movzx ecx, word [0x438bf8]
mov eax, dword [0x4389e4]
mov ebx, dword [0x438bf4]
mov dword [0x438c0c], eax
movzx eax, word [0x4389e8]
mov word [0x438c10], ax
jmp 0x41f7a9
movzx eax, word [0x4389e8]
mov dword [esp + 8], 0x41f604
jmp 0x41f9db
mov eax, dword [0x4389f0]
test eax, eax
je 0x41fa6d
mov dword [esp + 0x14], eax
movzx eax, word [0x4389e8]
mov dword [esp + 8], 0x41f618
mov dword [esp + 4], 0x1ff
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov eax, dword [0x4389e4]
mov dword [esp + 0xc], eax
call sym._snprintf
jmp 0x41f9f8
movzx eax, word [0x4389e8]
mov dword [esp + 8], 0x41f630
jmp 0x41f9db
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0x314
inc eax
mov dword [esp + 8], 0x41cb50
mov dword [esp + 4], 0x41f551
mov dword [esp], eax
call sym._mycalloc2
mov dword [0x438bfc], eax
mov edx, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._strcpy
jmp 0x41f723