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

Disassembly:
mov ecx, dword [0x5dbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x88]
cmp eax, dword [ecx + 8]
jbe 0x4600d1
sub esp, 0x108
mov eax, 0
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov byte [esp + 0x2e], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call sym.net._netFD_.init
mov eax, dword [esp + 4]
test eax, eax
jne 0x460057
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.003c723b
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
call edx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x2d], cl
lea edi, [esp + 0xbc]
lea esi, [esp + 4]
call fcn.003c771e
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.003c771e
movzx ecx, byte [esp + 0x2d]
test cl, cl
je 0x45f8a5
lea edi, [esp + 0x94]
lea esi, [esp + 0xbc]
call fcn.003c771e
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
test eax, 0x80000000
je 0x45f7c9
shl eax, 1
mov ebp, ecx
shl ecx, 1
mov edx, ebp
shr ebp, 0x1f
or ebp, eax
mov eax, ebp
shl ebp, 1
shr eax, 0x1f
shr ecx, 0x1f
or ecx, ebp
add ecx, 0xd7b17f80
adc eax, 0xd
jmp 0x45f7db
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov edx, ecx
mov ecx, ebp
test ecx, ecx
sete cl
test eax, eax
sete al
and eax, ecx
test al, al
je 0x45f801
test edx, 0x3fffffff
jne 0x45f801
mov eax, dword [esp + 0x10c]
xor ecx, ecx
jmp 0x45f8ae
mov eax, dword [esp + 0x10c]
test byte [eax], al
lea edi, [esp + 0x80]
lea esi, [esp + 0xa8]
call fcn.003c771e
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x80]
call fcn.003c771e
mov dword [esp + 0x18], 0x77
call sym.internal_poll.setDeadlineImpl
lea edi, [esp + 0xd0]
lea esi, [0x5b7060]
call fcn.003c771e
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.003c7239
lea eax, [sym.net._netFD_.connect.func3]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe8], eax
lea edi, [esp + 0xec]
lea esi, [esp + 0xd0]
call fcn.003c771e
lea ecx, [esp + 0xe4]
mov dword [esp + 0x104], ecx
mov byte [esp + 0x2e], 1
mov ecx, 1
jmp 0x45f8ae
mov eax, dword [esp + 0x10c]
xor ecx, ecx
mov byte [esp + 0x2f], cl
mov ebp, dword [eax + 0x144]
mov edx, dword [eax + 0x140]
cmp ebp, 3
jne 0x45f8d9
cmp word [edx], 0x6374
jne 0x45ff7e
cmp byte [edx + 2], 0x70
je 0x45f8f6
jmp 0x45ff7e
cmp ebp, 4
jne 0x45ff7e
cmp dword [edx], 0x34706374
je 0x45f8f6
cmp dword [edx], 0x36706374
jne 0x45ff7e
mov ebp, dword [esp + 0x118]
test ebp, ebp
jne 0x45f997
mov edx, dword [esp + 0x120]
test edx, edx
je 0x4600ac
mov ebx, dword [esp + 0x120]
lea ebp, [0x4e5814]
cmp ebx, ebp
jne 0x45f93f
lea eax, [0x49f000]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x4e5814]
jmp 0x45f965
lea esi, [0x4e5828]
cmp ebx, esi
jne 0x4600ac
lea eax, [0x4a1560]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x4e5828]
mov edx, dword [esp + 0x10c]
mov ebx, dword [edx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.syscall.Bind
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45fedb
mov eax, dword [esp + 0x10c]
movzx ecx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x120]
test ebp, ebp
je 0x460094
mov ebp, dword [esp + 0x120]
mov edx, eax
lea eax, [0x4e5814]
cmp ebp, eax
jne 0x45f9c9
mov eax, dword [esp + 0x124]
cmp byte [eax + 4], 0x7f
sete al
jmp 0x45fa32
lea eax, [0x4e5828]
cmp ebp, eax
jne 0x460094
mov ebx, dword [0x5b1604]
cmp ebx, 0x10
jb 0x46008a
mov eax, dword [esp + 0x124]
lea ecx, [eax + 8]
mov dword [esp + 0x74], ecx
mov esi, dword [0x5b1600]
lea edi, [esp + 0x40]
call fcn.003c7728
test byte [eax], al
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x10c]
test al, al
je 0x45fab0
mov word [esp + 0x30], 0xffff
mov byte [esp + 0x32], 1
mov edx, dword [0x5b6cd4]
mov eax, dword [edx]
call eax
movzx eax, byte [esp]
test al, al
je 0x45fa59
mov byte [esp + 0x32], 0xfe
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov dword [esp + 4], 0x98000011
lea ecx, [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x34]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call sym.internal_poll._FD_.WSAIoctl
lea eax, [0x48e6e0]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.makechan
mov eax, dword [esp + 8]
mov dword [esp + 0x68], eax
movzx ecx, byte [esp + 0x2f]
or ecx, 2
mov byte [esp + 0x2f], cl
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea edx, [sym.net._netFD_.connect.func1]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
lea edx, [esp + 0x78]
mov dword [esp + 0x100], edx
mov byte [esp + 0x2e], cl
lea edx, [0x49c8e0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.net._netFD_.connect.func2]
mov dword [eax], ecx
mov ecx, dword [esp + 0x110]
mov dword [eax + 4], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x45fb49
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x68]
jmp 0x45fb68
call sym.runtime.gcWriteBarrier3
mov ecx, dword [esp + 0x114]
mov dword [edi], ecx
mov edx, dword [esp + 0x10c]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x68]
mov dword [edi + 8], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov dword [esp], eax
call sym.runtime.newproc
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 8], ecx
call sym.internal_poll._FD_.ConnectEx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x45fdd7
mov dword [esp + 0x70], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
call ecx
mov dword [esp], 0
call sym.runtime.selectnbrecv
movzx eax, byte [esp + 8]
test al, al
jne 0x45fcb8
mov eax, dword [esp + 0x70]
lea ecx, [0x4e568c]
cmp eax, ecx
jne 0x45fc49
lea eax, [0x49a180]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x4b3425]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x45fc33
mov ecx, dword [esp + 0x5c]
jmp 0x45fc3e
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x4e57c4]
jmp 0x45fc51
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x45fc9a
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x45fcb1
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x58], edx
mov ebx, dword [esp + 8]
cmp dword [0x5b10a8], eax
jne 0x45fd33
mov dword [esp + 0x50], ebx
mov dword [esp + 0x6c], eax
mov ecx, dword [0x5b10ac]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x45fd23
lea ecx, [0x4e5850]
lea edx, [0x5dbe00]
jmp 0x45fd70
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
cmp dword [0x5b10b0], eax
jne 0x45fd70
mov ecx, dword [0x5b10b4]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x45fd68
mov ecx, dword [0x5b11c8]
mov edx, dword [0x5b11cc]
jmp 0x45fd70
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x45fdb9
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x45fdd0
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0x10c]
lea ecx, [eax + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov dword [esp + 4], 0xffff
mov dword [esp + 8], 0x7010
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 4
call sym.syscall.Setsockopt
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x45fe16
xor eax, eax
xor ecx, ecx
jmp 0x45fe74
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
lea edx, [0x49a180]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xa
lea ecx, [0x4b37e3]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x45fe5e
mov ecx, dword [esp + 0x54]
jmp 0x45fe69
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, eax
lea eax, [0x4e57c4]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x45febd
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x45fed4
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
lea edx, [0x49a180]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x4b280b]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x45ff23
mov ecx, dword [esp + 0x60]
jmp 0x45ff2e
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea ecx, [0x4e57c4]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x45ff77
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov edx, dword [0x5b0c44]
mov ecx, dword [edx]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 8], eax
call ecx
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45ffb2
xor eax, eax
xor ecx, ecx
jmp 0x460010
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
lea edx, [0x49a180]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 7
lea ecx, [0x4b2ded]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x45fffa
mov ecx, dword [esp + 0x64]
jmp 0x460005
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, eax
lea eax, [0x4e57c4]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x460050
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
add esp, 0x108
ret
mov edx, 0x10
call sym.runtime.panicSliceConvert
lea eax, [0x4918c0]
mov dword [esp], eax
lea eax, [0x4e5180]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x4918c0]
mov dword [esp], eax
lea eax, [0x4e5180]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.deferreturn
add esp, 0x108
ret
call sym.runtime.morestack_noctxt
jmp sym.net._netFD_.connect