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

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c5d30
sub esp, 0x58
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call sym.cmd_internal_dwarf.determineVarAbbrev
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
movzx ecx, byte [esp + 0xd]
mov byte [esp + 0x36], cl
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov esi, eax
sar eax, 0x1f
movzx edi, byte [esp + 0xc]
xchg edi, eax
mov byte [esp + 0x35], al
xchg edi, eax
mov edi, dword [esp + 0x5c]
mov dword [esp], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call sym.cmd_internal_dwarf.Uleb128put
movzx eax, byte [esp + 0x36]
test al, al
je 0x4c57cf
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 6
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0x70]
mov dword [esp + 0x28], esi
call sym.cmd_internal_dwarf.putattr
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov esi, dword [esp + 0x68]
mov edi, dword [esi + 0x38]
mov edx, dword [esp + 0x60]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x18], ebx
call ecx
jmp 0x4c5a16
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0x3c]
mov ebp, ebx
sar ebx, 0x1f
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x5c]
mov dword [esp], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [0x5c9180]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call sym.cmd_internal_dwarf.putattr
mov eax, dword [esp + 0x48]
cmp eax, 0x11
je 0x4c585c
cmp eax, 0x12
je 0x4c585c
cmp eax, 0x13
jne 0x4c58be
mov ecx, dword [esp + 0x68]
movzx edx, byte [ecx + 0xc]
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
mov edi, dword [esp + 0x5c]
mov dword [esp], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0xc
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call sym.cmd_internal_dwarf.putattr
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov ebp, dword [esp + 0x68]
mov esi, dword [ebp + 0x2c]
mov edi, dword [esp + 0x5c]
mov dword [esp], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0xf
mov dword [esp + 0x18], 3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call sym.cmd_internal_dwarf.putattr
mov eax, dword [esp + 0x68]
movzx ecx, word [eax + 0xe]
test cx, cx
jbe 0x4c59ba
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + 0x60]
test ebx, ebx
je 0x4c59be
mov ebp, dword [edx + 0x64]
lea esi, [ecx - 1]
movzx esi, si
cmp ebp, esi
jbe 0x4c5d26
lea ecx, [ebx + esi*8]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test ecx, ecx
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x4c59be
mov eax, dword [edx + 0xc]
mov ebp, dword [edx + 8]
mov esi, dword [esp + 0x5c]
mov dword [esp], esi
mov edi, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x48]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 6
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], eax
call sym.cmd_internal_dwarf.putattr
jmp 0x4c5a16
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 8]
mov ebx, dword [edx + 0xc]
mov ebp, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
mov edi, dword [esp + 0x5c]
mov dword [esp], edi
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 6
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
call sym.cmd_internal_dwarf.putattr
nop
mov eax, dword [esp + 0x48]
cmp eax, 0x10
jg 0x4c5a33
cmp eax, 0xd
je 0x4c5b31
cmp eax, 0x10
jne 0x4c5a45
jmp 0x4c5b31
cmp eax, 0x12
je 0x4c5b31
cmp eax, 0x15
je 0x4c5b31
movzx ecx, byte [esp + 0x35]
test cl, cl
jne 0x4c5b1f
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x4c5ac5
mov edx, dword [esp + 0x84]
test edx, edx
je 0x4c5a6e
mov ebx, dword [esp + 0x7c]
jmp 0x4c5ab0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea eax, [0x5c9200]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov edx, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x68]
mov byte [ebx], 0x91
mov ecx, dword [ecx + 0x10]
mov ebp, ecx
sar ecx, 0x1f
mov esi, 1
jmp 0x4c5c56
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x4c5ad6
mov edx, dword [esp + 0x7c]
jmp 0x4c5b12
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea eax, [0x5c9200]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x48]
mov byte [edx], 0x9c
mov ebx, 1
jmp 0x4c5bdd
xor ebx, ebx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
jmp 0x4c5bdd
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x40]
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0x14]
mov esi, dword [esp + 0x60]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x17
mov dword [esp + 0x18], 5
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edi
call sym.cmd_internal_dwarf.putattr
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x14]
mov eax, dword [edx]
mov ecx, dword [esp + 0x64]
mov ebx, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x14]
mov esi, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
call eax
add esp, 0x58
ret
mov dword [esp + 0x40], ebx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.convTslice
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x40]
mov ebx, edx
sar edx, 0x1f
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x5c]
mov dword [esp], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x18], 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
lea eax, [0x5c4c60]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebp
call sym.cmd_internal_dwarf.putattr
jmp 0x4c5bd9
mov esi, eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebp
mov edi, ecx
sar ecx, 7
shr ebp, 7
shl edi, 0x19
or ebp, edi
mov edi, dword [esp + 0x38]
and edi, 0x7f
mov eax, dword [esp + 0x38]
and eax, 0x40
cmp ebp, 0xffffffff
setne bl
cmp ecx, 0xffffffff
setne dl
or edx, ebx
test dl, dl
jne 0x4c5c93
test al, al
jne 0x4c5caa
test ecx, ecx
setne dl
test ebp, ebp
setne bl
or edx, ebx
test dl, dl
jne 0x4c5ca7
test al, al
je 0x4c5caa
or edi, 0xffffff80
lea eax, [esi + 1]
mov edx, dword [esp + 0x44]
cmp edx, eax
jb 0x4c5cbb
mov ebx, dword [esp + 0x54]
jmp 0x4c5d08
mov dword [esp + 0x50], ecx
xchg edi, eax
mov byte [esp + 0x37], al
xchg edi, eax
mov dword [esp + 0x4c], ebp
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5c9200]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
movzx edi, byte [esp + 0x37]
xchg edi, ecx
mov byte [eax + ebx - 1], cl
xchg edi, ecx
xchg edi, eax
test al, 0x80
xchg edi, eax
jne 0x4c5c54
mov ecx, edx
mov edx, ebx
mov ebx, eax
jmp 0x4c5bdd
mov eax, esi
mov ecx, ebp
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_dwarf.putvar