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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5479c8
sub esp, 0x60
mov eax, dword [esp + 0x64]
cmp eax, 2
jne 0x54762c
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x54761f
mov eax, dword [0xc7f9ec]
mov ecx, dword [0xc7f9e8]
mov edx, dword [0xc7f9f0]
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 0x54754d
lea edx, [0x92c5c0]
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 0x547546
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, [0xc49020]
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 0x547500
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, [0x917bc0]
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 [0xc93940]
test ecx, ecx
jne 0x547607
lea ecx, [0x990bf3]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xc93940]
lea edx, [eax + 8]
test ecx, ecx
jne 0x5475f1
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0xc48ac0]
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 0x5475c3
mov dword [esp], eax
lea ecx, [0x990bf3]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x5475a8
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
jmp 0x5474a4
cmp eax, 0x17
jne 0x5478f6
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x5478a2
mov eax, dword [0xc78010]
mov ecx, dword [0xc7800c]
mov edx, dword [0xc78008]
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
cmp ecx, 4
jne 0x54788b
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 [0xc7802c]
mov ecx, dword [0xc78028]
cmp eax, 0x10
jge 0x547881
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 0x5477af
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, [0x934080]
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 0x5477a8
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, [0xc49040]
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 0x547762
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, [0x917bc0]
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 [0xc93940]
test ecx, ecx
jne 0x547869
lea ecx, [0x990c03]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xc93940]
lea edx, [eax + 8]
test ecx, ecx
jne 0x547853
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0xc48ac0]
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 0x547825
mov dword [esp], eax
lea ecx, [0x990c03]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x54780a
mov eax, 0x10
jmp 0x5476c2
cmp ecx, 0x10
jne 0x547899
mov eax, ecx
mov ecx, edx
jmp 0x547703
xor eax, eax
xor ecx, ecx
jmp 0x547703
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 [0xc7f9f0]
mov ebp, dword [0xc7f9ec]
mov esi, dword [0xc7f9e8]
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 0x547641
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
jmp 0x547653
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, [0x917bc0]
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 [0xc93940]
test ecx, ecx
jne 0x5479b0
lea ecx, [0x995764]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xc93940]
lea edx, [eax + 8]
test ecx, ecx
jne 0x54799a
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0xc48ac0]
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 0x54796c
mov dword [esp], eax
lea ecx, [0x995764]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
jmp 0x547951
call dbg.runtime.morestack_noctxt
jmp dbg.net.ipToSockaddr