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

Disassembly:
mov ecx, dword [0x5dbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x4791a7
sub esp, 0x88
mov ebx, dword [esp + 0x8c]
cmp dword [ebx + 0xe0], 0x14
jl 0x478cdd
mov edx, dword [ebx + 0xdc]
cmp edx, 0x13
jb 0x47919c
mov ecx, dword [ebx + 0xd4]
add ecx, 3
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea esi, [esp + 0x3c]
cmp esi, ecx
je 0x478c81
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x10
call sym.runtime.memmove
mov ebx, dword [esp + 0x8c]
lea esi, [esp + 0x3c]
lea edi, [esp + 0x4c]
call fcn.003c7728
mov ecx, dword [ebx + 0xd8]
cmp ecx, 0x13
jbe 0x479192
mov eax, dword [ebx + 0xd4]
movzx eax, byte [eax + 0x13]
mov dword [esp + 0x38], eax
lea ecx, [0x4918c0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x38]
mov ebx, edx
xor ebp, ebp
xor esi, esi
mov edi, 0x14
jmp 0x478d0a
add esp, 0x88
ret
mov dword [edi], eax
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov esi, ebx
mov ebx, dword [esp + 0x38]
mov ebx, ebp
mov ebp, eax
mov eax, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], eax
cmp ebp, ebx
jge 0x478e32
mov ebx, dword [ecx + 0xe0]
cmp edi, ebx
jge 0x478e2b
mov dword [esp + 0x2c], ebp
mov ebp, dword [ecx + 0xd8]
cmp edi, ebp
jae 0x479189
mov ebp, dword [ecx + 0xd4]
movzx eax, byte [ebp + edi]
lea edx, [edi + eax + 1]
cmp ebx, edx
jl 0x478e24
mov ebx, dword [ecx + 0xdc]
cmp ebx, edx
jb 0x479180
lea ecx, [edi + 1]
cmp edx, ecx
jb 0x479177
mov dword [esp + 0x34], edx
mov dword [esp], 0
lea edx, [esi + 1]
mov dword [esp + 0x30], edx
sub ebx, edi
dec ebx
neg ebx
sar ebx, 0x1f
and ecx, ebx
add ecx, ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jb 0x478daf
mov ebp, dword [esp + 0x6c]
jmp 0x478df7
mov dword [esp + 0x7c], eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x4918c0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, edx
mov ebp, eax
mov edx, ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x30]
lea esi, [ebp + ebx*8 - 4]
mov dword [esi], ecx
mov esi, dword [0x5dc100]
lea edi, [ebp + ebx*8 - 8]
test esi, esi
je 0x478ce4
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ecx]
mov dword [edi + 4], esi
mov edi, ecx
jmp 0x478ce4
add esp, 0x88
ret
add esp, 0x88
ret
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], edi
lea eax, [0x4918c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
lea ecx, [0x48f120]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ebx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x4918c0]
mov edx, dword [esp + 0x78]
mov dword [edx], ecx
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x478ea9
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
mov dword [edx + 4], eax
lea eax, [0x49baa0]
mov dword [esp], eax
lea ecx, [esp + 0x4c]
mov dword [esp + 4], ecx
call sym.runtime.convTnoptr
mov eax, dword [esp + 8]
lea ecx, [0x49baa0]
mov edx, dword [esp + 0x78]
mov dword [edx + 8], ecx
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x478eea
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x48d3c0]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
je 0x478f31
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
mov eax, dword [0x5b6bb4]
mov ecx, dword [esp + 0x84]
mov dword [ecx + 4], 0x3b
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x478f5b
mov ebx, dword [ecx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x4be932]
mov dword [ecx], ebx
mov dword [esp], eax
mov dword [esp + 4], 5
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
call sym.github.com_op_go_logging._Logger_.log
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x8c]
sub dword [ecx + 0xe0], eax
mov edx, dword [ecx + 0xd8]
cmp eax, edx
ja 0x479170
mov ebx, dword [ecx + 0xd4]
mov ebp, dword [ecx + 0xdc]
mov esi, edx
sub edx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
lea eax, [ebp + ebx]
cmp esi, edx
jg 0x478fd1
mov edx, esi
test ebp, ebp
je 0x478fe5
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.memmove
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea eax, [0x49baa0]
mov dword [esp], eax
lea ecx, [esp + 0x4c]
mov dword [esp + 4], ecx
call sym.runtime.convTnoptr
mov eax, dword [esp + 8]
mov dword [esp + 0x74], eax
lea ecx, [0x49baa0]
mov dword [esp], ecx
lea edx, [esp + 0x5c]
mov dword [esp + 4], edx
call sym.runtime.convTnoptr
mov eax, dword [esp + 8]
lea ecx, [0x49baa0]
mov dword [esp], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call sym.reflect.DeepEqual
movzx eax, byte [esp + 0x10]
test al, al
je 0x479131
lea eax, [0x4918c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
lea ecx, [0x48ed80]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ebx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x4918c0]
mov edx, dword [esp + 0x70]
mov dword [edx], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
je 0x4790d7
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 4]
mov dword [edi + 4], ecx
mov dword [edx + 4], eax
mov eax, dword [0x5b6bb4]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 4], 0x4f
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x479101
mov ebx, dword [ecx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x4bf17d]
mov dword [ecx], ebx
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call sym.github.com_op_go_logging._Logger_.log
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
call sym.infatica_agent_serverlist._ServerList_.HandleExtraServersList
add esp, 0x88
ret
mov ecx, edx
call sym.runtime.panicSliceB
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, edx
mov edx, ebx
call sym.runtime.panicSliceAcap
mov eax, edi
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, 0x13
call sym.runtime.panicIndex
mov ecx, 0x13
call sym.runtime.panicSliceAcap
nop
call sym.runtime.morestack_noctxt
jmp sym.infatica_agent_servers._ServerConnection_.handleProxyRxConnResp