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

Disassembly:
mov ecx, dword [0x5dbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x478113
sub esp, 0xa4
mov eax, 0
mov dword [esp + 0xa0], eax
mov byte [esp + 0x33], 0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0xd0]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea edx, [sym.infatica_agent_servers._ServerConnection_.runRx.func1]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0xa0], ecx
mov byte [esp + 0x33], 1
jmp 0x477a6e
mov eax, ebx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + 0x18]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jne 0x477def
call sym.time.Now
lea edi, [esp + 0x8c]
lea esi, [esp]
call fcn.003c771e
lea edi, [esp]
lea esi, [esp + 0x8c]
call fcn.003c771e
mov dword [esp + 0x18], 0xa
mov dword [esp + 0x14], 0x7a358200
call sym.time.Time.Add
lea edi, [esp + 0x78]
lea esi, [esp + 0x1c]
call fcn.003c771e
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x40], ecx
mov dword [esp], edx
lea edi, [esp + 4]
lea esi, [esp + 0x78]
call fcn.003c771e
mov ecx, dword [esp + 0x40]
call ecx
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0xd8]
mov edx, dword [eax + 0xe0]
cmp ecx, edx
jb 0x4780ff
mov ebx, dword [eax + 0x30]
mov ebp, dword [eax + 0x34]
mov ebx, dword [ebx + 0x18]
mov esi, dword [eax + 0xd4]
mov edi, dword [eax + 0xdc]
mov dword [esp], ebp
sub edi, edx
sub ecx, edx
mov ebp, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x477cd7
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
lea ecx, [0x4918c0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + 0xdc]
mov ecx, dword [eax + 0xe0]
mov ebx, dword [esp + 0x34]
lea ebp, [ebx + ecx]
mov esi, dword [esp + 4]
cmp edx, ebp
jb 0x4780f8
cmp ecx, ebp
ja 0x4780ef
mov dword [esp + 0x3c], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0xd4]
mov dword [esp + 0x5c], ecx
lea edx, [0x48f0a0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xa8]
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 + 0x3c]
mov ecx, dword [esp + 0x38]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and ecx, eax
mov eax, dword [esp + 8]
lea ebx, [0x4918c0]
mov ebp, dword [esp + 0x58]
mov dword [ebp], ebx
mov esi, dword [0x5dc100]
mov edi, dword [esp + 0x5c]
add ecx, edi
test esi, esi
je 0x477c24
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebp + 4]
mov dword [edi + 4], esi
mov dword [ebp + 4], eax
mov dword [esp], ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x48cc00]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x477c63
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 [0x5b6bb4]
mov ebx, dword [esp + 0x68]
mov dword [ebx + 4], 0x11
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x477c8a
mov ebp, dword [ebx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
lea ecx, [0x4b552b]
mov dword [ebx], ecx
mov dword [esp], eax
mov dword [esp + 4], 5
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call sym.github.com_op_go_logging._Logger_.log
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa8]
add dword [ecx + 0xe0], eax
jmp 0x477e08
mov ebx, ecx
jmp 0x477a6c
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
lea ecx, [0x4918c0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
lea ecx, [0x48f0a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x4918c0]
mov edx, dword [esp + 0x50]
mov dword [edx], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
je 0x477d4f
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 [esp + 0x54]
test eax, eax
je 0x477d5d
mov eax, dword [eax + 4]
mov dword [edx + 8], eax
mov eax, dword [0x5dc100]
test eax, eax
jne 0x477d70
mov eax, dword [esp + 0x44]
jmp 0x477d81
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x44]
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
mov eax, dword [0x5b6bb4]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], 0x17
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x477da8
mov ebx, dword [ecx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x4b7700]
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], 2
mov dword [esp + 0x14], 2
call sym.github.com_op_go_logging._Logger_.log
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov ecx, ebx
mov edx, dword [ecx + 0xe0]
cmp edx, 3
jl 0x477cd0
mov ebx, dword [ecx + 0xd8]
test ebx, ebx
jbe 0x4780e6
mov ebp, dword [ecx + 0xd4]
cmp byte [ebp], 0x1b
jne 0x477fea
cmp ebx, 1
jbe 0x4780da
movzx esi, byte [ebp + 1]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x477fea
cmp ebx, 2
jbe 0x4780ce
mov dword [esp + 0x3c], edx
movzx eax, byte [ebp + 2]
cmp al, 2
ja 0x477e80
cmp al, 1
je 0x477e76
cmp al, 2
jne 0x477ec7
mov dword [esp], ecx
call sym.infatica_agent_servers._ServerConnection_.handleProxyRxCommReq
jmp 0x477eab
mov dword [esp], ecx
call sym.infatica_agent_servers._ServerConnection_.handleProxyRxPing
jmp 0x477eab
cmp al, 7
je 0x477ea3
cmp al, 0xa
je 0x477e99
cmp al, 0xc
jne 0x477ec7
mov dword [esp], ecx
call sym.infatica_agent_servers._ServerConnection_.handleProxyRxConnResp
jmp 0x477eab
mov dword [esp], ecx
call sym.infatica_agent_servers._ServerConnection_.handleProxyRxSetLogEnabled
jmp 0x477eab
mov dword [esp], ecx
call sym.infatica_agent_servers._ServerConnection_.handleProxyRxCommClosed
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xa8]
cmp dword [ebx + 0xe0], edx
jne 0x477e06
jmp 0x477a6c
lea eax, [0x4918c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
lea ecx, [0x48f0a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xa8]
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 + 0x4c]
mov dword [edx], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
je 0x477f33
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
mov dword [edx + 4], eax
mov ebx, dword [esp + 0xa8]
mov ecx, dword [ebx + 0xd8]
cmp ecx, 2
jbe 0x4780c4
mov eax, dword [ebx + 0xd4]
movzx eax, byte [eax + 2]
lea ecx, [0x491c00]
mov dword [edx + 8], ecx
mov ecx, dword [0x5dc100]
lea ebx, [0x5a8d60]
lea eax, [ebx + eax*8]
test ecx, ecx
je 0x477f7c
mov ecx, dword [edx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [edx + 0xc], eax
mov eax, dword [0x5b6bb4]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 4], 0x32
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x477fa3
mov ebx, dword [ecx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x4bdf3c]
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], 2
mov dword [esp + 0x14], 2
call sym.github.com_op_go_logging._Logger_.log
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
lea eax, [0x4918c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
lea ecx, [0x48ed80]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x4918c0]
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
je 0x478056
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 + 0x64]
mov dword [ecx + 4], 0x23
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x47807d
mov ebx, dword [ecx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x4bb3a1]
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 byte [esp + 0x33], 0
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov eax, 2
call sym.runtime.panicIndex
mov eax, 2
mov ecx, eax
call sym.runtime.panicIndex
mov eax, 1
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, ebp
call sym.runtime.panicSliceB
mov ecx, ebp
call sym.runtime.panicSliceAcap
mov eax, edx
call sym.runtime.panicSliceB
nop
call sym.runtime.deferreturn
add esp, 0xa4
ret
call sym.runtime.morestack_noctxt
jmp sym.infatica_agent_servers._ServerConnection_.runRx