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

Disassembly:
mov ecx, dword [0x71d934]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5466cb
sub esp, 0x58
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x3c], eax
xor ecx, ecx
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
jmp 0x546185
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edi, ebp
mov ebp, ebx
mov ebx, edx
mov edx, dword [esp + 0x48]
test eax, eax
je 0x5464a1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], esi
xchg edi, eax
mov byte [esp + 0x21], al
xchg edi, eax
mov dword [esp + 0x48], edx
xchg ebp, eax
mov byte [esp + 0x1f], al
xchg ebp, eax
mov byte [esp + 0x20], bl
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0xa
call sym.internal_bytealg.IndexByte
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x5461fe
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x5466c5
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x24]
cmp ebx, eax
jb 0x5466be
sub ebx, ecx
mov ebp, edx
sub edx, ecx
dec edx
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x48]
add eax, edx
dec ebx
jmp 0x546224
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebp, edx
sub ebp, ecx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
mov edi, dword [esp + 0x48]
lea eax, [edi + ebp]
mov ebp, edx
xor ebx, ebx
mov edx, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call sym.bytes.TrimSpace
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x54627e
movzx ebx, byte [esp + 0x20]
test bl, bl
jne 0x546283
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
sub eax, ecx
mov edx, ebx
movzx ebx, byte [esp + 0x1f]
mov ecx, dword [esp + 0x38]
movzx ebp, byte [esp + 0x21]
mov esi, dword [esp + 0x54]
mov edi, eax
mov eax, dword [esp + 0x3c]
jmp 0x546167
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov ebp, dword [0x6f3f24]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x4c], esi
cmp ebp, eax
jg 0x5462db
mov eax, dword [0x6f3f20]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x5462cf
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
movzx edx, byte [esp + 0x20]
jmp 0x5462e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
mov edx, 1
mov byte [esp + 0x20], dl
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x5462f1
xor ebp, ebp
jmp 0x54631e
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.go_build.isGoBuildComment
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x20]
movzx ebx, byte [esp + 0x1f]
mov esi, dword [esp + 0x4c]
mov ebp, eax
mov eax, dword [esp + 0x2c]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x546338
mov ebp, dword [esp + 0x54]
test ebp, ebp
jne 0x54644b
test bl, bl
mov ebp, ecx
mov edi, eax
jmp 0x54634a
test bl, bl
mov ebp, ecx
mov edi, eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], esi
je 0x54636e
mov dword [esp + 0x40], eax
movzx eax, byte [esp + 0x21]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x40]
jmp 0x54651c
lea esi, [0x6f3f80]
cmp dword [esi + 4], edi
je 0x546389
xor esi, esi
xchg esi, eax
mov byte [esp + 0x1e], al
xchg esi, eax
lea esi, [0x6f3f80]
jmp 0x5463cc
mov eax, dword [str.__go:binary_only_package]
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0x20]
movzx ebx, byte [esp + 0x1f]
mov ebp, dword [esp + 0x30]
lea esi, [0x6f3f80]
mov edi, dword [esp + 0x2c]
mov byte [esp + 0x1e], al
mov eax, dword [esp + 0x38]
movzx esi, byte [esp + 0x1e]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5463ef
mov esi, dword [esp + 0x50]
mov esi, 1
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
mov esi, dword [esp + 0x50]
jmp 0x54651c
mov esi, dword [esp + 0x50]
movzx esi, byte [esp + 0x21]
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
mov esi, dword [esp + 0x50]
jmp 0x54651c
mov eax, dword [esp + 0x38]
movzx ebp, byte [esp + 0x23]
mov edi, dword [esp + 0x34]
jmp 0x546167
movzx edx, byte [esp + 0x20]
movzx ebx, byte [esp + 0x22]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
movzx ebp, byte [esp + 0x23]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x34]
jmp 0x546167
movzx ebp, byte [esp + 0x23]
mov edi, dword [esp + 0x34]
jmp 0x546167
mov eax, dword [0x6f39e0]
mov ecx, dword [0x6f39e4]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov byte [esp + 0x80], 0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
add esp, 0x58
ret
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
cmp edx, ebx
jb 0x5464f4
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
xchg edi, eax
mov byte [esp + 0x80], al
xchg edi, eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x58
ret
mov ecx, ebx
call sym.runtime.panicSliceAcap
movzx ebx, byte [esp + 0x22]
xor ebx, 1
mov esi, dword [esp + 0x50]
mov edi, ecx
mov dword [esp + 0x4c], eax
mov ebp, edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0x20]
test edi, edi
je 0x54643d
mov byte [esp + 0x22], bl
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
test bl, bl
jne 0x54661c
mov eax, dword [0x6f3f24]
cmp edi, eax
jge 0x546546
xor eax, eax
jmp 0x54657f
mov ecx, dword [0x6f3f20]
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0x20]
movzx ebx, byte [esp + 0x22]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x2c]
test al, al
jne 0x546407
mov eax, dword [0x6f3f34]
cmp edi, eax
jge 0x546595
xor eax, eax
jmp 0x5465ce
mov ecx, dword [0x6f3f30]
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0x20]
movzx ebx, byte [esp + 0x22]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x2c]
test al, al
je 0x5466a2
mov eax, dword [0x6f3f34]
cmp edi, eax
jb 0x5466b7
sub ebp, eax
sub edi, eax
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
mov eax, dword [esp + 0x4c]
add eax, ebp
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call sym.bytes.TrimSpace
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x5464fb
mov eax, dword [0x6f3f40]
mov ecx, dword [0x6f3f44]
mov edx, dword [0x6f3f48]
mov ebx, dword [esp + 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call sym.bytes.Index
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x546419
mov edx, dword [0x6f3f44]
add eax, edx
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jb 0x5466b2
mov edx, dword [esp + 0x30]
sub edx, eax
sub ecx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x4c]
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.bytes.TrimSpace
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x5464fb
mov eax, ecx
mov ecx, dword [esp + 0x38]
movzx edi, byte [esp + 0x23]
jmp 0x5464a9
call sym.runtime.panicSliceB
mov ecx, edi
call sym.runtime.panicSliceB
mov ecx, ebx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
nop
call sym.runtime.morestack_noctxt
jmp sym.go_build.parseFileHeader