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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x614d99
sub esp, 0x74
lea eax, [0x660420]
mov dword [esp], eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
lea ebx, [edx + ecx]
mov dword [esp + 0x34], ebx
mov dword [esp + 8], ebx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x34]
cmp ecx, edx
ja 0x6149ad
mov ebx, ecx
jmp 0x6149e0
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x50], eax
mov dword [esp], eax
mov ebp, dword [esp + 0x98]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x90]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x34]
cmp ebx, edx
jb 0x614a1f
mov ebp, dword [esp + 0x50]
jmp 0x614a5c
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x660420]
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 ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x50], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.memmove
lea eax, [0x660420]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
shl eax, 1
mov edx, dword [esp + 0xa8]
lea eax, [eax + edx*2]
mov ebx, dword [esp + 0xac]
lea eax, [eax + ebx*2]
mov dword [esp + 0x38], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
movzx eax, word [esp + 0x78]
lea ecx, [eax - 0x301]
mov edx, dword [esp + 0xc]
cmp cx, 1
ja 0x614ad5
lea eax, [0x6aca54]
jmp 0x614b41
cmp ax, 0x303
jne 0x614d80
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0x14]
test eax, 8
je 0x614b18
nop
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea eax, [sym.crypto_tls.keysFromMasterSecret.prfForVersion.prfAndHashForVersion.prf12.func1]
mov dword [esp + 0x6c], eax
lea eax, [0x6aca1c]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x6c]
jmp 0x614b41
nop
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea eax, [sym.crypto_tls.keysFromMasterSecret.prfForVersion.prfAndHashForVersion.prf12.func2]
mov dword [esp + 0x64], eax
lea eax, [0x6aca18]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x60], edx
mov ecx, dword [eax]
mov ebx, dword [str.key_expansion]
mov ebp, dword [0x8543b4]
mov esi, dword [0x8543b8]
mov dword [esp], edx
mov edi, dword [esp + 0x38]
mov dword [esp + 4], edi
mov dword [esp + 8], edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x2c], ebx
mov edx, eax
call ecx
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x38]
cmp ecx, edx
ja 0x614d7b
mov ebx, edx
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x60]
add ebx, esi
cmp ecx, ebp
ja 0x614d74
ja 0x614d6b
mov dword [esp + 0x4c], ebp
sub ebp, ecx
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
add ebp, ebx
mov edi, dword [esp + 0xa8]
cmp edi, eax
ja 0x614d62
ja 0x614d59
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], ebp
sub eax, edi
mov dword [esp + 0x3c], eax
neg eax
sar eax, 0x1f
and eax, edi
add eax, ebp
mov ebp, dword [esp + 0x3c]
cmp edi, ebp
ja 0x614d50
ja 0x614d47
mov dword [esp + 0x5c], ebx
sub ebp, edi
mov dword [esp + 0x44], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
add ebp, eax
mov edi, dword [esp + 0xac]
mov ebx, dword [esp + 0x44]
cmp edi, ebx
ja 0x614d3e
ja 0x614d35
sub ebx, edi
mov dword [esp + 0x40], ebx
neg ebx
sar ebx, 0x1f
and ebx, edi
add ebx, ebp
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x40]
cmp edi, ebx
ja 0x614d2c
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xcc], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xe4], edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], ebx
add esp, 0x74
ret
mov ecx, edi
mov edx, ebx
call sym.runtime.panicSliceAcap
mov eax, edi
mov ecx, ebx
call sym.runtime.panicSliceB
mov ecx, edi
mov edx, ebx
call sym.runtime.panicSliceAcap
mov eax, edi
mov ecx, ebp
call sym.runtime.panicSliceB
mov ecx, edi
mov edx, ebp
call sym.runtime.panicSliceAcap
mov ecx, eax
mov eax, edi
call sym.runtime.panicSliceB
mov ecx, edi
mov edx, eax
call sym.runtime.panicSliceAcap
mov eax, ecx
mov ecx, ebp
call sym.runtime.panicSliceB
mov edx, ebp
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6628]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls.keysFromMasterSecret