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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x58c546
sub esp, 0x64
mov edx, dword [0x783130]
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
je 0x58c294
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x68]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x6c]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 4], edx
call dbg.net/http.hexEscapeNonASCII
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [esp], edx
lea edx, [0x6464f5]
mov dword [esp + 4], edx
mov dword [esp + 8], 8
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call dbg.net/http.Header.Set
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 3
jne 0x58c154
movzx eax, word [ecx]
cmp ax, 0x4547
jne 0x58c154
movzx eax, byte [ecx + 2]
cmp al, 0x54
je 0x58c158
add esp, 0x64
ret
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call dbg.net/http.htmlEscape
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
lea edx, [0x606720]
mov dword [esp], edx
mov edx, dword [0x788474]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
call dbg.runtime.mapaccess1_fast32
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov dword [esp], 0
lea eax, [0x646828]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
lea eax, [0x6456ab]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 2
lea eax, [0x645e08]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 6
call dbg.runtime.concatstring5
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea eax, [0x604c20]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call dbg.runtime.convT2Estring
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
lea eax, [0x60cd60]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call dbg.runtime.convI2I
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call dbg.fmt.Fprintln
jmp 0x58c154
mov eax, dword [ecx + 4]
test eax, eax
jne 0x58c524
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x58c517
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x58c50c
lea ecx, [0x6455f1]
mov edx, 1
mov ebx, dword [esp + 0x78]
test ebx, ebx
jne 0x58c4f0
mov dword [esp], ecx
mov dword [esp + 4], edx
call dbg.path.Split
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
call dbg.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov dword [esp + 0x78], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x6455f9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call dbg.strings.Index
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x58c4df
mov ecx, dword [esp + 0x78]
cmp eax, ecx
ja 0x58c53f
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x40]
add ecx, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], ecx
cmp eax, 1
jl 0x58c4d6
lea ebp, [eax - 1]
cmp ebp, eax
ja 0x58c538
mov esi, eax
sub eax, ebp
mov edi, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ebx + ebp]
cmp edi, 1
je 0x58c49a
xor eax, eax
mov byte [esp + 0x37], al
mov dword [esp], ebx
mov dword [esp + 4], esi
call dbg.path.Clean
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x37]
test dl, dl
je 0x58c493
cmp ecx, 1
jl 0x58c48a
lea edx, [ecx - 1]
cmp edx, ecx
ja 0x58c531
mov ebx, ecx
sub ecx, edx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
lea ecx, [edx + eax]
cmp ebp, 1
je 0x58c452
xor ecx, ecx
test cl, cl
je 0x58c422
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
call dbg.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x58c0ba
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
lea eax, [0x6455f1]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call dbg.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x58c3f1
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ebx
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x6455f1]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call dbg.runtime.eqstring
movzx ecx, byte [esp + 0x10]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
jmp 0x58c3ed
mov ebx, ecx
xor ecx, ecx
jmp 0x58c3ed
mov ebx, ecx
jmp 0x58c3f1
mov dword [esp + 0x3c], esi
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [0x6455f1]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call dbg.runtime.eqstring
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x58c39d
mov esi, eax
xor eax, eax
jmp 0x58c39d
mov ebx, dword [esp + 0x40]
xor edx, edx
xor ecx, ecx
mov eax, dword [esp + 0x78]
jmp 0x58c366
mov ebp, dword [esp + 0x74]
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x58c2d6
mov eax, ebp
mov ecx, ebx
jmp 0x58c316
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x58c2ca
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
jmp 0x58c0ba
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
jmp 0x58c0ba
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.net/http.Redirect