Function at 0x5d4660
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 0x5d5010
sub esp, 0x30
mov ebx, dword [esp + 0x34]
mov ebp, dword [ebx + 0x34]
test ebp, ebp
je 0x5d4ff7
mov ebp, dword [esp + 0x38]
cmp dword [ebx + 0x64], ebp
jge 0x5d4738
mov esi, dword [ebx + 0x78]
test esi, esi
jne 0x5d46b7
mov dword [esp], ebx
call sym.gopkg.in_yaml_2ev2.yaml_parser_determine_encoding
movzx eax, byte [esp + 4]
test al, al
je 0x5d472f
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov esi, dword [ebx + 0x60]
mov edi, dword [ebx + 0x58]
test esi, esi
jle 0x5d4713
cmp esi, edi
jge 0x5d4713
mov eax, dword [ebx + 0x5c]
mov ecx, dword [ebx + 0x54]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
mov edx, edi
sub edi, esi
lea esi, [ecx + eax]
cmp edx, edi
jg 0x5d46e1
mov edi, edx
test eax, eax
je 0x5d4705
mov dword [esp + 0x2c], edx
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call sym.runtime.memmove
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov esi, dword [ebx + 0x60]
mov dword [ebx + 0x60], 0
sub edx, esi
jmp 0x5d4722
cmp esi, edi
jne 0x5d4720
mov dword [ebx + 0x60], 0
xor edi, edi
mov edx, edi
mov esi, dword [ebx + 0x5c]
mov dword [ebx + 0x58], esi
mov eax, 1
jmp 0x5d4743
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov byte [esp + 0x3c], 1
add esp, 0x30
ret
xor eax, eax
cmp dword [ebx + 0x64], ebp
jge 0x5d47fe
mov dword [esp + 0x18], edx
test al, al
je 0x5d4760
mov esi, dword [ebx + 0x74]
cmp dword [ebx + 0x6c], esi
jne 0x5d4840
mov dword [esp], ebx
call sym.gopkg.in_yaml_2ev2.yaml_parser_update_raw_buffer
movzx eax, byte [esp + 4]
test al, al
je 0x5d47db
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
jmp 0x5d4840
mov ebx, dword [esp + 0x34]
movzx ebp, byte [ebx + 0x50]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5d4c3e
mov ebp, dword [esp + 0x38]
jmp 0x5d47c8
mov ebx, dword [esp + 0x34]
movzx ebp, byte [ebx + 0x50]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5d4d05
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
jmp 0x5d47c8
movzx ebp, byte [ebx + 0x50]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5d4d85
mov ebp, dword [esp + 0x38]
movzx esi, byte [ebx + 0x50]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5d4741
jmp 0x5d4dc5
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x5c]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
ja 0x5d482e
mov dword [eax + 0x58], ecx
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov esi, dword [ebx + 0x54]
mov byte [esi + edx], 0
inc edx
cmp ebp, edx
jle 0x5d480b
mov ecx, dword [ebx + 0x58]
cmp edx, ecx
jb 0x5d47f6
jmp 0x5d4827
mov eax, dword [ebx + 0x5c]
cmp edx, eax
ja 0x5d481e
mov dword [ebx + 0x58], edx
mov byte [esp + 0x3c], 1
add esp, 0x30
ret
mov ecx, edx
mov edx, eax
call sym.runtime.panicSliceAcap
mov eax, edx
call sym.runtime.panicIndex
call sym.runtime.panicSliceAcap
inc dword [ebp + 0x64]
mov ebp, dword [esp + 0x38]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x6c]
cmp ecx, eax
je 0x5d47c8
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
mov esi, dword [ebx + 0x78]
mov edi, dword [ebx + 0x68]
sub ecx, eax
cmp esi, 1
jne 0x5d4959
mov esi, dword [esp + 0x2c]
cmp esi, eax
jbe 0x5d4ff0
movzx ebp, byte [edi + eax]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x5d4891
mov dword [esp + 0x1c], eax
mov eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
jmp 0x5d4900
xchg ebp, eax
mov byte [esp + 0xf], al
xchg ebp, eax
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x5d48b6
movzx ebp, byte [esp + 0xf]
mov ebp, 2
mov dword [esp + 0x10], ebp
movzx ebp, byte [esp + 0xf]
jmp 0x5d4900
movzx ebp, byte [esp + 0xf]
and ebp, 0xfffffff0
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x5d48da
movzx ebp, byte [esp + 0xf]
mov ebp, 3
mov dword [esp + 0x10], ebp
movzx ebp, byte [esp + 0xf]
jmp 0x5d4900
movzx ebp, byte [esp + 0xf]
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x5d4c7e
movzx ebp, byte [esp + 0xf]
mov ebp, 4
mov dword [esp + 0x10], ebp
movzx ebp, byte [esp + 0xf]
mov ebx, dword [esp + 0x10]
cmp ebx, ecx
jg 0x5d4782
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x5d4918
and ebp, 0x7f
jmp 0x5d494f
mov ecx, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x5d492b
and ecx, 0x1f
mov ebp, ecx
jmp 0x5d494f
mov ebp, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x5d493a
and ebp, 0xf
jmp 0x5d494f
mov ecx, ebp
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x5d494d
and ecx, 7
mov ebp, ecx
jmp 0x5d494f
xor ebp, ebp
mov ecx, 1
jmp 0x5d4eaf
lea ebp, [esi - 2]
cmp ebp, 1
ja 0x5d4e85
cmp ecx, 2
jl 0x5d47b6
cmp esi, 2
xchg ebp, ebx
setne bl
xchg ebp, ebx
xchg ebp, eax
movzx eax, al
xchg ebp, eax
lea edx, [ebp + eax]
mov ebx, dword [esp + 0x2c]
cmp ebx, edx
jbe 0x5d4e7c
mov dword [esp + 0x2c], edx
cmp esi, 2
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
movzx eax, al
xchg esi, eax
mov dword [esp + 0x14], esi
add esi, eax
movzx edx, byte [edx + edi]
cmp ebx, esi
jbe 0x5d4e73
mov dword [esp + 0x24], esi
movzx esi, byte [esi + edi]
shl esi, 8
add esi, edx
mov edx, esi
and esi, 0xfc00
cmp esi, 0xdc00
je 0x5d4d45
cmp esi, 0xd800
jne 0x5d4a48
cmp ecx, 4
jl 0x5d479a
lea ebp, [ebp + eax + 2]
cmp ebx, ebp
jbe 0x5d4e6a
mov ebp, dword [esp + 0x14]
lea ebp, [ebp + eax + 2]
mov esi, dword [esp + 0x2c]
movzx esi, byte [esi + edi + 2]
cmp ebx, ebp
jbe 0x5d4e61
mov ebx, dword [esp + 0x24]
movzx ebx, byte [ebx + edi + 2]
shl ebx, 8
add ebx, esi
mov ebp, ebx
and ebx, 0xfc00
cmp ebx, 0xdc00
jne 0x5d4cc2
and edx, 0x3ff
shl edx, 0xa
and ebp, 0x3ff
lea esi, [ebp + edx + 0x10000]
mov ecx, 4
jmp 0x5d4a4f
mov esi, edx
mov ecx, 2
cmp esi, 9
je 0x5d4a9c
cmp esi, 0xa
je 0x5d4a9c
cmp esi, 0xd
je 0x5d4a9c
lea ebx, [esi - 0x20]
cmp ebx, 0x5e
jbe 0x5d4a9c
cmp esi, 0x85
je 0x5d4a9c
lea ebx, [esi - 0xa0]
cmp ebx, 0xd75f
jbe 0x5d4a9c
lea ebx, [esi - 0xe000]
cmp ebx, 0x1ffd
jbe 0x5d4a9c
lea ebx, [esi - 0x10000]
cmp ebx, 0xfffff
ja 0x5d4de3
lea ebx, [ecx + eax]
mov ebp, dword [esp + 0x34]
mov dword [ebp + 0x74], ebx
add dword [ebp + 0x7c], ecx
cmp esi, 0x7f
jg 0x5d4acf
mov ecx, dword [ebp + 0x58]
mov eax, dword [esp + 0x28]
cmp eax, ecx
jae 0x5d4e5c
mov ebx, dword [ebp + 0x54]
xchg esi, ecx
mov byte [ebx + eax], cl
xchg esi, ecx
lea ebx, [eax + 1]
jmp 0x5d4833
cmp esi, 0x7ff
jg 0x5d4b25
mov ecx, dword [ebp + 0x58]
mov eax, dword [esp + 0x28]
cmp eax, ecx
jae 0x5d4e57
mov ebx, dword [ebp + 0x54]
mov edi, esi
sar esi, 6
add esi, 0xc0
xchg esi, ecx
mov byte [ebx + eax], cl
xchg esi, ecx
mov ecx, dword [ebp + 0x58]
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x5d4e50
mov ebx, dword [ebp + 0x54]
and edi, 0x3f
lea esi, [edi + 0x80]
xchg esi, ecx
mov byte [eax + ebx + 1], cl
xchg esi, ecx
lea ebx, [eax + 2]
jmp 0x5d4833
cmp esi, 0xffff
jg 0x5d4ba2
mov ecx, dword [ebp + 0x58]
mov eax, dword [esp + 0x28]
cmp eax, ecx
jae 0x5d4e4b
mov ebx, dword [ebp + 0x54]
mov edi, esi
sar esi, 0xc
add esi, 0xe0
xchg esi, ecx
mov byte [ebx + eax], cl
xchg esi, ecx
mov ecx, dword [ebp + 0x58]
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x5d4e44
mov ebx, dword [ebp + 0x54]
mov esi, edi
sar edi, 6
and edi, 0x3f
add edi, 0x80
xchg edi, ecx
mov byte [eax + ebx + 1], cl
xchg edi, ecx
mov ecx, dword [ebp + 0x58]
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x5d4e3d
mov ebx, dword [ebp + 0x54]
and esi, 0x3f
add esi, 0x80
xchg esi, ecx
mov byte [eax + ebx + 2], cl
xchg esi, ecx
lea ebx, [eax + 3]
jmp 0x5d4833
mov ecx, dword [ebp + 0x58]
mov eax, dword [esp + 0x28]
cmp eax, ecx
jae 0x5d4e38
mov ebx, dword [ebp + 0x54]
mov edi, esi
sar esi, 0x12
add esi, 0xf0
xchg esi, ecx
mov byte [ebx + eax], cl
xchg esi, ecx
mov ecx, dword [ebp + 0x58]
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x5d4e31
mov ebx, dword [ebp + 0x54]
mov esi, edi
sar edi, 0xc
and edi, 0x3f
add edi, 0x80
xchg edi, ecx
mov byte [eax + ebx + 1], cl
xchg edi, ecx
mov ecx, dword [ebp + 0x58]
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x5d4e2a
mov ebx, dword [ebp + 0x54]
mov edi, esi
sar esi, 6
and esi, 0x3f
add esi, 0x80
xchg esi, ecx
mov byte [eax + ebx + 2], cl
xchg esi, ecx
mov ecx, dword [ebp + 0x58]
lea ebx, [eax + 3]
cmp ecx, ebx
jbe 0x5d4e23
mov esi, dword [ebp + 0x54]
and edi, 0x3f
add edi, 0x80
xchg edi, ebx
mov byte [eax + esi + 3], bl
xchg edi, ebx
lea ebx, [eax + 4]
jmp 0x5d4833
mov eax, dword [ebx + 0x7c]
mov dword [ebx], 2
mov dword [ebx + 8], 0x1f
mov ecx, dword [0x84d1a0]
test ecx, ecx
je 0x5d4c62
mov ecx, dword [ebx + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x65d209]
mov dword [ebx + 4], ecx
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], 0xffffffff
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, dword [ebx + 0x7c]
mov dword [ebx], 2
mov dword [ebx + 8], 0x1b
mov ecx, dword [0x84d1a0]
test ecx, ecx
je 0x5d4ca2
mov ecx, dword [ebx + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x65b21d]
mov dword [ebx + 4], ecx
mov dword [ebx + 0xc], eax
movzx eax, byte [esp + 0xf]
movzx eax, al
mov dword [ebx + 0x10], eax
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x7c]
mov dword [eax], 2
mov dword [eax + 8], 0x1b
mov edx, dword [0x84d1a0]
test edx, edx
je 0x5d4cea
mov edx, dword [eax + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x65b253]
mov dword [eax + 4], edx
add ecx, 2
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebp
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, dword [ebx + 0x7c]
mov dword [ebx], 2
mov dword [ebx + 8], 0x20
mov ecx, dword [0x84d1a0]
test ecx, ecx
je 0x5d4d29
mov ecx, dword [ebx + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x65d9e2]
mov dword [ebx + 4], ecx
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], 0xffffffff
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x7c]
mov dword [eax], 2
mov dword [eax + 8], 0x1d
mov ebx, dword [0x84d1a0]
test ebx, ebx
je 0x5d4d6d
mov ebx, dword [eax + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x65c1f4]
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, dword [ebx + 0x7c]
mov dword [ebx], 2
mov dword [ebx + 8], 0x1b
mov ecx, dword [0x84d1a0]
test ecx, ecx
je 0x5d4da9
mov ecx, dword [ebx + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x65b238]
mov dword [ebx + 4], ecx
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], 0xffffffff
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov ecx, dword [ebx + 0x58]
cmp edx, ecx
jae 0x5d4ddc
mov esi, dword [ebx + 0x54]
mov byte [esi + edx], 0
inc dword [ebx + 0x64]
inc edx
jmp 0x5d47fe
mov eax, edx
call sym.runtime.panicIndex
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x7c]
mov dword [eax], 2
mov dword [eax + 8], 0x22
mov edx, dword [0x84d1a0]
test edx, edx
je 0x5d4e0b
mov edx, dword [eax + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x65e63a]
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], esi
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, esi
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndex
lea eax, [0x619a20]
mov dword [esp], eax
lea eax, [0x6aa050]
mov dword [esp + 4], eax
call sym.runtime.gopanic
shl ebp, 6
movzx edx, byte [esp + 0xf]
and edx, 0x3f
inc ecx
add ebp, edx
mov edx, dword [esp + 0x28]
cmp ecx, ebx
jge 0x5d4f18
lea edx, [ecx + eax]
cmp esi, edx
jbe 0x5d4fe7
movzx edx, byte [edx + edi]
mov byte [esp + 0xf], dl
and edx, 0xffffffc0
cmp dl, 0x80
je 0x5d4e9d
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x7c]
mov dword [eax], 2
mov dword [eax + 8], 0x1c
mov ebx, dword [0x84d1a0]
add ecx, edx
test ebx, ebx
je 0x5d4ef8
mov edx, dword [eax + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x65bad4]
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
movzx ecx, byte [esp + 0xf]
movzx ecx, cl
mov dword [eax + 0x10], ecx
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
cmp ebx, 1
je 0x5d4f44
cmp ebx, 2
jne 0x5d4f2a
cmp ebp, 0x80
jge 0x5d4f44
cmp ebx, 3
jne 0x5d4f37
cmp ebp, 0x800
jge 0x5d4f44
cmp ebx, 4
jne 0x5d4fa3
cmp ebp, 0x10000
jl 0x5d4fa3
lea esi, [ebp - 0xd800]
cmp esi, 0x7ff
jbe 0x5d4f63
cmp ebp, 0x10ffff
jg 0x5d4f63
mov esi, ebp
mov ecx, ebx
jmp 0x5d4a4f
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x7c]
mov dword [eax], 2
mov dword [eax + 8], 0x19
mov edx, dword [0x84d1a0]
test edx, edx
je 0x5d4f8b
mov edx, dword [eax + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x65a259]
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebp
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x7c]
mov dword [eax], 2
mov dword [eax + 8], 0x22
mov edx, dword [0x84d1a0]
test edx, edx
je 0x5d4fcb
mov edx, dword [eax + 4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x65e618]
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0xffffffff
mov byte [esp + 0x3c], 0
add esp, 0x30
ret
mov eax, edx
mov ecx, esi
call sym.runtime.panicIndex
mov ecx, esi
call sym.runtime.panicIndex
lea eax, [0x619a20]
mov dword [esp], eax
lea eax, [0x6aa0b8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.gopkg.in_yaml_2ev2.yaml_parser_update_buffer