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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x504d08
sub esp, 0x60
mov eax, dword [esp + 0x64]
cmp eax, 2
jne 0x50496c
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x50495f
mov eax, dword [0x7d228c]
mov ecx, dword [0x7d2288]
mov edx, dword [0x7d2290]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call dbg.net.IP.To4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x50488d
lea edx, [0x615100]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
test byte [eax], al
lea ecx, [eax + 4]
test byte [ecx], al
mov edx, dword [esp + 0x2c]
cmp edx, 4
jge 0x504886
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call dbg.runtime.memmove
lea eax, [0x724f70]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x60
ret
mov edx, 4
jmp 0x504840
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
call dbg.net.IP.String
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x60bba0]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov dword [eax + 4], 0x10
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x504947
lea ecx, [0x63b5da]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x7e38e0]
lea edx, [eax + 8]
test ecx, ecx
jne 0x504931
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x724bb0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x60
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x504903
mov dword [esp], eax
lea ecx, [0x63b5da]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x5048e8
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
jmp 0x5047e4
cmp eax, 0x17
jne 0x504c36
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x504be2
mov eax, dword [0x7ce040]
mov ecx, dword [0x7ce03c]
mov edx, dword [0x7ce038]
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
cmp ecx, 4
jne 0x504bcb
movzx ebx, byte [edx + 1]
mov byte [esp + 0x1e], bl
movzx ebp, byte [edx + 2]
xchg ebp, eax
mov byte [esp + 0x1d], al
xchg ebp, eax
movzx esi, byte [edx + 3]
xchg esi, eax
mov byte [esp + 0x1c], al
xchg esi, eax
movzx edi, byte [edx]
xchg edi, eax
mov byte [esp + 0x1f], al
xchg edi, eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov eax, dword [0x7ce05c]
mov ecx, dword [0x7ce058]
cmp eax, 0x10
jge 0x504bc1
lea edx, [esp + 0x34]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call dbg.runtime.memmove
movzx eax, byte [esp + 0x1f]
mov byte [esp + 0x40], al
movzx eax, byte [esp + 0x1e]
mov byte [esp + 0x41], al
movzx eax, byte [esp + 0x1d]
mov byte [esp + 0x42], al
movzx eax, byte [esp + 0x1c]
mov byte [esp + 0x43], al
mov eax, 0x10
lea ecx, [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x504aef
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
call dbg.net.zoneToInt
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
lea ecx, [0x618b80]
mov dword [esp], ecx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
test byte [eax], al
lea ecx, [eax + 8]
test byte [ecx], al
mov edx, dword [esp + 0x28]
cmp edx, 0x10
jge 0x504ae8
mov dword [esp], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call dbg.runtime.memmove
lea eax, [0x724f90]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x60
ret
mov edx, 0x10
jmp 0x504aa2
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
call dbg.net.IP.String
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x60bba0]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov dword [eax + 4], 0x10
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x504ba9
lea ecx, [0x63b5ea]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x7e38e0]
lea edx, [eax + 8]
test ecx, ecx
jne 0x504b93
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x724bb0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x60
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x504b65
mov dword [esp], eax
lea ecx, [0x63b5ea]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x504b4a
mov eax, 0x10
jmp 0x504a02
cmp ecx, 0x10
jne 0x504bd9
mov eax, ecx
mov ecx, edx
jmp 0x504a43
xor eax, eax
xor ecx, ecx
jmp 0x504a43
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov ebx, dword [0x7d2290]
mov ebp, dword [0x7d228c]
mov esi, dword [0x7d2288]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
call dbg.net.IP.Equal
movzx eax, byte [esp + 0x18]
test al, al
jne 0x504981
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
jmp 0x504993
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
call dbg.net.IP.String
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x60bba0]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov dword [eax + 4], 0x16
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x504cf0
lea ecx, [0x63d8ef]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x7e38e0]
lea edx, [eax + 8]
test ecx, ecx
jne 0x504cda
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x724bb0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x60
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x504cac
mov dword [esp], eax
lea ecx, [0x63d8ef]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x504c91
call dbg.runtime.morestack_noctxt
jmp dbg.net.ipToSockaddr