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

Disassembly:
mov ecx, dword [0x8c8664]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x642b01
sub esp, 0xf8
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x60]
test ecx, ecx
je 0x64264d
mov dword [esp], ecx
call sym.crypto_tls._Config_.Clone
mov eax, dword [esp + 4]
jmp 0x64265f
lea eax, [0x6a3ba0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x44]
test ecx, ecx
jne 0x64269a
mov ecx, dword [esp + 0x10c]
mov dword [eax + 0x44], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x642683
mov ecx, dword [esp + 0x108]
jmp 0x642697
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x108]
mov dword [edi], ecx
mov edx, dword [eax + 0x40]
mov dword [edi + 4], edx
mov dword [eax + 0x40], ecx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0xfc]
movzx edx, byte [ecx + 0x24]
test dl, dl
je 0x6426d6
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov edx, dword [0x8c87a0]
test edx, edx
je 0x6426cf
mov edx, dword [eax + 0x34]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 0x34], 0
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x64], eax
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x84], edx
nop
lea ebx, [0x6a6700]
mov dword [esp], ebx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [0x8c87a0]
test edx, edx
jne 0x642717
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x78]
jmp 0x64272c
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x84]
mov dword [edi], edx
mov ebx, dword [esp + 0x78]
mov dword [edi + 4], ebx
mov dword [esp + 0x7c], eax
mov dword [eax + 4], edx
mov dword [eax + 0x2c], ebx
mov byte [eax + 8], 1
lea ecx, [0x67b9a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.crypto_tls._Conn_.clientHandshake_fm]
mov dword [eax], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x642764
mov ecx, dword [esp + 0x7c]
jmp 0x642778
call sym.runtime.gcWriteBarrier3
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov edx, dword [ecx + 0xc]
mov dword [edi + 8], edx
mov dword [eax + 4], ecx
mov dword [ecx + 0xc], eax
lea eax, [0x66c7a0]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.makechan
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x68]
mov ebx, dword [esp + 8]
mov dword [esp + 0x88], ebx
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test edx, edx
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6427cd
xor ecx, ecx
jmp 0x642831
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x67bf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.net_http._persistConn_.addTLS.func1]
mov dword [eax], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x642802
mov ecx, dword [esp + 0x88]
jmp 0x642810
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x88]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.time.AfterFunc
mov eax, dword [esp + 0xc]
mov ecx, eax
mov dword [esp + 0x80], ecx
lea eax, [0x6917a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.net_http._persistConn_.addTLS.func2]
mov dword [eax], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x64287e
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x88]
jmp 0x6428b1
call sym.runtime.gcWriteBarrier5
mov ecx, dword [esp + 0x110]
mov dword [edi], ecx
mov edx, dword [esp + 0x7c]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x104]
mov dword [edi + 8], ebx
mov ebp, dword [esp + 0x80]
mov dword [edi + 0xc], ebp
mov esi, dword [esp + 0x88]
mov dword [edi + 0x10], esi
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov edi, dword [esp + 0x100]
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], esi
mov dword [esp], eax
call sym.runtime.newproc
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x88]
mov dword [esp], eax
lea ecx, [esp + 0xec]
mov dword [esp + 4], ecx
call sym.runtime.chanrecv1
mov eax, dword [esp + 0xec]
test eax, eax
je 0x6429e4
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x68]
lea ecx, [0x713b78]
cmp eax, ecx
jne 0x64298b
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
lea edx, [0x8c8520]
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
jne 0x642970
mov eax, dword [esp + 0x68]
jmp 0x64298b
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.chanrecv1
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x110]
test ecx, ecx
je 0x6429c8
mov edx, dword [ecx + 0x2c]
test edx, edx
je 0x6429c8
mov ecx, dword [edx]
mov dword [esp + 0x74], ecx
lea edi, [esp]
mov ebx, eax
xor eax, eax
call fcn.0046c889
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x60], ecx
mov ebp, dword [esp + 0x74]
call ebp
mov eax, dword [esp + 0x68]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x118], eax
add esp, 0xf8
ret
lea eax, [0x69c760]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
call sym.crypto_tls._Conn_.ConnectionState
lea edi, [esp + 0x90]
lea esi, [esp + 4]
call fcn.0046ccca
mov eax, dword [0x8c87a0]
test eax, eax
je 0x642a47
lea eax, [0x69c760]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
lea ecx, [esp + 0x90]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
mov edi, dword [esp + 0xf4]
lea esi, [esp + 0x90]
call fcn.0046ccca
mov eax, dword [esp + 0x110]
test eax, eax
je 0x642a8f
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x642a8f
mov eax, dword [edx]
lea edi, [esp]
mov esi, dword [esp + 0xf4]
call fcn.0046ccca
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call eax
mov eax, dword [0x8c87a0]
test eax, eax
jne 0x642aad
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x7c]
jmp 0x642ad5
call sym.runtime.gcWriteBarrier4
mov eax, dword [esp + 0xf4]
mov dword [edi], eax
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x30]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [edi + 8], edx
mov ebx, dword [ecx + 0x2c]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0x30], eax
lea eax, [0x7151ec]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
add esp, 0xf8
ret
call sym.runtime.morestack_noctxt
jmp sym.net_http._persistConn_.addTLS