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

Disassembly:
mov ecx, dword [0x84d0e8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x57aae0
sub esp, 0x7c
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
xor eax, eax
xor ecx, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x70], eax
xor ecx, ecx
mov dword [esp + 0x58], ecx
xor esi, esi
mov dword [esp + 0x78], esi
xor esi, esi
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
xor eax, eax
xor ecx, ecx
xor esi, esi
jmp 0x57a270
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
mov ecx, edi
mov edi, eax
mov dword [esp + 0x70], ebp
mov eax, dword [esp + 0x50]
movzx ebp, word [esp + 0x32]
mov word [esp + 0x32], bp
cmp edx, eax
jle 0x57a8b1
jb 0x57aad8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ecx
mov ecx, dword [0x801f5c]
mov dword [esp], ecx
sub edx, eax
mov dword [esp + 0x54], edx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, eax
add edx, ebx
mov dword [esp + 0x74], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call sym.vendor_golang.org_x_net_idna._idnaTrie_.lookupString
mov eax, dword [esp + 0x10]
test eax, eax
je 0x57a79a
mov dword [esp + 0x34], eax
movzx edx, word [esp + 0xc]
mov word [esp + 0x30], dx
movzx ebx, word [esp + 0x32]
or ebx, edx
mov word [esp + 0x32], bx
movzx ebp, byte [esp + 0x2f]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x57a2f6
mov ecx, 1
jmp 0x57a324
mov word [esp], dx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
call sym.vendor_golang.org_x_net_idna.info.isBidi
movzx eax, byte [esp + 0xc]
movzx edx, word [esp + 0x30]
movzx ebx, word [esp + 0x32]
mov ecx, eax
mov eax, dword [esp + 0x34]
mov ebp, edx
and edx, 3
mov esi, dword [esp + 0x3c]
lea edi, [eax + esi]
test dx, dx
jne 0x57a33d
mov edx, ebp
and edx, 0xf8
cmp dx, 3
ja 0x57a388
cmp dx, 2
jne 0x57a366
mov edx, dword [esp + 0x80]
movzx eax, byte [edx + 1]
test al, al
je 0x57a35f
mov eax, 0x40
jmp 0x57a3cf
mov eax, 1
jmp 0x57a3cf
cmp dx, 3
jne 0x57a3c6
mov edx, dword [esp + 0x80]
movzx eax, byte [edx]
test al, al
je 0x57a381
mov eax, 3
jmp 0x57a3cf
mov eax, 8
jmp 0x57a3cf
cmp dx, 0x18
je 0x57a394
cmp dx, 0x28
jne 0x57a3a2
mov edx, dword [esp + 0x80]
mov eax, 8
jmp 0x57a3cf
cmp dx, 0x80
jne 0x57a3c6
mov edx, dword [esp + 0x80]
movzx eax, byte [edx + 1]
test al, al
je 0x57a3bf
mov eax, 0x40
jmp 0x57a3cf
mov eax, 8
jmp 0x57a3cf
mov eax, edx
mov edx, dword [esp + 0x80]
mov byte [esp + 0x2f], cl
mov dword [esp + 0x50], edi
cmp ax, 3
ja 0x57a637
test ax, ax
je 0x57a522
cmp ax, 1
je 0x57a3fa
cmp ax, 3
jne 0x57a6c8
mov eax, dword [esp + 0x38]
cmp eax, esi
ja 0x57aad1
sub esi, eax
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x40]
lea ecx, [edx + esi]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x84]
add eax, esi
mov ebx, dword [esp + 0x44]
cmp ebx, ecx
jae 0x57a473
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
lea ecx, [0x619aa0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x70], eax
mov ebx, esi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ecx
mov ebp, dword [esp + 0x70]
add edx, ebp
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call sym.runtime.memmove
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jb 0x57aacc
mov eax, dword [esp + 0x3c]
cmp eax, ecx
ja 0x57aac7
movzx ecx, word [esp + 0x30]
mov word [esp], cx
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov eax, dword [esp + 0x84]
add ecx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call sym.vendor_golang.org_x_net_idna.info.appendMapping
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x80]
movzx ebx, word [esp + 0x32]
mov ebp, eax
mov eax, edi
mov edi, dword [esp + 0x50]
jmp 0x57a251
mov eax, dword [esp + 0x38]
cmp eax, esi
ja 0x57aac0
sub esi, eax
mov dword [esp + 0x54], esi
mov ebp, dword [esp + 0x40]
lea edx, [ebp + esi]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x84]
add eax, esi
mov esi, dword [esp + 0x44]
cmp esi, edx
jae 0x57a59a
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
lea ecx, [0x619aa0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x70]
lea ebx, [ecx + ebp]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
lea ecx, [eax + 3]
mov edx, dword [esp + 0x4c]
cmp edx, ecx
jb 0x57a5d2
mov ebx, dword [esp + 0x70]
jmp 0x57a60c
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
lea eax, [0x619aa0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, eax
mov edx, esi
mov eax, dword [esp + 0x48]
mov word [ebx + eax], 0xbfef
mov byte [ebx + eax + 2], 0xbd
mov edi, dword [esp + 0x50]
mov esi, edx
mov eax, ecx
mov ebp, ebx
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x80]
movzx ebx, word [esp + 0x32]
jmp 0x57a251
cmp ax, 8
jne 0x57a652
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x70]
jmp 0x57a251
cmp ax, 0x40
jne 0x57a6c2
mov ebp, dword [esp + 0x58]
test ebp, ebp
je 0x57a666
mov eax, dword [esp + 0x78]
jmp 0x57a6a5
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call sym.unicode_utf8.DecodeRuneInString
mov eax, dword [esp + 8]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x80]
movzx ebx, word [esp + 0x32]
mov edi, dword [esp + 0x50]
lea ebp, [0x6aaa74]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x70]
jmp 0x57a251
cmp ax, 0xc0
je 0x57a6d9
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x70]
jmp 0x57a251
mov eax, dword [esp + 0x38]
cmp eax, esi
ja 0x57aab9
sub esi, eax
mov dword [esp + 0x54], esi
mov ebp, dword [esp + 0x40]
lea edx, [ebp + esi]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x84]
add eax, esi
mov esi, dword [esp + 0x44]
cmp esi, edx
jae 0x57a751
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
lea ecx, [0x619aa0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x70]
lea ebx, [ecx + ebp]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call sym.runtime.memmove
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x80]
movzx ebx, word [esp + 0x32]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x70]
jmp 0x57a251
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
ja 0x57aab4
sub ecx, eax
mov edx, dword [esp + 0x40]
lea ebx, [edx + ecx]
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
mov ecx, dword [esp + 0x84]
add eax, ecx
mov esi, dword [esp + 0x44]
cmp esi, ebx
jb 0x57a7d3
mov edi, dword [esp + 0x70]
jmp 0x57a817
mov dword [esp + 0x54], ebp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
lea eax, [0x619aa0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov edi, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x70], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0x40]
lea ecx, [eax + 3]
mov edx, dword [esp + 0x44]
cmp edx, ecx
jb 0x57a84b
mov edi, dword [esp + 0x70]
jmp 0x57a883
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
lea eax, [0x619aa0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, esi
mov word [edi + eax], 0xbfef
mov byte [edi + eax + 2], 0xbd
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x57a89c
mov eax, dword [esp + 0x78]
jmp 0x57a8a8
lea ebx, [0x6aaa74]
lea eax, [0x6a9854]
mov ebp, dword [esp + 0x88]
jmp 0x57a8c3
mov ebp, ecx
mov edx, esi
mov ecx, edi
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
mov dword [esp + 0x58], ebx
test ebp, ebp
jne 0x57a927
movzx ecx, word [esp + 0x32]
test cx, 0x2000
jne 0x57a8ee
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
jmp 0x57aa76
mov dword [esp], 0
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call sym.vendor_golang.org_x_text_unicode_norm.Form.String
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x58]
mov edx, eax
mov eax, dword [esp + 0x78]
jmp 0x57aa76
mov esi, dword [esp + 0x88]
cmp esi, ebp
jb 0x57aaab
sub esi, ebp
mov dword [esp + 0x54], esi
lea eax, [esi + ecx]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov esi, dword [esp + 0x84]
add ebp, esi
cmp edx, eax
jae 0x57a995
mov dword [esp + 0x40], ecx
mov dword [esp + 0x74], ebp
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
lea ecx, [0x619aa0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x70], edi
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
call sym.runtime.memmove
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.0046c05b
mov eax, dword [esp + 0x70]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x6c], edx
mov ebx, dword [0x802f94]
test ebx, ebx
jbe 0x57aaa2
mov eax, dword [0x802f90]
mov eax, dword [eax]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x5c]
call fcn.0046c53e
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 1
call sym.vendor_golang.org_x_text_unicode_norm._formInfo_.quickSpan
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x24], eax
jne 0x57aa2a
mov edi, dword [esp + 0x70]
jmp 0x57aa52
mov dword [esp], 0
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_text_unicode_norm.Form.Bytes
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call sym.runtime.slicebytetostring
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
movzx ecx, byte [esp + 0x2f]
mov byte [esp + 0x94], cl
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], eax
add esp, 0x7c
ret
xor eax, eax
xor ecx, ecx
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, esi
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
mov ecx, esi
call sym.runtime.panicSliceB
mov ecx, esi
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAlen
mov ecx, esi
call sym.runtime.panicSliceB
mov ecx, edx
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.vendor_golang.org_x_net_idna.validateAndMap